From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E150CECE57A for ; Mon, 9 Sep 2024 15:27:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version: Content-Transfer-Encoding:Content-Type:In-Reply-To:From:References:Cc:To: Subject:Date:Message-ID:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=2Kk3JOV8Kvyc6/McT5XVhUiho6krY+2mt/nFUUgoO68=; b=gb2kSfPrVsgP8KIZS7yJzBHpq6 vGHCM/gweSj79I7iW5VvRdJutXwiPo4bZo5k+HPXQqb8OlgnYzQfPFx/D9Lh1Yj7e8IZtY7FIdDGB eLap3M/+BdCk9VYk+/wZZ4I9cY2YeXBs6NzumvFJgWeWVfRjrZckm+71kKPWi5lZARfxhxw4Vz5Pd t7fsEXTtOFGdfKqVrv3KJS2u41OKpZMTF5FBJMpIM1hUOBSb4oLsEJE+bZ5BcmALWoLcPlHsfmpri ohBJjokjhdG0Epqnbcj5SA4+G0fRwCjRcuc0YGNxvWgHL7sgfU1BTkIBrmSnUiVpbGnvK5XPbmzUD SaOfIrCQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sngI9-00000002Sz9-3CCa; Mon, 09 Sep 2024 15:27:01 +0000 Received: from mail-mw2nam12on20610.outbound.protection.outlook.com ([2a01:111:f403:200a::610] helo=NAM12-MW2-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sng7S-00000002QNf-1LSD for linux-arm-kernel@lists.infradead.org; Mon, 09 Sep 2024 15:16:00 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=h7wDli+K7S/dZK3wHN0aI9hR7R/5njLaG3XPyD1OeJ/9PZD0GZ6viqsB9zuSZ619Gr5DeMPF9Dt50jscm1R+UPD4zqHcyihvkvmNW4E+/TABWdvsIfLfXir+XvTQoPtRtclzc5/dVolgWSrI2w2uho6PBtCZfTwRsVqT/vnRGG1N4bSVpFIMXPRWN4Y27763i/43pfCe0PqgUNCtJJwnKw1gAK4AuKWkNDqBiZeGP1mvgPeT05PzsAKjnE1k6jInJ4zUHIBm+H9ek5sA+KK0HteVlX3EnUaM0m9BKwjzA41OfnbQh4EwslR0FGMRenvFHsy+2qpPjeNgc85cUQobiw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=2Kk3JOV8Kvyc6/McT5XVhUiho6krY+2mt/nFUUgoO68=; b=ZnOD1p+KG6eoWW5YiS1J5PHI9i0c/6YDIncPsbCaT/TG5SigBCMrcLqrr/VA/3r0PHIV5MFsrQGZcrsOMJaRMJ+OdImeE2qHgY0YZ1C1V1Rm73A6Knc7ks7lPtsF8RVWSY1ddcKNmBJHrjxya1EgS2WHpEg1qXsImEjnHMN0/xXeoBRzV+lD2GoDeli2AFOlbH11iVFmIWGf8W+MZc4I/yRcjSUZiqFfdh2FGmUl5DSfvfBgJ2JGmDW6voNx2jfi0PgKpqS1HGF7SYo9kE3yxv/o775DFkl59wbmiK796PQmQKP/0Nj4J0q+Lz8+zPwDUUhzMHc9+HrSD4vbXzjosg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2Kk3JOV8Kvyc6/McT5XVhUiho6krY+2mt/nFUUgoO68=; b=QQdw73mdhcQslFAn+ZkV0xNEMhqYaMMGavadjhFYD4oWUBXB1q0kFCXcs5Xem0V7aVaUwyycUL0H4rJX2+uOVpClpGnxsCAY/Sqi33SD5WKsmNYN08aNULaK+yl6ZZ2iBDNsw4CInQB4COYZYK7gmXLH2idPp9ewYcsavGUChhkUBqd7H7k6LV+1l6Q7SDr2c1wlUCfsl50Z78n03xeZ7el3uyEcrAiJ9/g0P/9INJWkkJ1kzwl56JG3vP+34Ed/I5kX0LV2yTfdj9nytZNyfyGFmDIHmooQVAd8R+1MbZWhAxhmf3dgL4L6+XcYzHmbwELBUA0ZYOcym+Hfs3GX+w== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from CY8PR12MB8194.namprd12.prod.outlook.com (2603:10b6:930:76::5) by DM6PR12MB4355.namprd12.prod.outlook.com (2603:10b6:5:2a3::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.24; Mon, 9 Sep 2024 15:15:43 +0000 Received: from CY8PR12MB8194.namprd12.prod.outlook.com ([fe80::82b9:9338:947f:fc9]) by CY8PR12MB8194.namprd12.prod.outlook.com ([fe80::82b9:9338:947f:fc9%6]) with mapi id 15.20.7939.022; Mon, 9 Sep 2024 15:15:43 +0000 Message-ID: <5bbb2577-59e8-423e-9e59-cc584d9e09fa@nvidia.com> Date: Mon, 9 Sep 2024 10:15:39 -0500 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v5 05/19] arm64: Detect if in a realm and set RIPAS RAM To: Steven Price , Suzuki K Poulose , kvm@vger.kernel.org, kvmarm@lists.linux.dev Cc: Catalin Marinas , Marc Zyngier , Will Deacon , James Morse , Oliver Upton , Zenghui Yu , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Joey Gouly , Alexandru Elisei , Christoffer Dall , Fuad Tabba , linux-coco@lists.linux.dev, Ganapatrao Kulkarni , Gavin Shan , Alper Gun References: <20240819131924.372366-1-steven.price@arm.com> <20240819131924.372366-6-steven.price@arm.com> Content-Language: en-US From: Shanker Donthineni In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: BL1PR13CA0342.namprd13.prod.outlook.com (2603:10b6:208:2c6::17) To CY8PR12MB8194.namprd12.prod.outlook.com (2603:10b6:930:76::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY8PR12MB8194:EE_|DM6PR12MB4355:EE_ X-MS-Office365-Filtering-Correlation-Id: 0019fb82-20a0-41e6-9e2e-08dcd0e245d1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|7416014|366016; X-Microsoft-Antispam-Message-Info: =?utf-8?B?WTJuY3RnWUVZMFV2ams0cnBJUE9IL2hxa0NOV2J4RTg2aFR2cTJPZEx1aWxT?= =?utf-8?B?d2Z3R0FxTG82N3liemR1RkJBV2x5R0ZSU05BOUF5eCtIU0hVQkhNMzdnSWRP?= =?utf-8?B?Z1VtTHFpVjJPWkhpNVk4MjYzOUdlS0lqV0twNWdvRkduMmR2SGhVbk9VQ1Fm?= =?utf-8?B?cUZCTWs2akhKdVRYSUQwU1ZlemNwdGluaTJRNHNJSVc0djJCdU1kWG5XMmZu?= =?utf-8?B?VXhIUWxiZnRpdGlrWHB6VkY0NHVyU3pLOXBISFlEcWNFNXZqMk1HU0FTakRa?= =?utf-8?B?WHhVWXgyMTI4TFFpQ3gyanI5N3J4YWdWcmJuRW42azhyYUxzZHowbko4STlW?= =?utf-8?B?dmRlMW90dVk3dHVZb0NwSEYwTU5EWTRHSnZ0WFdFTVd6Q1d0aVJXYW0vU0l1?= =?utf-8?B?RSszdnhtbUY1MGtwcVpoT2VaMHpTWUdobGJiUFhqaFVZVlV0REdnMjVtZERk?= =?utf-8?B?NVNFVTJvZGJrUmtkc3FFcFJobmw0Z2RLMzlLMWl0K1lkSElXekgrSFVKTHFE?= =?utf-8?B?cFJNam9XRWpvemx6Zmdjd2JKK1VBOUt1R25obklRdXZMOXhVZVM3RnlrMnZV?= =?utf-8?B?QU1weVlnWkxvbzJjcngzZElhNkFjdExLT3Zwc2d1MlR3T2tZekFDRDdPa1ho?= =?utf-8?B?OC9WYTZmSGpHWFFlcnV4VnozczV0VGdoWXozOUhZZGhsdGFsVTMyUmo5MXBh?= =?utf-8?B?S0pBbjQwVGxJYnRqbFprOVpOVmhGenh6SlhCQldWODdaTzNuV0Vwa3pNVmNS?= =?utf-8?B?UmNSa3QzS0FkNTFUd2lhL1dXaERTSEZ4N0NkN3dnNTMvdFZOZ2ZvZ0N2Mm1W?= =?utf-8?B?cm5sakdXTjUvSko5UytsZWowWGJEcHVNMzgzQUxvTFVHS29oeUVjTjNRMXdC?= =?utf-8?B?NmhsWHpYVU5ud3VyY3RYd2NXZW96eW4wTEtJNmVycHVGdDFtb1gyV2xxUFNy?= =?utf-8?B?dndGbitKYUhnbWs5YW1jaHB2bmZ4NlRJNWtqUXplS1pwT3kzTVAra0NkMlJ6?= =?utf-8?B?N0srU3dGblpDaEtDcE1BNzMzNGM2SFdkK3NXSTZMa0dyTHo4VXFPMCtDNjVC?= =?utf-8?B?Q09mRStjWmx4YWxMcXYvNmhVQlRWOGg0U0oyL1NBaDV3aVorM3VzRnUwZE81?= =?utf-8?B?REIrbklJbnlQRFhaNjM5MkFoNzhWMGZjSko1eFB5K0Q4cy9TbnErU05HMzdF?= =?utf-8?B?YXE4M2xXS3VXVmN3enNHcmlWZktzWjlmc2trYjdMMkxDcEpwaVl4YkhPRE9M?= =?utf-8?B?WTI1OTErTlNpbkZkVHU5bC9LVjYxejdqRGVrMUIveDh2TFBrL1pCR3hUaElM?= =?utf-8?B?TkEveVNHN3U5MTZab3ZubjdWd0t2MEJEQ3VzbG1Yb3h5Ty9SVC9XQTd4LzVW?= =?utf-8?B?SktQWjhzVXZId09od0YxWk5yQktqTG5wdGF5Q1RWTE4rcFJDMEdodCswdWdU?= =?utf-8?B?UjVnQWJTVXR4M01FSDE2WW0xcHIwQk1LTGFVRm9mMk1xdmVRbFprL3dzdVhm?= =?utf-8?B?WVdLL3JuMWdvUS92bEZnaVhiYXFGRGFTdEsxSEtoekJ1R1dhckI1TWtzdWYx?= =?utf-8?B?dmZzL0J4RWp1Y2c3NFBpQjJkVTF4ejdRMm9qUHhrSUtZZDQwS2Q2cXYzbm4w?= =?utf-8?B?NkkvSE1rRHdNZFpoUy9ISlJWVnk0aFN1MHJ0cHJFTjJBcFp0ZjUyM0YwUXV3?= =?utf-8?B?bks4T3lsaVBuYVZ1MkZnVm11VlF1WDR3QTZDbThyZDNRdGMvMHFlSUlsemVF?= =?utf-8?B?UzlvRlgxakZQVWtKSTBOMEhoUkpSZkRFNkJET2FTVmY3bDhJTVEwSlpQYmZR?= =?utf-8?B?QXFJak5aWGp1akNHOXBCUT09?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY8PR12MB8194.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(7416014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?eWsrUTNpeVp3ZWkra1dHN1B2TjNPcHFBdjFZMmI4TkE1aTI1a2J4ZEtmaU92?= =?utf-8?B?UU9zMGVFSng5ZW1YckZQT1ZFcHdRQUozZHF4amdmbng4d2t1TzZ3ZDNkREQr?= =?utf-8?B?VHZKZWY2WG9KVExPMWhiOGVEMUE4SWl6Z3pqWFhab1RZMWQxMDQ3MFNvQ1dl?= =?utf-8?B?SXAxNnVLa2N0MzJyVUdFQ3NINDJlNFBEUENIYWZvdm5TTXl6MnFHc2lNajRJ?= =?utf-8?B?Rk5MOS95bTRCdUdTYmlYK2R3S0xNYmovb2M3blc3MzJWVXAvc1Z0YmQ1ek5U?= =?utf-8?B?b213VW5RdTJaZE4raGlMSTVJR2tNaWFnbFk2eVZMNkIxNm5uRTNHR0xZM1Z4?= =?utf-8?B?SnRzMjllMzlScWlFK0Z3aDliTWVVeUtaWVcwZlhybVBScjVaK0xDWXpoQUJD?= =?utf-8?B?b3EwYjhTYXNycTBiRzJjKzFUUGlrSUo5K1A0QStvcERLblFhSGF0eGFYQkpU?= =?utf-8?B?L1NVRGN3TVRxajdaN3Jwa3pPdTBjL3c3N1ZrU21wTVp3d3dzQVVCcWI2NXlQ?= =?utf-8?B?bmxSay9DVVc5SFJ0aGdhcTBjVmU0c2RvU2loLzR2OSszSFF1dVVUYUQ1UWpn?= =?utf-8?B?WU1HZTlmbVY2TnYyVEpBeWx6UndHOXFKRnhVSFk3RXlyckE3V2NxSmUxSDFL?= =?utf-8?B?eHREWVU1U01GbTVMVVV0Z21FSzBpWU15ZGJOa3ppSFBFaDljWldZeFkrcFRP?= =?utf-8?B?SC84VUxwT2hJc1BNL2NOTWQ3d3ZvSUtnQ1krQjUyR0lKUzhNZzhZVU5lcHV6?= =?utf-8?B?YUg3S2Y4SGtqRjFyeUVzSzV0TmlQS0c0RkhHTDg1YU1pZUFGZndhd0FxTlVG?= =?utf-8?B?Q0l5VWcxNCt1QkR2amlOWGtENm40Ylc0OWZtTzVMODhMWDJsZktmV0IxK3dM?= =?utf-8?B?NGdzbGJyZHhpdHdaR1FINjBIWlhSTUlqdUJtTlozbHZvM05zelJyVk1YcjZj?= =?utf-8?B?RDlxZmN4dXdvY09TN2dnOXBjMjJtYUxIVU1qV1l6RHVSTmtBOUNydDBzMVBU?= =?utf-8?B?NlNUUWJKN0ZCUlF2QWh2RGxvcXJKZ1pONjlRbVdIZ3RFWHRnY1pvbHVvQmN5?= =?utf-8?B?cmw5MXlvK1ZoOVJ3RE9tbUt6dVBzcWFSN3dMZW9jTEV5aTd1dWxmbFNsYSta?= =?utf-8?B?TkpsdHpUZjRRdEFZWjhkN1dDdDFrOHNnSGZXV1dTeURFWFhncWVpRU9FY21i?= =?utf-8?B?RjJQaW1OWVBpMk9mSGUzeHNYUHlSRkgzNDBpakkxQVRRTkJtMGpCL3cxRlgz?= =?utf-8?B?V2xseTlpODVRZlNON0RYUXN1b1VsMU93OEQyaGdCWExUOU9xR0dBZW9ZVTBz?= =?utf-8?B?czRpQ1R0TlFOaDNPdXZvZEZGWk03dHYzZitKSnk1ZmJ2c2txTnVJMGtqZ2lZ?= =?utf-8?B?L0FLcG9tci8zajFLVnc5aVZRUG4yMHlNaTkxMk9SaCtYUkFteENuYllJaGZ2?= =?utf-8?B?VFpqeEhGRlZwZ0pSbG00d29mVFhqMnVCYXFvMkZBeDdzaHcwQjRkZWptZUl0?= =?utf-8?B?OFNnMXlKcU00Z2I1WjNCMG9VaG9nOU5JNUJGZFc4NGw1SnpXTk11WmYwZk9n?= =?utf-8?B?Uit2eWI2Y2xuZlVDTTk2bnBmWTBqb3FTcGFTOStVZmdUR2svUkJxT2EveWIx?= =?utf-8?B?djREa3NROWZoNnBwak1XZWtzZ2RoS2o4Z0JCN1J1R0FqRGhRb1ZwdDRQRnhv?= =?utf-8?B?c1huZmpzVzNCc3pacG1YbDgyWU1ubkhIYWg3K3Y0YjVaS0ZxZHdTM1dhLzR5?= =?utf-8?B?dnpmVWkrWjRncVpRb0JvaXlRWkxiZUpsU1NGaU8rQkc0dk9hZVNhWkQ5Tkw5?= =?utf-8?B?WTVJSmxJem9Nc2pXa1UvSU55WE8rb0VaZ3ptNENPTXFrWTdpZGhrUHlwcGhx?= =?utf-8?B?OGtTRVRtMUhUd0JTUGF4QmY3MWdpK2M0WWtmbnl6TEhqMXNSM2tXeXVNYVR6?= =?utf-8?B?Skp1Z2hqek5qOHlhSkhEZmtDVXlvaUlpL21MNU9NTWVmbm83Y3NQTVlCNmZm?= =?utf-8?B?WWxvOTZKS1hndkU3SExMTThYcXZhQTE0MmxnSTBpWjh4ZlVLWGJJd0lWSFNr?= =?utf-8?B?UmJrTU45R2R2QlZNN1NnR3RXNlhXNUNLWUtNb2plQUNzcVpsVEJqT0ZmSjJ4?= =?utf-8?Q?5viLJEe3t7xyrjyKc3NCp49zO?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0019fb82-20a0-41e6-9e2e-08dcd0e245d1 X-MS-Exchange-CrossTenant-AuthSource: CY8PR12MB8194.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Sep 2024 15:15:43.4382 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 1LQKn/4GpB5uT1+ePTESbxaYTIT7GJ4XYd8l5I9Qlh07DtETwoMj4lZBaKk3nZShUPEA6WPBGqBY+bg0BprPVA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4355 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240909_081558_443688_2E3E3523 X-CRM114-Status: GOOD ( 17.49 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hi Steven, On 8/19/24 09:10, Steven Price wrote: > External email: Use caution opening links or attachments > > > On 19/08/2024 15:04, Suzuki K Poulose wrote: >> Hi Steven >> >> On 19/08/2024 14:19, Steven Price wrote: >>> From: Suzuki K Poulose >>> >>> Detect that the VM is a realm guest by the presence of the RSI >>> interface. >>> >>> If in a realm then all memory needs to be marked as RIPAS RAM initially, >>> the loader may or may not have done this for us. To be sure iterate over >>> all RAM and mark it as such. Any failure is fatal as that implies the >>> RAM regions passed to Linux are incorrect - which would mean failing >>> later when attempting to access non-existent RAM. >>> >>> Signed-off-by: Suzuki K Poulose >>> Co-developed-by: Steven Price >>> Signed-off-by: Steven Price >>> --- >>> Changes since v4: >>> * Minor tidy ups. >>> Changes since v3: >>> * Provide safe/unsafe versions for converting memory to protected, >>> using the safer version only for the early boot. >>> * Use the new psci_early_test_conduit() function to avoid calling an >>> SMC if EL3 is not present (or not configured to handle an SMC). >>> Changes since v2: >>> * Use DECLARE_STATIC_KEY_FALSE rather than "extern struct >>> static_key_false". >>> * Rename set_memory_range() to rsi_set_memory_range(). >>> * Downgrade some BUG()s to WARN()s and handle the condition by >>> propagating up the stack. Comment the remaining case that ends in a >>> BUG() to explain why. >>> * Rely on the return from rsi_request_version() rather than checking >>> the version the RMM claims to support. >>> * Rename the generic sounding arm64_setup_memory() to >>> arm64_rsi_setup_memory() and move the call site to setup_arch(). >>> --- >>> arch/arm64/include/asm/rsi.h | 65 ++++++++++++++++++++++++++++++ >>> arch/arm64/kernel/Makefile |  3 +- >>> arch/arm64/kernel/rsi.c | 78 ++++++++++++++++++++++++++++++++++++ >>> arch/arm64/kernel/setup.c |  8 ++++ >>> 4 files changed, 153 insertions(+), 1 deletion(-) >>> create mode 100644 arch/arm64/include/asm/rsi.h >>> create mode 100644 arch/arm64/kernel/rsi.c >>> >>> diff --git a/arch/arm64/include/asm/rsi.h b/arch/arm64/include/asm/rsi.h >>> new file mode 100644 >>> index 000000000000..2bc013badbc3 >>> --- /dev/null >>> +++ b/arch/arm64/include/asm/rsi.h >>> @@ -0,0 +1,65 @@ >>> +/* SPDX-License-Identifier: GPL-2.0-only */ >>> +/* >>> + * Copyright (C) 2024 ARM Ltd. >>> + */ >>> + >>> +#ifndef __ASM_RSI_H_ >>> +#define __ASM_RSI_H_ >>> + >>> +#include >>> +#include The error number macros are used in this file, but the header file '' is not included. >>> + >>> +DECLARE_STATIC_KEY_FALSE(rsi_present); >>> + >>> +void __init arm64_rsi_init(void); >>> +void __init arm64_rsi_setup_memory(void); >>> +static inline bool is_realm_world(void) >>> +{ >>> + return static_branch_unlikely(&rsi_present); >>> +} >>> + >>> +static inline int rsi_set_memory_range(phys_addr_t start, phys_addr_t >>> end, >>> + enum ripas state, unsigned long flags) >>> +{ >>> + unsigned long ret; >>> + phys_addr_t top; >>> + >>> + while (start != end) { >>> + ret = rsi_set_addr_range_state(start, end, state, flags, &top); >>> + if (WARN_ON(ret || top < start || top > end)) >>> + return -EINVAL; >>> + start = top; >>> + } >>> + >>> + return 0; -Shanker