From patchwork Fri Aug 2 12:14:40 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ayan Kumar Halder X-Patchwork-Id: 13751504 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 lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (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 D4091C52D6F for ; Fri, 2 Aug 2024 12:15:18 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.771053.1181630 (Exim 4.92) (envelope-from ) id 1sZrBZ-0002u8-Ms; Fri, 02 Aug 2024 12:15:05 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 771053.1181630; Fri, 02 Aug 2024 12:15:05 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sZrBZ-0002sI-Ht; Fri, 02 Aug 2024 12:15:05 +0000 Received: by outflank-mailman (input) for mailman id 771053; Fri, 02 Aug 2024 12:15:04 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sZrBY-0002qg-PP for xen-devel@lists.xenproject.org; Fri, 02 Aug 2024 12:15:04 +0000 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2062c.outbound.protection.outlook.com [2a01:111:f403:2412::62c]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id d851c910-50c8-11ef-bc03-fd08da9f4363; Fri, 02 Aug 2024 14:15:03 +0200 (CEST) Received: from SJ0PR05CA0158.namprd05.prod.outlook.com (2603:10b6:a03:339::13) by CY8PR12MB7490.namprd12.prod.outlook.com (2603:10b6:930:91::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7828.21; Fri, 2 Aug 2024 12:15:00 +0000 Received: from CO1PEPF000075ED.namprd03.prod.outlook.com (2603:10b6:a03:339:cafe::a0) by SJ0PR05CA0158.outlook.office365.com (2603:10b6:a03:339::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7849.7 via Frontend Transport; Fri, 2 Aug 2024 12:14:59 +0000 Received: from SATLEXMB04.amd.com (165.204.84.17) by CO1PEPF000075ED.mail.protection.outlook.com (10.167.249.36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7828.19 via Frontend Transport; Fri, 2 Aug 2024 12:14:59 +0000 Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 2 Aug 2024 07:14:58 -0500 Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Fri, 2 Aug 2024 07:14:57 -0500 X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: d851c910-50c8-11ef-bc03-fd08da9f4363 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KdVhNL8i0aqkMGAD75hA8z8aEZGs3/ynFmkimqNcwm1EkbpjV2jRJLC/4NfR22yQuV3zn8Bw/LudSMBYGIQf1Q2boEj1PxGyEYubC41867Khlj4EHkhqYawiNfoTRC7QnxJ0mAaStCPo/WpUAvraep2QL93TbEjrvLPVucDFSbKk5wuOoB0W732gKk1L1/BovzvtbT8JiAEYiFeCdFD11esF3k5i48kf6EAwCzjO0bLNdZXwns5sIjdnUSToOQF5MPRdpQHHrLyUVMMwFRhOL+e8336SKko8J79+IOldrPPLAsTFH7NOCh6DKOD86EpzsYZZm6gAg6V1YUKSKmgzKQ== 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=XbeaJd8GtmoVpwkrWBrV6r0T4S0kHTIYvztCQ94vIfY=; b=QdpPD0RkyWYSCU0ZwniiqStn0WmvqMCIkVmdLTJ707fv3smjtsJ4xS5IAhyjxRwOz8ULa/jmLJS3wIL4B3uGYGxM/NmpJJedXHd12aFidAMIPVA/SQd9caVny/bz1Frcj69KmKX92On8em4x7gBxregiwxrIPCSQtACrPyc7IqwBQGl6facvjWdnLjkrnoKQWldA9cFbNQ3VJ0scm7Vz3YTHBRWcdzaeD4OHTmU2lxjMKROmOHctQbhsZkf8gDeXN2fYKe7Qx93+Lv5ZOeayN0fVGWX8JVb0m8PqEgfiQcirmP/OfMZAA26vRaYHmSPdsxbTj4xZ8DQL8Sazuglo+Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XbeaJd8GtmoVpwkrWBrV6r0T4S0kHTIYvztCQ94vIfY=; b=0Vm5//ZoB72pBBoszV4+sR8a8RIsljr87+fG5V2nZso6x/YEOYugiU1ukDYj8lYe+1bAB2QpXO+30bry9srN05WgZekhJ3r03bayIV8vrA6tPeaGWNG9CNs6M3VNtLBhlfBVCz43A/w/bd+wuT+OEW8hfMkbOCAB8fL888Ezdjg= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C From: Ayan Kumar Halder To: , , , , , CC: Subject: [PATCH v1 1/4] xen: arm: Add an empty stub for update_identity_mapping() Date: Fri, 2 Aug 2024 13:14:40 +0100 Message-ID: <20240802121443.1531693-2-ayan.kumar.halder@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240802121443.1531693-1-ayan.kumar.halder@amd.com> References: <20240802121443.1531693-1-ayan.kumar.halder@amd.com> MIME-Version: 1.0 Received-SPF: None (SATLEXMB04.amd.com: ayan.kumar.halder@amd.com does not designate permitted sender hosts) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF000075ED:EE_|CY8PR12MB7490:EE_ X-MS-Office365-Filtering-Correlation-Id: 7474f087-44d5-4db6-03cf-08dcb2ecbada X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|36860700013|82310400026|376014; X-Microsoft-Antispam-Message-Info: hEqxY7WTBg8wQv/L0BJKuMNUJQLJNZ8Y6F/1+p77RvqWs8Xt3mUOIvloYuePw+V+uUWhcsSwCuCV9OAo6BuIGnOeLoNRymvMlJtzvRrM9wuV7Ng+D3376k8u2FjuN7pwGkJhWYe7zpXUQ+WLz24RGs+Kcw8QC+J4Nj0p+cZPZHGQSgZHD8W1JlOzh1TZDeIqySOC3TUVwacUqVZA1mpmMOwazzlApZ4H0Ggx4kjMgS6RTvHivmCS9pPHLUM57V0EHIkaS1bxx+X6KTIstoad4a2H9HFL01YoWNOqSczcPNU1g+n/PgR08C2DbEzd1uYTUBdV328XNWDz01iVUHy/L9R7ZMAGpq80UDbpYlGoEVmAl7+PL7lYM3G+2bju+VxBCDZ1eOsjzgnTG7yjwX49sjmq34BnfkzYuy6Xbbrh/BaRLfKm3dDrOFHHdQVxvbYF2T1IB0nYCNQJ7siS0Us6o6AQvI+4CciGfZzlbXqPCtWMu9fFsGQJWhqr9S+b7bvL4/AEsCyC6vlKFUDRJl/zoCm7+1KqRtdkmw3HtGc0dX11oocrZM8uZJqgYlUovtNDnne6waRur74S8YpxT8+ltY1uAZBtkgZcynWxz/5ROnzxBwMFhLnikcEV/SyTA8hOD/GcdEtYD7uxujhoXvMKCU6jl8ZNg8DGhxP7nKQXDpimigfhyhOCibHaAknRYnx5p7WhTj9zTtKFUybvoAbCFOXki/1i7pp4RQVwBWm8nxOz/1Y9TYpxgiS7YPSJMc8Ixi+nS68ONqIFfXrGRlzmpU7m+uUraavc4GDtJczrDcAK2usalR6okL/vKcOJ8z05frRU0evuLzNQXkG4f32l7lIwDKXCn5dq1lo42owmZbnSls+CSRG3tVC1AcZlWWhyMxEBK7G3DRNdN2h4micUuYTjgXSo89Ux196tc+HbUd9jRs1jnCTDZ56sSd4dBrKCaf87M72OwJ3W/YzWVFqzw4kIyhQT8L80DZhUxqpXcD0RHnr1X+89jGzoBnulnHdeYjjxFtMxyrn7yT/iV9rLidi1Yt78w85Fg+SVO9tIgpPH9irTqq0KeiLcM4mvtukGXOL77ShpwWiQ2cb1aIPCmhfwYAg3n6/5ICGzkAnY0WgzKpwuxX9jVhcVCptoISA3pWF0LQb64N9Tbpahjv7boTD5ulJ8RaOJC1isQJU/p7mszyFt+oQqchqdipayR3IuryczWiuMu2RSRzBgSvIlsz0dOEpCg/Ngv/BMwwMGThgB+4xOK945gHawn+MO2UTvA+eGoX1ObxbCnOg1caVTHB+//djNXxDsh2UG9rfnVOZxpQgpPEyqmyugNn+J+d6fJ3I2SjveLL+8vGkJkLlOtPihI/oHp9Vudouql1qVMo3ZNlhtkrkEl0bQqlM6CEnDJqCoKWJs893K+6oiIoNIsuJrpKSkAAUwEqqIlSSuOwFfTGXio0ikvv462erBUhDq X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(82310400026)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2024 12:14:59.3987 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7474f087-44d5-4db6-03cf-08dcb2ecbada X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CO1PEPF000075ED.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7490 This is in continuation to commit f661a20aa880: "Extract MMU-specific MM code". update_identity_mapping() is defined for MMU specific logic. It is invoked from smpboot.c. Thus, we add an empty stub to avoid if-defery. Signed-off-by: Ayan Kumar Halder --- xen/arch/arm/include/asm/arm64/mm.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/xen/arch/arm/include/asm/arm64/mm.h b/xen/arch/arm/include/asm/arm64/mm.h index e0bd23a6ed..f595205fa3 100644 --- a/xen/arch/arm/include/asm/arm64/mm.h +++ b/xen/arch/arm/include/asm/arm64/mm.h @@ -14,6 +14,7 @@ static inline bool arch_mfns_in_directmap(unsigned long mfn, unsigned long nr) void arch_setup_page_tables(void); +#ifdef CONFIG_MMU /* * Enable/disable the identity mapping in the live page-tables (i.e. * the one pointed by TTBR_EL2). @@ -22,6 +23,11 @@ void arch_setup_page_tables(void); * supported. */ void update_identity_mapping(bool enable); +#else /* CONFIG_MMU */ +static inline void update_identity_mapping(bool enable) +{ +} +#endif /* CONFIG_MMU */ #endif /* __ARM_ARM64_MM_H__ */ From patchwork Fri Aug 2 12:14:41 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ayan Kumar Halder X-Patchwork-Id: 13751505 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 lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (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 D9633C3DA4A for ; Fri, 2 Aug 2024 12:15:22 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.771054.1181646 (Exim 4.92) (envelope-from ) id 1sZrBg-0003NN-TM; Fri, 02 Aug 2024 12:15:12 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 771054.1181646; Fri, 02 Aug 2024 12:15:12 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sZrBg-0003ND-Qj; Fri, 02 Aug 2024 12:15:12 +0000 Received: by outflank-mailman (input) for mailman id 771054; Fri, 02 Aug 2024 12:15:11 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sZrBf-0002qg-7n for xen-devel@lists.xenproject.org; Fri, 02 Aug 2024 12:15:11 +0000 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on20625.outbound.protection.outlook.com [2a01:111:f403:2412::625]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id dd1c7229-50c8-11ef-bc03-fd08da9f4363; Fri, 02 Aug 2024 14:15:10 +0200 (CEST) Received: from PH7P220CA0072.NAMP220.PROD.OUTLOOK.COM (2603:10b6:510:32c::31) by PH0PR12MB7485.namprd12.prod.outlook.com (2603:10b6:510:1e9::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7828.22; Fri, 2 Aug 2024 12:15:06 +0000 Received: from CY4PEPF0000E9CF.namprd03.prod.outlook.com (2603:10b6:510:32c:cafe::51) by PH7P220CA0072.outlook.office365.com (2603:10b6:510:32c::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7828.23 via Frontend Transport; Fri, 2 Aug 2024 12:15:03 +0000 Received: from SATLEXMB03.amd.com (165.204.84.17) by CY4PEPF0000E9CF.mail.protection.outlook.com (10.167.241.134) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7828.19 via Frontend Transport; Fri, 2 Aug 2024 12:15:02 +0000 Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 2 Aug 2024 07:15:01 -0500 Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Fri, 2 Aug 2024 07:15:00 -0500 X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: dd1c7229-50c8-11ef-bc03-fd08da9f4363 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=UKrWA47OVwAZllrifdvyN+cgcSIDqdM1MG5hepUF9ujI2nffKoMNvzW5tVDz3KTpfndkhNj/9ftZ/PK0eKGv5QZREpTAJ54cVuspoyVGZ2/sLHsDnaPxxsLOeWiXijSfmrg3j8+DLr66d0/pxkZ+C+qUzUPnt7TAYRe1PLRmvNdZUtGQFKDi19Ul/ETadMnx9rx7lhOVxW73nroeqFrZInqXOLwfJcg/XXgpwcktGZxTgxwvgtqg10sd2Hpa/bxrJF8ngC83W6EAR2PEUc/Un4/OVyAEwcdy/0umRKmo+tzac0O7QZ6sSd4PwTD3JujrkszC+ydVSVF6v4NkxniG4g== 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=rcvevutIA8wF3Pys0d5aki/QrgNfXYtD6SWLs8zRKls=; b=s5Ci7QnURzu2TDqqaDr1RrFfgjmrZ9xIerqJbMEEBS9OOLA1rN8lw3s4cywh7UnV+sR9lPTUe7J6puKVb7YPa58od76QczKiNcrm5BMqOLcdc5ZbGZu3Nd+vVFFJ+uGOuOn+CzcVBq/gAUhk72kuEzCIHXzgB1rcSoUKUgjsVeo3A27c4rt++ewmFPEX5A903JBZJZ/d7Y6LWqj4QjNmpsPqov5UeYQ7cc1FxRmkYHigT8GYTYcMDQYOI/rMa96onn9flL7YEZou+XsO0aMhBTR5r6delas4vS4ow5wPNjHAZxuYx8zRu1XxyilEvCU+FrD0spZWRLWHtsXzi6i5bw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rcvevutIA8wF3Pys0d5aki/QrgNfXYtD6SWLs8zRKls=; b=Vyj+iQVOPo/EgVYaK1RF0sf++A6GxKxq+5zhg3p8MWl0JwvdLRzpHFYFR4jd68O3RFc6swodpoDM6KuzpO63LzViKD4aVEQVIRojUzLk+fJDMNj8IKLvzrhyz+ZnBJkwlvpBpQc/qUSc4w/BDwN5GKBsoFXJ+OOYraQBqindlN8= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C From: Ayan Kumar Halder To: , , , , , CC: , Penny Zheng , "Wei Chen" Subject: [PATCH v1 2/4] xen: arm: make VMAP only support in MMU system Date: Fri, 2 Aug 2024 13:14:41 +0100 Message-ID: <20240802121443.1531693-3-ayan.kumar.halder@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240802121443.1531693-1-ayan.kumar.halder@amd.com> References: <20240802121443.1531693-1-ayan.kumar.halder@amd.com> MIME-Version: 1.0 Received-SPF: None (SATLEXMB03.amd.com: ayan.kumar.halder@amd.com does not designate permitted sender hosts) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9CF:EE_|PH0PR12MB7485:EE_ X-MS-Office365-Filtering-Correlation-Id: 35ae0cc8-dca4-4418-a24e-08dcb2ecbcd5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|36860700013|82310400026|376014; X-Microsoft-Antispam-Message-Info: GFXWBsM7TeZL3KJ6/PAvM3bzy4UIo8R7A1yMUPyi1MhFPdvxRCO4etI0haQIR4bSLXAUYy1Lc4WGDoVUJfq/A1BNLylRUYFTocYL7jWwqC71BoSK83iYHdS3y8eFuO7J7/YKVIt+OLU8PxKoUhntEmKLVVLiscZ38Dh4giooT7RZT9AttzlNbenvv1lTR5rK4APKSYeLaQxLmXFNN4yjwjKYh72Nm/u2C8QVqG0QhtGX6iKWiYxzOcM7LpD2R2PFWJw0FqKtV62+uPswx0Xc3RBFXZ6lzIZ1uPcS6thnuQ0lH4aXnZ5i8eGYHcQMLJiU8BUQv6FcomkD/vc28sMfCScvEQOcQj7D4UZTKpNI+colwOfBCoGTBx6f/srbY4Gh1vpxlZZpjh1GyvMGv79zOSmRFBugIZaihCHjI1IXu6zObTwWBCXpQo7oKdF10THJ10VQ73LUy8T8qWnTSjPPgG96pea5OJKY3BHjczxTT+F14maOamTRW+R6XS2hGPbO9APlh+bCJcwcj586uGSkRvqeQ22ITyTQv2HUili/djqz6Vw1Ou1utXEOQ8tiOg7hkwUwcVW23zJ12p0ZSm7nU7AZ3ZKPxVw2a/kadj8Vbv6MLFBruDS3AosOPJ/f7eSlzqEGhfg8qQR15/kw2xchRR6WlpqfGcMLjdd4Br2nxmTrFLKIsC/3djiGwKaNDbWcJgsecwjLxf08d4A0VBYLbeMX0BopUPwfeyA6J1hIbLgjJQX3K+SLvQMw6L2znDysLUcP7a6ZtrvHCDWT0D4MpzWQKapgWKya3dXEfkeiiJO4wSOlGrUcrsvk76aLzlQpl2C27dwM35qWrUSwMzFkf09XJtZsbeKOpbJ86TPuM48pk2Gbks82Gvd1Iv2/OI2dHAufMlWuEznx2WluZnDLbYW7o6CZMgu1tSThZ0t+NBGZPuMHo/dL9tA7Z73rz/c1mJML+223stvz+CGt1ETNnSXHmXsK37fI3frpfBlrm73h01m2UtKi66TOdALI7diC0dizI1UlqtL/EmJTXJENfbHYs7gm5ThSXLbjC1+b2Wa7rr2+zti+3eG6M1tl/S7vmCV2a3uCMbQSTsCRzv90qSpsGaGqgGyjdgDpbs69Sf18dVtDGwEe+Y1Psf9zISm/txWB5aqcafTzAsE1VXGDXLZ+48eI3HCICkJ4QtlsMQmhAL1OmR1JGsxm24HXySyTo2CNPl1lA4MnjveMlJlfU8gopK/ufgp+8D28eD6WmFPge2Chcm8VM5aVuRYupggh0NH/Uv+Bpqmo/iShrCOpqLbhB6mtixIBwkFBaS6Zf01fFsQrVi62hWUb+qa9nKCVKDBF+OyURIrYJrXYxmu90SMQTvLYSld5p2xyudb1xxtzFgosx5eUzBxrYRacltFrHrUP3kXy2dHAmDRR14vsfg== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(82310400026)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2024 12:15:02.8036 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 35ae0cc8-dca4-4418-a24e-08dcb2ecbcd5 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000E9CF.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB7485 From: Penny Zheng VMAP is widely used in ALTERNATIVE feature, CPUERRATA feature, etc to remap a range of memory with new memory attributes. Since this is highly dependent on virtual address translation, we choose to fold VMAP in MMU system. In this patch, we introduce a new Kconfig CONFIG_HAS_VMAP, and make it only support in MMU system on ARM architecture. And we make features like ALTERNATIVE, CPUERRATA, etc, now depend on VMAP. Split "https://patchwork.kernel.org/project/xen-devel/patch/20230626033443.2943270-16-Penny.Zheng@arm.com/" into Arm specific Signed-off-by: Penny Zheng Signed-off-by: Wei Chen Signed-off-by: Ayan Kumar Halder --- xen/arch/arm/Kconfig | 6 +++++- xen/arch/arm/Makefile | 2 +- xen/arch/arm/setup.c | 4 ++++ xen/arch/arm/smpboot.c | 2 ++ xen/include/xen/vmap.h | 6 ++++++ 5 files changed, 18 insertions(+), 2 deletions(-) diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig index 21d03d9f44..c8d417298c 100644 --- a/xen/arch/arm/Kconfig +++ b/xen/arch/arm/Kconfig @@ -12,7 +12,7 @@ config ARM_64 config ARM def_bool y select FUNCTION_ALIGNMENT_4B - select HAS_ALTERNATIVE + select HAS_ALTERNATIVE if HAS_VMAP select HAS_DEVICE_TREE select HAS_PASSTHROUGH select HAS_UBSAN @@ -58,9 +58,13 @@ config PADDR_BITS default 40 if ARM_PA_BITS_40 default 48 if ARM_64 +config HAS_VMAP + def_bool y + config MMU def_bool y select HAS_PMAP + select HAS_VMAP source "arch/Kconfig" diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile index 45dc29ea53..6882814d38 100644 --- a/xen/arch/arm/Makefile +++ b/xen/arch/arm/Makefile @@ -11,7 +11,7 @@ obj-$(CONFIG_HAS_VPCI) += vpci.o obj-$(CONFIG_HAS_ALTERNATIVE) += alternative.o obj-y += bootfdt.init.o -obj-y += cpuerrata.o +obj-$(CONFIG_HAS_VMAP) += cpuerrata.o obj-y += cpufeature.o obj-y += decode.o obj-y += device.o diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c index 0c2fdaceaf..9d34ac7f64 100644 --- a/xen/arch/arm/setup.c +++ b/xen/arch/arm/setup.c @@ -804,11 +804,13 @@ void asmlinkage __init start_xen(unsigned long boot_phys_offset, nr_cpu_ids = smp_get_max_cpus(); printk(XENLOG_INFO "SMP: Allowing %u CPUs\n", nr_cpu_ids); +#ifdef CONFIG_HAS_VMAP /* * Some errata relies on SMCCC version which is detected by psci_init() * (called from smp_init_cpus()). */ check_local_cpu_errata(); +#endif check_local_cpu_features(); @@ -879,8 +881,10 @@ void asmlinkage __init start_xen(unsigned long boot_phys_offset, * It needs to be called after do_initcalls to be able to use * stop_machine (tasklets initialized via an initcall). */ +#ifdef CONFIG_HAS_VMAP apply_alternatives_all(); enable_errata_workarounds(); +#endif enable_cpu_features(); /* Create initial domain 0. */ diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c index 04e363088d..999afc028e 100644 --- a/xen/arch/arm/smpboot.c +++ b/xen/arch/arm/smpboot.c @@ -406,7 +406,9 @@ void asmlinkage start_secondary(void) local_abort_enable(); +#ifdef CONFIG_HAS_VMAP check_local_cpu_errata(); +#endif check_local_cpu_features(); printk(XENLOG_DEBUG "CPU %u booted.\n", smp_processor_id()); diff --git a/xen/include/xen/vmap.h b/xen/include/xen/vmap.h index fdae37e950..84797acfc0 100644 --- a/xen/include/xen/vmap.h +++ b/xen/include/xen/vmap.h @@ -138,10 +138,16 @@ static inline void iounmap(void __iomem *va) /* Pointer to 1 octet past the end of the VMAP_DEFAULT virtual area */ void *arch_vmap_virt_end(void); +#ifdef CONFIG_MMU /* Initialises the VMAP_DEFAULT virtual range */ static inline void vm_init(void) { vm_init_type(VMAP_DEFAULT, (void *)VMAP_VIRT_START, arch_vmap_virt_end()); } +#else +static inline void vm_init(void) +{ +} +#endif #endif /* __XEN_VMAP_H__ */ From patchwork Fri Aug 2 12:14:42 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ayan Kumar Halder X-Patchwork-Id: 13751506 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 lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (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 EB765C3DA4A for ; Fri, 2 Aug 2024 12:15:25 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.771055.1181656 (Exim 4.92) (envelope-from ) id 1sZrBk-0003f4-7M; Fri, 02 Aug 2024 12:15:16 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 771055.1181656; Fri, 02 Aug 2024 12:15:16 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sZrBk-0003eo-4N; Fri, 02 Aug 2024 12:15:16 +0000 Received: by outflank-mailman (input) for mailman id 771055; Fri, 02 Aug 2024 12:15:14 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sZrBi-0002qg-Kc for xen-devel@lists.xenproject.org; Fri, 02 Aug 2024 12:15:14 +0000 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on20601.outbound.protection.outlook.com [2a01:111:f403:2415::601]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id de730912-50c8-11ef-bc03-fd08da9f4363; Fri, 02 Aug 2024 14:15:13 +0200 (CEST) Received: from SJ0PR05CA0157.namprd05.prod.outlook.com (2603:10b6:a03:339::12) by SJ0PR12MB8137.namprd12.prod.outlook.com (2603:10b6:a03:4e5::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7828.23; Fri, 2 Aug 2024 12:15:07 +0000 Received: from CO1PEPF000075ED.namprd03.prod.outlook.com (2603:10b6:a03:339:cafe::ef) by SJ0PR05CA0157.outlook.office365.com (2603:10b6:a03:339::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7849.7 via Frontend Transport; Fri, 2 Aug 2024 12:15:07 +0000 Received: from SATLEXMB04.amd.com (165.204.84.17) by CO1PEPF000075ED.mail.protection.outlook.com (10.167.249.36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7828.19 via Frontend Transport; Fri, 2 Aug 2024 12:15:07 +0000 Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 2 Aug 2024 07:15:04 -0500 Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB05.amd.com (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 2 Aug 2024 07:15:04 -0500 Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Fri, 2 Aug 2024 07:15:03 -0500 X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: de730912-50c8-11ef-bc03-fd08da9f4363 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=iiJ7Ah8zot/lWpKDaXDyPsuuotS1d25NWhcgZ/SE83f4FnJqA5Os5RYcK6GUrrJkPjG3rs1F4iA1C9Za+lN4amckByprWSC8Ouc3x0pdPA4dR623zFkUtRp7w/UjXsFQbMVokL3jJPMZOiz/Bx1uLZd7yTvuQfOZXjxcWvT9c6/Dn/+jgxOecmGpObioOzNgMwQn5JDlni2gM3QHmeEb+dV5F394tajrixP5lwAdXU5WIKoBxTCIV45m4v2BoYKjXyp+ZtvLdggaWd1A4ky2ZMd2K3E30e3sORL8aEvgJTd+DDkj5MgO7Bniw9wPx0Yrd88pdq4OJYXwEW8zEM9txw== 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=+gbu1SZsMqv/ljlaxlr9Do4f1so8bAzCrex0cdS+Y3s=; b=HULiGt1uOXFTN2osiiLymB3qictP7CpeZZ8P3AmaRQ9gTHlNySGZPJ0PdJq1o/D2Pl/4Nduk9vpLzMuU945jBamkotju2KC3bJ6QHiH9z/5of+Ba6fc9Ue1MyDSP5gAvZw1+xQGSdMuAoeNWOgGtX/TgfkjMjp9YcN5/UcRWNs01WCzZ9GDPXcKd/U7PwKFA9xWDjqzPlRKGdu9Ia1klDKQPh+MqPFIS/Jj/XSNYDg88HO0fyL2LRcG1DqO7bWMRt1cPOGn2nAdWe2s2krk5WWEnXcvf5fBdN+AO+qdtOnrd1aGoE81nn6XsHNTj/1ShcJYpAmB6Dt3nMhE7w+Xm9w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+gbu1SZsMqv/ljlaxlr9Do4f1so8bAzCrex0cdS+Y3s=; b=WYSA9f0+ghKLxiELIgJkCDvhRs7RBlteRkPv4jQJe3FyhPI/1fqCZk2cMCoYAYr+cswdhfYPtFDPIFMeMZ/w3QMLwxmILtdGtJVyv9Okq4SIGRWJv5LRMqCvQ/CE4hMJSGbKjzFtiwFt5HHnqxIEBpNcEhSHtWzrZsOLa17mGWI= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C From: Ayan Kumar Halder To: , , , , , CC: Subject: [PATCH v1 3/4] xen: arm: Move the functions of domain_page to MMU specific Date: Fri, 2 Aug 2024 13:14:42 +0100 Message-ID: <20240802121443.1531693-4-ayan.kumar.halder@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240802121443.1531693-1-ayan.kumar.halder@amd.com> References: <20240802121443.1531693-1-ayan.kumar.halder@amd.com> MIME-Version: 1.0 Received-SPF: None (SATLEXMB05.amd.com: ayan.kumar.halder@amd.com does not designate permitted sender hosts) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF000075ED:EE_|SJ0PR12MB8137:EE_ X-MS-Office365-Filtering-Correlation-Id: 02ff3655-c8a5-47f4-54a3-08dcb2ecbf9c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|82310400026|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: bf0omMeu0YGuOTyHs4dIxcJJpWyNeqWwsrtvv9jnuiFOLduVMwaICwqhLese9pploC+Lt8zcrP0ZFdY2oNVFDELtBWecaj2QMtsOhoPx0lMsDNhcPaw2kG7ZTys7GFPoLsW18D7JmH+NM2cJfJ9kAMrO148w+TADynM3GbDLxp+gHelCzMCVqG3MiX/gJJPlSoXT7f5PkSSOBCyl2iF39X0z1vu/YiVK1dg0qGuPghhA9KBwx0L48SKBSlz5sAv7J+jD7WpK1MlZ3WQ+8+Hc4bKke2kh4y29XCT11TUnQDiIcQkF5dhIpUb7Yfkbu7o7vmiqai7aAs2Qu7yCaMmEJPrKuwPdKzNC5jRDkq+/PrlVsC9T2UrlYpg+wwjYW1n45IcgKBlzHYpUDi8ddCmMkS7l9tBr7goUQeOwuc93j74DsjsRMYJAUOOjM3hIGD8iQHeDD9aKDWlekrCf8+FfsGgxG+kd9G8PDf/3I0ICOajRbVMlOeL8uTPOT65KR1CQxdqn1FqUtpXU0dwYbCQE9pL8WxjMi5z6m3HWeD89KUGyDNNWN2ULtLOZ0jJK77HnGvH++qpTaFC1tkTlodNypWyanXNREs6USMtSNYIfoplylJWbCZN1D2ZcgWJxQT4SbptKCwfElnLUerk9ybmHchKUr3k4JVD2YZQWOsKGU484Ico8sIILooEXPGsz4mwT4SHwticKURC97ZvNlo4QcP5aLLBTKdS2OJPit+AIg3M0bBx8k+jvYO+WTziCd3QoR8U52SjG4/D3Ixf71JHvC4ESW+dON/Q2OgnbB9h0iGhVA/9fjzIgkMG+thDkSzDGkHm6lz6HSqm0JhVe+EGTNu0WL2dCdnn/SZ+RaDN/j4idREtzwPVo0kljNoDDQuFN7qDgZ1etgwAgwlzNwIWfSIpWwMKIeZoRs9hwp1BUAstaZiYLpBUIB4/EbGeAR40gLYEdTzY/DJ7w6S0/gj9zU6S+Yx1VnufTy5nuBgPGC9D0EgqLEZZe6zZpvu7kxa0IHO+EQI0aRe/ep70+enDPSPIBdEaJUS8Q9ceR1J/1GIUCuzikn9ApTfpNJlJrRPnTohgDjaj3JwEnmwyx3bivau2TvESP0r2sNL6ZyRzZN+fCiSrrl6++TU1PS6KrzcQFIy1MSLCrzEY//tXikEKcsPAI2k//bHbKL39O7bULXlIxRXPGtOC2tCHBmCC433ZvqiiuHglaIQR9SAkpGYkir8Fr/7SGVSm/M5feXjlP85hPlX7CqGX/+TX8RO+Kdyp6tAmQ4xW3FzxE4IbrtAe3SCMC+5317ynJi5GjbLWeKVBVW6DxazXOI4EgiXECPDX2wFHgVM7mKBTiUIayBiYBQHOFo9NGjFW/PJ9VEevpLbkSsJ99dVZrW9VQmUqnpHPYzd810eJXNAENd+emn2ulRKHSNU+Mfv03aoFhmZu1riE= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(82310400026)(36860700013)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2024 12:15:07.3987 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 02ff3655-c8a5-47f4-54a3-08dcb2ecbf9c X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CO1PEPF000075ED.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB8137 Moved init_domheap_mappings(), map_domain_page_global(), unmap_domain_page_global(), map_domain_page(), unmap_domain_page(), domain_page_map_to_mfn() to MMU specific folder. On the top level, we have added stubs which will invoke the MMU specific equivalent of these functions. Signed-off-by: Ayan Kumar Halder --- xen/arch/arm/domain_page.c | 161 +---------------------- xen/arch/arm/include/asm/arm32/mm.h | 12 ++ xen/arch/arm/mmu/Makefile | 1 + xen/arch/arm/mmu/domain_page.c | 194 ++++++++++++++++++++++++++++ 4 files changed, 213 insertions(+), 155 deletions(-) create mode 100644 xen/arch/arm/mmu/domain_page.c diff --git a/xen/arch/arm/domain_page.c b/xen/arch/arm/domain_page.c index 3a43601623..49fe551d84 100644 --- a/xen/arch/arm/domain_page.c +++ b/xen/arch/arm/domain_page.c @@ -3,185 +3,36 @@ #include #include -/* Override macros from asm/page.h to make them work with mfn_t */ -#undef virt_to_mfn -#define virt_to_mfn(va) _mfn(__virt_to_mfn(va)) - -/* cpu0's domheap page tables */ -static DEFINE_PAGE_TABLES(cpu0_dommap, DOMHEAP_SECOND_PAGES); - -/* - * xen_dommap == pages used by map_domain_page, these pages contain - * the second level pagetables which map the domheap region - * starting at DOMHEAP_VIRT_START in 2MB chunks. - */ -static DEFINE_PER_CPU(lpae_t *, xen_dommap); - -/* - * Prepare the area that will be used to map domheap pages. They are - * mapped in 2MB chunks, so we need to allocate the page-tables up to - * the 2nd level. - * - * The caller should make sure the root page-table for @cpu has been - * allocated. - */ bool init_domheap_mappings(unsigned int cpu) { - unsigned int order = get_order_from_pages(DOMHEAP_SECOND_PAGES); - lpae_t *root = per_cpu(xen_pgtable, cpu); - unsigned int i, first_idx; - lpae_t *domheap; - mfn_t mfn; - - ASSERT(root); - ASSERT(!per_cpu(xen_dommap, cpu)); - - /* - * The domheap for cpu0 is initialized before the heap is initialized. - * So we need to use pre-allocated pages. - */ - if ( !cpu ) - domheap = cpu0_dommap; - else - domheap = alloc_xenheap_pages(order, 0); - - if ( !domheap ) - return false; - - /* Ensure the domheap has no stray mappings */ - memset(domheap, 0, DOMHEAP_SECOND_PAGES * PAGE_SIZE); - - /* - * Update the first level mapping to reference the local CPUs - * domheap mapping pages. - */ - mfn = virt_to_mfn(domheap); - first_idx = first_table_offset(DOMHEAP_VIRT_START); - for ( i = 0; i < DOMHEAP_SECOND_PAGES; i++ ) - { - lpae_t pte = mfn_to_xen_entry(mfn_add(mfn, i), MT_NORMAL); - pte.pt.table = 1; - write_pte(&root[first_idx + i], pte); - } - - per_cpu(xen_dommap, cpu) = domheap; - - return true; + return init_domheap_mappings_mm(cpu); } void *map_domain_page_global(mfn_t mfn) { - return vmap(&mfn, 1); + return map_domain_page_global_mm(mfn); } void unmap_domain_page_global(const void *ptr) { - vunmap(ptr); + return unmap_domain_page_global_mm(ptr); } /* Map a page of domheap memory */ void *map_domain_page(mfn_t mfn) { - unsigned long flags; - lpae_t *map = this_cpu(xen_dommap); - unsigned long slot_mfn = mfn_x(mfn) & ~XEN_PT_LPAE_ENTRY_MASK; - vaddr_t va; - lpae_t pte; - int i, slot; - - local_irq_save(flags); - - /* The map is laid out as an open-addressed hash table where each - * entry is a 2MB superpage pte. We use the available bits of each - * PTE as a reference count; when the refcount is zero the slot can - * be reused. */ - for ( slot = (slot_mfn >> XEN_PT_LPAE_SHIFT) % DOMHEAP_ENTRIES, i = 0; - i < DOMHEAP_ENTRIES; - slot = (slot + 1) % DOMHEAP_ENTRIES, i++ ) - { - if ( map[slot].pt.avail < 0xf && - map[slot].pt.base == slot_mfn && - map[slot].pt.valid ) - { - /* This slot already points to the right place; reuse it */ - map[slot].pt.avail++; - break; - } - else if ( map[slot].pt.avail == 0 ) - { - /* Commandeer this 2MB slot */ - pte = mfn_to_xen_entry(_mfn(slot_mfn), MT_NORMAL); - pte.pt.avail = 1; - write_pte(map + slot, pte); - break; - } - - } - /* If the map fills up, the callers have misbehaved. */ - BUG_ON(i == DOMHEAP_ENTRIES); - -#ifndef NDEBUG - /* Searching the hash could get slow if the map starts filling up. - * Cross that bridge when we come to it */ - { - static int max_tries = 32; - if ( i >= max_tries ) - { - dprintk(XENLOG_WARNING, "Domheap map is filling: %i tries\n", i); - max_tries *= 2; - } - } -#endif - - local_irq_restore(flags); - - va = (DOMHEAP_VIRT_START - + (slot << SECOND_SHIFT) - + ((mfn_x(mfn) & XEN_PT_LPAE_ENTRY_MASK) << THIRD_SHIFT)); - - /* - * We may not have flushed this specific subpage at map time, - * since we only flush the 4k page not the superpage - */ - flush_xen_tlb_range_va_local(va, PAGE_SIZE); - - return (void *)va; + return map_domain_page_mm(mfn); } /* Release a mapping taken with map_domain_page() */ void unmap_domain_page(const void *ptr) { - unsigned long flags; - lpae_t *map = this_cpu(xen_dommap); - int slot = ((unsigned long)ptr - DOMHEAP_VIRT_START) >> SECOND_SHIFT; - - if ( !ptr ) - return; - - local_irq_save(flags); - - ASSERT(slot >= 0 && slot < DOMHEAP_ENTRIES); - ASSERT(map[slot].pt.avail != 0); - - map[slot].pt.avail--; - - local_irq_restore(flags); + return unmap_domain_page_mm(ptr); } mfn_t domain_page_map_to_mfn(const void *ptr) { - unsigned long va = (unsigned long)ptr; - lpae_t *map = this_cpu(xen_dommap); - int slot = (va - DOMHEAP_VIRT_START) >> SECOND_SHIFT; - unsigned long offset = (va>>THIRD_SHIFT) & XEN_PT_LPAE_ENTRY_MASK; - - if ( (va >= VMAP_VIRT_START) && ((va - VMAP_VIRT_START) < VMAP_VIRT_SIZE) ) - return virt_to_mfn(va); - - ASSERT(slot >= 0 && slot < DOMHEAP_ENTRIES); - ASSERT(map[slot].pt.avail != 0); - - return mfn_add(lpae_get_mfn(map[slot]), offset); + return domain_page_map_to_mfn_mm(ptr); } /* diff --git a/xen/arch/arm/include/asm/arm32/mm.h b/xen/arch/arm/include/asm/arm32/mm.h index 856f2dbec4..7cee031f52 100644 --- a/xen/arch/arm/include/asm/arm32/mm.h +++ b/xen/arch/arm/include/asm/arm32/mm.h @@ -18,6 +18,18 @@ static inline bool arch_mfns_in_directmap(unsigned long mfn, unsigned long nr) bool init_domheap_mappings(unsigned int cpu); +bool init_domheap_mappings_mm(unsigned int cpu); + +void *map_domain_page_global_mm(mfn_t mfn); + +void unmap_domain_page_global_mm(const void *ptr); + +void *map_domain_page_mm(mfn_t mfn); + +void unmap_domain_page_mm(const void *ptr); + +mfn_t domain_page_map_to_mfn_mm(const void *ptr); + static inline void arch_setup_page_tables(void) { } diff --git a/xen/arch/arm/mmu/Makefile b/xen/arch/arm/mmu/Makefile index 67475fcd80..2cb44b857d 100644 --- a/xen/arch/arm/mmu/Makefile +++ b/xen/arch/arm/mmu/Makefile @@ -2,3 +2,4 @@ obj-y += p2m.o obj-y += pt.o obj-y += setup.o obj-y += smpboot.o +obj-$(CONFIG_ARCH_MAP_DOMAIN_PAGE) += domain_page.o diff --git a/xen/arch/arm/mmu/domain_page.c b/xen/arch/arm/mmu/domain_page.c new file mode 100644 index 0000000000..af45748ace --- /dev/null +++ b/xen/arch/arm/mmu/domain_page.c @@ -0,0 +1,194 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ +#include +#include +#include + +/* Override macros from asm/page.h to make them work with mfn_t */ +#undef virt_to_mfn +#define virt_to_mfn(va) _mfn(__virt_to_mfn(va)) + +/* cpu0's domheap page tables */ +static DEFINE_PAGE_TABLES(cpu0_dommap, DOMHEAP_SECOND_PAGES); + +/* + * xen_dommap == pages used by map_domain_page, these pages contain + * the second level pagetables which map the domheap region + * starting at DOMHEAP_VIRT_START in 2MB chunks. + */ +static DEFINE_PER_CPU(lpae_t *, xen_dommap); + +/* + * Prepare the area that will be used to map domheap pages. They are + * mapped in 2MB chunks, so we need to allocate the page-tables up to + * the 2nd level. + * + * The caller should make sure the root page-table for @cpu has been + * allocated. + */ +bool init_domheap_mappings_mm(unsigned int cpu) +{ + unsigned int order = get_order_from_pages(DOMHEAP_SECOND_PAGES); + lpae_t *root = per_cpu(xen_pgtable, cpu); + unsigned int i, first_idx; + lpae_t *domheap; + mfn_t mfn; + + ASSERT(root); + ASSERT(!per_cpu(xen_dommap, cpu)); + + /* + * The domheap for cpu0 is initialized before the heap is initialized. + * So we need to use pre-allocated pages. + */ + if ( !cpu ) + domheap = cpu0_dommap; + else + domheap = alloc_xenheap_pages(order, 0); + + if ( !domheap ) + return false; + + /* Ensure the domheap has no stray mappings */ + memset(domheap, 0, DOMHEAP_SECOND_PAGES * PAGE_SIZE); + + /* + * Update the first level mapping to reference the local CPUs + * domheap mapping pages. + */ + mfn = virt_to_mfn(domheap); + first_idx = first_table_offset(DOMHEAP_VIRT_START); + for ( i = 0; i < DOMHEAP_SECOND_PAGES; i++ ) + { + lpae_t pte = mfn_to_xen_entry(mfn_add(mfn, i), MT_NORMAL); + pte.pt.table = 1; + write_pte(&root[first_idx + i], pte); + } + + per_cpu(xen_dommap, cpu) = domheap; + + return true; +} + +void *map_domain_page_global_mm(mfn_t mfn) +{ + return vmap(&mfn, 1); +} + +void unmap_domain_page_global_mm(const void *ptr) +{ + vunmap(ptr); +} + +/* Map a page of domheap memory */ +void *map_domain_page_mm(mfn_t mfn) +{ + unsigned long flags; + lpae_t *map = this_cpu(xen_dommap); + unsigned long slot_mfn = mfn_x(mfn) & ~XEN_PT_LPAE_ENTRY_MASK; + vaddr_t va; + lpae_t pte; + int i, slot; + + local_irq_save(flags); + + /* The map is laid out as an open-addressed hash table where each + * entry is a 2MB superpage pte. We use the available bits of each + * PTE as a reference count; when the refcount is zero the slot can + * be reused. */ + for ( slot = (slot_mfn >> XEN_PT_LPAE_SHIFT) % DOMHEAP_ENTRIES, i = 0; + i < DOMHEAP_ENTRIES; + slot = (slot + 1) % DOMHEAP_ENTRIES, i++ ) + { + if ( map[slot].pt.avail < 0xf && + map[slot].pt.base == slot_mfn && + map[slot].pt.valid ) + { + /* This slot already points to the right place; reuse it */ + map[slot].pt.avail++; + break; + } + else if ( map[slot].pt.avail == 0 ) + { + /* Commandeer this 2MB slot */ + pte = mfn_to_xen_entry(_mfn(slot_mfn), MT_NORMAL); + pte.pt.avail = 1; + write_pte(map + slot, pte); + break; + } + + } + /* If the map fills up, the callers have misbehaved. */ + BUG_ON(i == DOMHEAP_ENTRIES); + +#ifndef NDEBUG + /* Searching the hash could get slow if the map starts filling up. + * Cross that bridge when we come to it */ + { + static int max_tries = 32; + if ( i >= max_tries ) + { + dprintk(XENLOG_WARNING, "Domheap map is filling: %i tries\n", i); + max_tries *= 2; + } + } +#endif + + local_irq_restore(flags); + + va = (DOMHEAP_VIRT_START + + (slot << SECOND_SHIFT) + + ((mfn_x(mfn) & XEN_PT_LPAE_ENTRY_MASK) << THIRD_SHIFT)); + + /* + * We may not have flushed this specific subpage at map time, + * since we only flush the 4k page not the superpage + */ + flush_xen_tlb_range_va_local(va, PAGE_SIZE); + + return (void *)va; +} + +/* Release a mapping taken with map_domain_page() */ +void unmap_domain_page_mm(const void *ptr) +{ + unsigned long flags; + lpae_t *map = this_cpu(xen_dommap); + int slot = ((unsigned long)ptr - DOMHEAP_VIRT_START) >> SECOND_SHIFT; + + if ( !ptr ) + return; + + local_irq_save(flags); + + ASSERT(slot >= 0 && slot < DOMHEAP_ENTRIES); + ASSERT(map[slot].pt.avail != 0); + + map[slot].pt.avail--; + + local_irq_restore(flags); +} + +mfn_t domain_page_map_to_mfn_mm(const void *ptr) +{ + unsigned long va = (unsigned long)ptr; + lpae_t *map = this_cpu(xen_dommap); + int slot = (va - DOMHEAP_VIRT_START) >> SECOND_SHIFT; + unsigned long offset = (va>>THIRD_SHIFT) & XEN_PT_LPAE_ENTRY_MASK; + + if ( (va >= VMAP_VIRT_START) && ((va - VMAP_VIRT_START) < VMAP_VIRT_SIZE) ) + return virt_to_mfn(va); + + ASSERT(slot >= 0 && slot < DOMHEAP_ENTRIES); + ASSERT(map[slot].pt.avail != 0); + + return mfn_add(lpae_get_mfn(map[slot]), offset); +} + +/* + * Local variables: + * mode: C + * c-file-style: "BSD" + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + */ From patchwork Fri Aug 2 12:14:43 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ayan Kumar Halder X-Patchwork-Id: 13751507 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 lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (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 D143CC52D6D for ; Fri, 2 Aug 2024 12:15:30 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.771056.1181666 (Exim 4.92) (envelope-from ) id 1sZrBo-0003zV-Ih; Fri, 02 Aug 2024 12:15:20 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 771056.1181666; Fri, 02 Aug 2024 12:15:20 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sZrBo-0003zM-Em; Fri, 02 Aug 2024 12:15:20 +0000 Received: by outflank-mailman (input) for mailman id 771056; Fri, 02 Aug 2024 12:15:19 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sZrBn-0002qa-1y for xen-devel@lists.xenproject.org; Fri, 02 Aug 2024 12:15:19 +0000 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on20601.outbound.protection.outlook.com [2a01:111:f403:2416::601]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id e05818b6-50c8-11ef-8776-851b0ebba9a2; Fri, 02 Aug 2024 14:15:17 +0200 (CEST) Received: from SJ0PR05CA0176.namprd05.prod.outlook.com (2603:10b6:a03:339::31) by SA1PR12MB8096.namprd12.prod.outlook.com (2603:10b6:806:326::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7807.28; Fri, 2 Aug 2024 12:15:12 +0000 Received: from CO1PEPF000075ED.namprd03.prod.outlook.com (2603:10b6:a03:339:cafe::f7) by SJ0PR05CA0176.outlook.office365.com (2603:10b6:a03:339::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7849.7 via Frontend Transport; Fri, 2 Aug 2024 12:15:12 +0000 Received: from SATLEXMB04.amd.com (165.204.84.17) by CO1PEPF000075ED.mail.protection.outlook.com (10.167.249.36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7828.19 via Frontend Transport; Fri, 2 Aug 2024 12:15:11 +0000 Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 2 Aug 2024 07:15:07 -0500 Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB06.amd.com (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 2 Aug 2024 07:15:07 -0500 Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Fri, 2 Aug 2024 07:15:06 -0500 X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: e05818b6-50c8-11ef-8776-851b0ebba9a2 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=oslAwda1dOk84CVTp2i4/WK6dl3r8449U7UftkgNjVvtkM0MiUShwwEPU+P6nVNRUsPqzqp0PCyUIyxnLKAJANf72Kjh/AF3kelOoHceuv1ciPazigdRZ9CFDp5OlnIuXEpG935mwTJ+eC+hHy/PmD/59CNQf2Wu5T0UQKbvg6JOyFZnF4Z0oE+Q0XwOIhrMip5Ao1hNB3h/PN5o8My3NujsVSlJHecU172J/oyORkJ7pcYCrjpWqHGYE1d9ZmbvyCfXtByFGNS1aUTU7Hib3NoHdiVegP6xWGVnwfbXltSrUHv2PQQ7ENFuz734nwZ1OsVmef1SUUmpg9una7OgVA== 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=sEyWPlBd3oxoq5owatePmHZPc7oCgtMUIdm8ZJtjgDM=; b=Nz5oqFLGW1FaAJgIeLYcn0pVWE/Lx0kbirLzp8JriOoTZZicQwJfxyvBSTVG9eqdeUg/PX65v8qg13f0grendsE5hPTugstn8vdf6+VEQKGOSTcShiJT5YFb9+k6DR/3NXeyewWCLiKL5rAslquwPnc/5Xfqifi2+mIcVsgdJUSSZx7GUShbF0BLlbGxaoHGfOultfL+/7tLT0/FIp5oGEpMWDFKia9zHqIn8G75uYU6AJUmcF27JZWBnTfC8AzviPs1DpC3CfLUq8+aPzE6YBjQvMLCcAN42eJXAr1OYjBukvHCBd2mfGTQfyM1FOcmwJD0Z6quiq/CYNhSTuSRBQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=sEyWPlBd3oxoq5owatePmHZPc7oCgtMUIdm8ZJtjgDM=; b=J7+3DMvNiP53g8Qb0wDSiXR8RdWZMqekooLUY9YaEA7RT3zwChmSYuKpCxJILyr/Zg3C4SP9hE/S+1loshqhp9tqTAuJWzF2e/BMWKi6XSO0t5w87tDVJr++ZMctgmTu7dEPXBqhtgk6MNQ7L5EaqEUokYfQvr7xT2/rorem6sc= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C From: Ayan Kumar Halder To: , , , , , CC: Subject: [PATCH v1 4/4] xen: arm: Enclose access to EL2 MMU specific registers under CONFIG_MMU Date: Fri, 2 Aug 2024 13:14:43 +0100 Message-ID: <20240802121443.1531693-5-ayan.kumar.halder@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240802121443.1531693-1-ayan.kumar.halder@amd.com> References: <20240802121443.1531693-1-ayan.kumar.halder@amd.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF000075ED:EE_|SA1PR12MB8096:EE_ X-MS-Office365-Filtering-Correlation-Id: 61979d1a-0a7f-4ef2-82d2-08dcb2ecc254 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|36860700013|82310400026|1800799024; X-Microsoft-Antispam-Message-Info: RK9Z/YLBpjoTcRSgGwROFfWHPvL/1mP1tAZiD1aCfCFXZCeINf8iELG5aMGRP8DZbIlFgWbXAYRGijGLk1PZ8W5FxqfLFCPn3gYl9b27zyo3DmUeLrYSIHls0IT1QnkDZcI/ZmN0vrNtKSeIn6ea4mCetCDRne+6+N3ivEkuXopIL/SZu6pBWpKXd98WOJwQMURgWItSDvanA/u7/1O4qJg9maEXxiueE9tuaQ+4GQ95wZAxMNf31izaNNTOBl/0/y9+R+AoLXZ6B2GyE5eEJirPYZ1AFXeumuyiCTgJmgpb9ww0JiIiUjGNG6t0ZbwsZ6wIckGWVNB3qv0m5n70ola1jJsjz95i3uQF8DG4Ug9NbrAi/2Ai8lz4NN1/VvixvoHkkcn/V+P1friweP/ghCfnRFpUldRHfoj3GHh3f+KkizxeEVoNZjTx3SkWq7WEyh2uv3Ro2UmbAqZx5DRDThHNOuZRApqD2WsqpmD3zUiazQ3MYX5Lg0mo4bh4uBcdTfnHssZVrP86RSbR+8uB9tN6cHVyGCbEudB/4BEZ43/fMnJEuc0x4Q0PSmqgXf0ShuMEnWeX0Hq5FhNNOo4HrN2qz4DlIP1clCZ/hVtESvQqCXxjMFc5YDCAQZb7jaSteV1E2N/i0qQlI5OnTsnU0u8DlQtYpsLMN0pgP6V7CLR6OlqC+2Iswed3e15xvQPt0aWQS9gPF2RvvGTcJDxmBUJR846DWpv2oOCIyx/Fh5JIwmIVxM/LkEJ5ss0ICaLqlurnQOBWiOz/WEovErJl/i5XdmDDoQmtf3Nr75TQOib34TUBRpX6iWIw1jAVUP2rxFkiZtRqqjdBeukIvD72pGvWq00w1/J4G33QgwKCpnRsOA3+BSRpCFSFwJYOSqYuJZsinuBkRxv5yNNp4TwAWmtDkPGB3zoDK4Stf/BUi46qkZQbhST0U8QNO4iXrD2PQ5hd2wDT5q2rk6Ca6A5w8jE6AORuq75YEcWOS1weWkzltTBLDubWQ+okw0L+df8K6tAoDOyqurpsJTaj/aarcjG5HZNiX1+BkkW8P5WtCd8l/gOhKFiaoonofUwLzab9J1RxfcgcUTZKNmtsl4N3yKSuwOcqF7Zto3hFcHXMUxiYT6ICD2RkO4HYb4hbFzOnuiUV4t8LNORyOVx31mMHC85gBVAVhuCpRIsHiO89YHTHbopAZVpUEPgCjM4k7wfNMglYiwcdPvyLzYt+MVvpD4bYKkaRP8dmIbP1KuBCdNu/ODrjIJ5twYy7C3PF3jC2yp1siAkhkKPsdW+wgtsv+hvzu129iEQ3GOkHpI47qMkMyE17ZX6eTWoPc4LM2RsZVP6wULbtJ4/lN9ILtYwWLN4PEbMuRR/gTVRgs8iDNj5tK12cJ5nywMVDCKzEeSFqtDSCeMiG3u1qUKlZp9O4ntlprISvq3V6fW5uoljkAWnMxogm+XZxeeB+lXeGd5x3 X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(36860700013)(82310400026)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2024 12:15:11.9612 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 61979d1a-0a7f-4ef2-82d2-08dcb2ecc254 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CO1PEPF000075ED.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB8096 All the EL2 MMU specific registers are enclosed within CONFIG_MMU. Signed-off-by: Ayan Kumar Halder --- xen/arch/arm/traps.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c index aac6c599f8..766aacee77 100644 --- a/xen/arch/arm/traps.c +++ b/xen/arch/arm/traps.c @@ -919,12 +919,14 @@ static void _show_registers(const struct cpu_user_regs *regs, #endif } printk(" VTCR_EL2: %"PRIregister"\n", READ_SYSREG(VTCR_EL2)); - printk(" VTTBR_EL2: %016"PRIx64"\n", ctxt->vttbr_el2); printk("\n"); printk(" SCTLR_EL2: %"PRIregister"\n", READ_SYSREG(SCTLR_EL2)); printk(" HCR_EL2: %"PRIregister"\n", READ_SYSREG(HCR_EL2)); +#ifdef CONFIG_MMU + printk(" VTTBR_EL2: %016"PRIx64"\n", ctxt->vttbr_el2); printk(" TTBR0_EL2: %016"PRIx64"\n", READ_SYSREG64(TTBR0_EL2)); +#endif printk("\n"); printk(" ESR_EL2: %"PRIregister"\n", regs->hsr); printk(" HPFAR_EL2: %"PRIregister"\n", READ_SYSREG(HPFAR_EL2)); @@ -956,7 +958,9 @@ void show_registers(const struct cpu_user_regs *regs) if ( guest_mode(regs) && is_32bit_domain(current->domain) ) ctxt.ifsr32_el2 = READ_SYSREG(IFSR32_EL2); #endif +#ifdef CONFIG_MMU ctxt.vttbr_el2 = READ_SYSREG64(VTTBR_EL2); +#endif _show_registers(regs, &ctxt, guest_mode(regs), current); }