From patchwork Fri Jan 27 11:40:45 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joey Gouly X-Patchwork-Id: 13118655 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 47461C38142 for ; Fri, 27 Jan 2023 12:57:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:CC:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=aW1HbEPjCm5U7wQxRiAs7D3DaRawzHuVJ2+ZOpwm8yM=; b=B47Vn2NR/4CyjH Vn2nncaa8EWf9/UanIZgb4cjw+pd6CRRtUy2SQAjMXmvFz0IU3RieOTaScCYlVddaaMpHutRB3dze kgLfwoWfaO2q/sKpfbQw6ggwYEOnkDDofhnwCVHpGok68Eg9lwCuS6isTDpipipFNEIuSmE2kYfwj GqkGHGlWjcnnz50AbBpOYD3vmWjao2kc57qCpRllelPmfXcGI4rXQkucoNAQVMl8d1nfZqoIo0VgJ QrIsEnAJ2Ig1OPi+YFXh9imC9aDQnh/AfKa5ULnwAzQy76Vgi+w+ojZJNenoujNlFQHzdNTr2Da4M RRu40QimKF1kmdMQw1kg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pLOGj-00Ekxt-IU; Fri, 27 Jan 2023 12:55:54 +0000 Received: from mail-vi1eur05on2067.outbound.protection.outlook.com ([40.107.21.67] helo=EUR05-VI1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pLNMN-00EKhQ-HU for linux-arm-kernel@lists.infradead.org; Fri, 27 Jan 2023 11:57:37 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=H8sHXFvJ6444qJbO+o+cXMiU4CBVfbUwsWai7SxWeag=; b=e2/XbBfwNMmUC+Gvs3Wymu04s11GLUMlFwKiOOj+FVgYOrxAOc4oPahAtcQZyXyrwz66h1VM19w5PB4IY5GR9hcUKwiNVjneldF+I/quaF+Wvp0e+A8frRNpELBIeKkfFX/tkyKuSjn27NrZfV/vMoIZ0ucA4Q3gdAfbbP858rw= Received: from DU2PR04CA0199.eurprd04.prod.outlook.com (2603:10a6:10:28d::24) by DU2PR08MB10085.eurprd08.prod.outlook.com (2603:10a6:10:496::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.33; Fri, 27 Jan 2023 11:41:49 +0000 Received: from DBAEUR03FT010.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:28d:cafe::4c) by DU2PR04CA0199.outlook.office365.com (2603:10a6:10:28d::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6043.23 via Frontend Transport; Fri, 27 Jan 2023 11:41:49 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DBAEUR03FT010.mail.protection.outlook.com (100.127.142.78) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6043.21 via Frontend Transport; Fri, 27 Jan 2023 11:41:49 +0000 Received: ("Tessian outbound b1d3ffe56e73:v132"); Fri, 27 Jan 2023 11:41:49 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 5a31f9a9640e9a99 X-CR-MTA-TID: 64aa7808 Received: from e0b838b7eec7.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id D13009A3-622D-449A-8551-F371553DB98C.1; Fri, 27 Jan 2023 11:41:43 +0000 Received: from EUR04-DB3-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e0b838b7eec7.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 27 Jan 2023 11:41:43 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OjvLzw4zXix/ilBq/8OWJaaTOJO7yDqbyWC0mE9TbIh4A9sapAQ3gTbGKjPOn8ZrhuWZjRR7+rj5SjDCUa1Ij+MMNWCZS77KnY6kgAGGqbitqrAW3JCpubkMIwRrtrHFlPbtd7IReb3v0C6OaZ0h3enY0QM8M0Xi0/uOruFE9vhdw1aWoxUbSCty4H6BZn+U05hH2qmJjz0YS6BW4yxO2CsLFExWgDjElx73a+7v3S8nWnCaMSGOZlYDj1WBtQNpkiGDE1hktqQOuaBweRhfGkxl78cd5vnj0uq+FLCmkWTDhSYPSWolxumZq393Uvt51Fh1Z3Hq4mIfg8WPfka9qQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=H8sHXFvJ6444qJbO+o+cXMiU4CBVfbUwsWai7SxWeag=; b=SCIM5fz38RRTNTo6ZMTieMSqAFm2fBqQCKoNo9JtpGcV3T7k3YtWfMYr+mkoA9IOI5A3aqMGbuRnGLjtThpAlTnR/WIM2vGV41xow7TpPFQFVKqpueP1HOWG7NrquAAjaM1nL4k5kMog7njTfSYc+8WzburuLKXOKWOi7iBJNR7ITHfkdiSCD/Op41C85B714C6yMvZ2LUWtjGxzM13d7r0jyY5oLPxkqV+vKlodlRkoE9pKTlj3eh66n/NMhSergh5jZfPebBxJMjBupXTjcFounTomCu5bd355F9gQJ1Gvp4PIij6q4lkJ3TVMT9T/i36Nu4/VP1muoUoU63gRDg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=linux.dev smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=H8sHXFvJ6444qJbO+o+cXMiU4CBVfbUwsWai7SxWeag=; b=e2/XbBfwNMmUC+Gvs3Wymu04s11GLUMlFwKiOOj+FVgYOrxAOc4oPahAtcQZyXyrwz66h1VM19w5PB4IY5GR9hcUKwiNVjneldF+I/quaF+Wvp0e+A8frRNpELBIeKkfFX/tkyKuSjn27NrZfV/vMoIZ0ucA4Q3gdAfbbP858rw= Received: from AS8P251CA0019.EURP251.PROD.OUTLOOK.COM (2603:10a6:20b:2f2::22) by PAWPR08MB10240.eurprd08.prod.outlook.com (2603:10a6:102:366::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.33; Fri, 27 Jan 2023 11:41:40 +0000 Received: from AM7EUR03FT040.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:2f2:cafe::fa) by AS8P251CA0019.outlook.office365.com (2603:10a6:20b:2f2::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6043.23 via Frontend Transport; Fri, 27 Jan 2023 11:41:39 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (40.67.248.234) by AM7EUR03FT040.mail.protection.outlook.com (100.127.140.128) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6043.21 via Frontend Transport; Fri, 27 Jan 2023 11:41:39 +0000 Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX03.Arm.com (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Fri, 27 Jan 2023 11:41:38 +0000 Received: from e124191.cambridge.arm.com (10.1.197.45) by mail.arm.com (10.251.24.31) with Microsoft SMTP Server id 15.1.2507.16 via Frontend Transport; Fri, 27 Jan 2023 11:41:33 +0000 From: Joey Gouly To: Andrew Jones , , CC: , Alexandru Elisei , Christoffer Dall , Fuad Tabba , Jean-Philippe Brucker , Joey Gouly , Marc Zyngier , Mark Rutland , Oliver Upton , Paolo Bonzini , Quentin Perret , Steven Price , Suzuki K Poulose , "Thomas Huth" , Will Deacon , Zenghui Yu , , , , Subject: [RFC kvm-unit-tests 04/27] arm: Make physical address mask dynamic Date: Fri, 27 Jan 2023 11:40:45 +0000 Message-ID: <20230127114108.10025-5-joey.gouly@arm.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230127114108.10025-1-joey.gouly@arm.com> References: <20230127112248.136810-1-suzuki.poulose@arm.com> <20230127114108.10025-1-joey.gouly@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AM7EUR03FT040:EE_|PAWPR08MB10240:EE_|DBAEUR03FT010:EE_|DU2PR08MB10085:EE_ X-MS-Office365-Filtering-Correlation-Id: 9d44be54-1a94-4b10-f50d-08db005b7a6b x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: NcAY6Ey9UNYkbzeWzIE9gX9s1ZThcug6XtKJ7XfSFzseZChi/OGbtRq2tFle65O1/3evqnnN43m3cX+2h5aXjdpZSZ1IOdOYRmqAYrgQbBCgUXc5wjbm8Dhlng2+NQQseedy5aozC/hWE+QD70AC4nVM3/FGsr8TUPfR+UWeZTMCcHPYgVIQ5vrW/+DAJupUNXnmpJN/+6TlRIGU7hHxf//ymKeOOBeVPDjZxO0RCuUou0FFMOFprMnlTJQGBLgQHHaP69JBFcDNvdEpSHEyj+grkGCN8iLLyN8XEmrwJBV2X51Y43Vk1iIkGtO0Jcgu9pu/o6c7q5zlst1Jr27W3iBTUYW1qayLOSOi3m4hvcGaEpSxqbNXLN8ErgzNSMd4ao7u96Gmp1oJUHuW4rzy3pjdEqa+0Z4ae6s5SJv2UMEYKhPgNyrK1lRIpE5UCFVEdpEi30wdKVx+MJXshf7CndXyNfcmRDrwfIgK4OClzVK2QgZG1LYvVR6y0cu/Qip8l7gyuzZL1Ru4SFBRlp9gQwy9mY/qIN4pcsyQ0Yt9l41pfOaUks9N3BwP5iVJcAxaBQDGhkyCqXa10InpzKOy7eV90SgZzUByezuEToJdkScG/GFczUMM8cPMb0rnTI3orNBzYoAdZcZVGlADO363bOoRL2zNLQ95m3SFnrvFZxX2bvQ8qOcoAHiA9TOQRIehTkh1Sz9uKvbjc9tYmXLXG2qbQIuEIrMRKWXF7t9Bxz0uFL7y4GPc6xbO27RA47gO X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230025)(4636009)(396003)(39860400002)(136003)(376002)(346002)(451199018)(36840700001)(46966006)(40470700004)(336012)(82740400003)(110136005)(426003)(26005)(8936002)(478600001)(7696005)(86362001)(41300700001)(356005)(7416002)(36756003)(2616005)(40480700001)(81166007)(82310400005)(44832011)(4326008)(40460700003)(1076003)(186003)(54906003)(70206006)(5660300002)(316002)(8676002)(6666004)(47076005)(2906002)(70586007)(83380400001)(36860700001)(36900700001)(2101003);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB10240 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DBAEUR03FT010.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: c5e6b6b8-f472-4473-700f-08db005b742d X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 5Xdm+4W2Bsf5b3JvXRM8HE4yfC/LJyLLIGrz0PSdvUl355oV4P84j3GxD6OsuMBhPfdqUNQdcEGyyQDenze3boTC8xYkzn9R/+Z/7y7X2esxLw0WAahtA3yuwNKMdIW4rikxlfziJMsFPq+daXQ9JeK266oNmZH7jZetSYQiEKWEO0e+xxL5lMknIBqnKX4tcr6UhuD6dE0bLIkj7THgjRomO9rMKy9IrSz+p1UOASXB6nCw3o7y1FZFePmh2VC8cwPpgDFn6115BPJncuLYtKnTSmxWkqoD1qix1Zgwu4e2tDgUv4apTcZhPBBiTCuEcT6cZJZphqTwypouiU7ppB0tW3J5+nlB/CltYQmtCmWCgbwDj1tBrW87i0DUQ4kGlAbCEmyqc/gsKqxSLzajO1errKVvSPqNmiczpMUjry8ABdi+gAJE0zCL4bD0S3AZZQiHRrCNts9cCreFE7N4qvlHkqwGHMv4QEXw3HILP1XCz7emFEZ7DDvDuEhmJN4Wi2QdHQhvDFVKtM535Nfk1lCeuobhaGJC5uYydMWPcGc01gUaYpkkCdaDyvLd+2zki4sxLOBjJ5yZhn6/zf38WXoFes3JnjEihq4IKtoFwqxitqspAOFmjwUSmkR7cauDkuBgLL0PCNm1BUVVz8GwlWS2qTaelbSE5qUq1Lw9ud+i0aN36Bmdxt1S/7AlGO1VbKEyWgz1ZwR/tvtX/UPfJBXUll9gIyjAySRyoiWOYrc= X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230025)(4636009)(136003)(346002)(396003)(39860400002)(376002)(451199018)(36840700001)(46966006)(40470700004)(316002)(40460700003)(478600001)(110136005)(47076005)(36756003)(54906003)(426003)(82740400003)(5660300002)(2906002)(8936002)(44832011)(70206006)(70586007)(4326008)(86362001)(36860700001)(8676002)(2616005)(40480700001)(82310400005)(1076003)(6666004)(186003)(26005)(7696005)(336012)(41300700001)(83380400001)(81166007)(107886003)(2101003);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2023 11:41:49.8976 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9d44be54-1a94-4b10-f50d-08db005b7a6b X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DBAEUR03FT010.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR08MB10085 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230127_035735_722721_5C8D15B0 X-CRM114-Status: GOOD ( 12.26 ) 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 We are about to add Realm support where the physical address width may be known via RSI. Make the Physical Address mask dynamic, so that it can be adjusted to the limit for the realm. This will be required for making pages shared, as we introduce the "sharing" attribute as the top bit of the IPA. Signed-off-by: Joey Gouly --- lib/arm/mmu.c | 2 ++ lib/arm/setup.c | 1 + lib/arm64/asm/pgtable-hwdef.h | 6 ------ lib/arm64/asm/pgtable.h | 9 +++++++++ 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/lib/arm/mmu.c b/lib/arm/mmu.c index e1a72fe4..acaf5614 100644 --- a/lib/arm/mmu.c +++ b/lib/arm/mmu.c @@ -22,6 +22,8 @@ pgd_t *mmu_idmap; +unsigned long phys_mask_shift = 48; + /* CPU 0 starts with disabled MMU */ static cpumask_t mmu_enabled_cpumask; diff --git a/lib/arm/setup.c b/lib/arm/setup.c index bcdf0d78..81052a3d 100644 --- a/lib/arm/setup.c +++ b/lib/arm/setup.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include diff --git a/lib/arm64/asm/pgtable-hwdef.h b/lib/arm64/asm/pgtable-hwdef.h index 8c41fe12..ac95550b 100644 --- a/lib/arm64/asm/pgtable-hwdef.h +++ b/lib/arm64/asm/pgtable-hwdef.h @@ -115,12 +115,6 @@ #define PTE_ATTRINDX(t) (_AT(pteval_t, (t)) << 2) #define PTE_ATTRINDX_MASK (_AT(pteval_t, 7) << 2) -/* - * Highest possible physical address supported. - */ -#define PHYS_MASK_SHIFT (48) -#define PHYS_MASK ((UL(1) << PHYS_MASK_SHIFT) - 1) - /* * TCR flags. */ diff --git a/lib/arm64/asm/pgtable.h b/lib/arm64/asm/pgtable.h index bfb8a993..22ce64f0 100644 --- a/lib/arm64/asm/pgtable.h +++ b/lib/arm64/asm/pgtable.h @@ -21,6 +21,15 @@ #include +extern unsigned long prot_ns_shared; +/* + * Highest possible physical address supported. + */ +extern unsigned long phys_mask_shift; +#define PHYS_MASK_SHIFT (phys_mask_shift) +#define PHYS_MASK ((UL(1) << PHYS_MASK_SHIFT) - 1) + + /* * We can convert va <=> pa page table addresses with simple casts * because we always allocate their pages with alloc_page(), and