mbox series

[v3,0/7] MPU mm subsystem skeleton

Message ID 20250317200727.798696-1-luca.fancellu@arm.com (mailing list archive)
Headers show
Series MPU mm subsystem skeleton | expand

Message

Luca Fancellu March 17, 2025, 8:07 p.m. UTC
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         | 74 ++++++++++++++---------
 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/Kconfig                |  1 +
 xen/arch/x86/Kconfig                  |  1 +
 xen/common/Kconfig                    |  3 +
 xen/include/xen/domain.h              | 17 ++++++
 24 files changed, 472 insertions(+), 102 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