Hi all, this serie implements the skeleton for the MPU memory management subsystem, at the end of the serie it will be possible to compile the Arm64 arch using MPU.
The minimum Arm Kconfig configuration is this one: CONFIG_UNSUPPORTED=y CONFIG_MPU=y CONFIG_XEN_START_ADDRESS=0x0 Luca Fancellu (5): arm/mpu: Add HYPERVISOR_VIRT_START and avoid a check in xen.lds.S xen/arm: Introduce frame_table and virt_to_page arm/mpu: Kconfig symbols for MPU build arm/mpu: Implement stubs for ioremap_attr on MPU arm/mpu: Create the skeleton for MPU compilation Penny Zheng (2): xen/arm: Implement virt/maddr conversion in MPU system xen: introduce Kconfig ARCH_PAGING_MEMPOOL xen/arch/arm/Kconfig | 4 +- xen/arch/arm/arm64/mpu/Makefile | 2 + xen/arch/arm/arm64/mpu/p2m.c | 19 ++++++ xen/arch/arm/arm64/mpu/smpboot.c | 26 +++++++++ xen/arch/arm/dom0less-build.c | 70 +++++++++++++--------- xen/arch/arm/include/asm/domain.h | 2 + xen/arch/arm/include/asm/mm.h | 76 +++--------------------- xen/arch/arm/include/asm/mmu/mm.h | 70 ++++++++++++++++++++++ xen/arch/arm/include/asm/mpu/layout.h | 5 ++ xen/arch/arm/include/asm/mpu/mm.h | 41 +++++++++++++ xen/arch/arm/include/asm/mpu/p2m.h | 21 +++++++ xen/arch/arm/include/asm/p2m.h | 2 +- xen/arch/arm/mm.c | 5 ++ xen/arch/arm/mmu/pt.c | 5 -- xen/arch/arm/mpu/Makefile | 3 + xen/arch/arm/mpu/mm.c | 45 +++++++++++++- xen/arch/arm/mpu/p2m.c | 84 +++++++++++++++++++++++++++ xen/arch/arm/mpu/setup.c | 40 +++++++++++++ xen/arch/arm/mpu/vmap.c | 26 +++++++++ xen/arch/arm/xen.lds.S | 2 + xen/arch/riscv/stubs.c | 11 ---- xen/arch/x86/Kconfig | 1 + xen/common/Kconfig | 3 + xen/include/xen/domain.h | 17 ++++++ 24 files changed, 467 insertions(+), 113 deletions(-) create mode 100644 xen/arch/arm/arm64/mpu/p2m.c create mode 100644 xen/arch/arm/arm64/mpu/smpboot.c create mode 100644 xen/arch/arm/include/asm/mpu/mm.h create mode 100644 xen/arch/arm/include/asm/mpu/p2m.h create mode 100644 xen/arch/arm/mpu/p2m.c create mode 100644 xen/arch/arm/mpu/setup.c create mode 100644 xen/arch/arm/mpu/vmap.c -- 2.34.1