From patchwork Fri Feb 28 16:18:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Fancellu X-Patchwork-Id: 13996728 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 06493C282C1 for ; Fri, 28 Feb 2025 16:19:03 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.898955.1307403 (Exim 4.92) (envelope-from ) id 1to34H-0003Up-DZ; Fri, 28 Feb 2025 16:18:29 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 898955.1307403; Fri, 28 Feb 2025 16:18:29 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1to34H-0003Ui-9q; Fri, 28 Feb 2025 16:18:29 +0000 Received: by outflank-mailman (input) for mailman id 898955; Fri, 28 Feb 2025 16:18:27 +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 1to34F-0003Ub-UT for xen-devel@lists.xenproject.org; Fri, 28 Feb 2025 16:18:27 +0000 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by se1-gles-sth1.inumbo.com (Halon) with ESMTP id a3498972-f5ef-11ef-9aaf-95dc52dad729; Fri, 28 Feb 2025 17:18:26 +0100 (CET) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 89272150C; Fri, 28 Feb 2025 08:18:40 -0800 (PST) Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 652D73F5A1; Fri, 28 Feb 2025 08:18:24 -0800 (PST) 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: a3498972-f5ef-11ef-9aaf-95dc52dad729 From: Luca Fancellu To: xen-devel@lists.xenproject.org Cc: Stefano Stabellini , Julien Grall , Bertrand Marquis , Michal Orzel , Volodymyr Babchuk Subject: [PATCH 0/9] First chunk for Arm R82 and MPU support Date: Fri, 28 Feb 2025 16:18:08 +0000 Message-Id: <20250228161817.3342443-1-luca.fancellu@arm.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Hi all, This is the first chunk of work to support MPU and R82 on Xen, this serie reaches the early boot stages until setup_pagetables() which will be renamed in one of the commit on the serie to have a more generic name between MPU and MMU memory management subsystem. Luca Fancellu (7): arm/mpu: Add HYPERVISOR_VIRT_START and avoid a check in xen.lds.S arm/mpu: Provide access to the MPU region from the C code arm/mpu: Introduce utility functions for the pr_t type arm/mpu: Provide a constructor for pr_t type arm/mpu: Introduce MPU memory mapping flags arm/mpu: Implement early_fdt_map support in MPU systems arm/mpu: Implement setup_mappings for MPU system Penny Zheng (2): arm/mpu: Implement virt/maddr conversion in MPU system arm/mpu: Introduce MPU memory region map structure xen/arch/arm/Makefile | 1 + xen/arch/arm/include/asm/arm64/mpu.h | 92 ++++++++++ xen/arch/arm/include/asm/mm.h | 15 +- xen/arch/arm/include/asm/mmu/mm.h | 7 + xen/arch/arm/include/asm/mpu/layout.h | 2 + xen/arch/arm/include/asm/mpu/mm.h | 59 +++++++ xen/arch/arm/include/asm/page.h | 25 +++ xen/arch/arm/mmu/setup.c | 2 +- xen/arch/arm/mpu/Makefile | 2 + xen/arch/arm/mpu/mm.c | 236 ++++++++++++++++++++++++++ xen/arch/arm/mpu/setup.c | 112 ++++++++++++ xen/arch/arm/setup.c | 2 +- xen/arch/arm/xen.lds.S | 2 + 13 files changed, 548 insertions(+), 9 deletions(-) create mode 100644 xen/arch/arm/include/asm/mpu/mm.h create mode 100644 xen/arch/arm/mpu/Makefile create mode 100644 xen/arch/arm/mpu/mm.c create mode 100644 xen/arch/arm/mpu/setup.c