mbox series

[00/10] MPU mm subsistem skeleton

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

Message

Luca Fancellu March 12, 2025, 1:52 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 Arm arch using MPU.

The minimum Arm Kconfig configuration is this one:

CONFIG_UNSUPPORTED=y
CONFIG_MPU=y
CONFIG_XEN_START_ADDRESS=0x0

Luca Fancellu (8):
  xen/passthrough: Provide stub functions when !HAS_PASSTHROUGH
  xen/arm: Restrict Kconfig configuration for LLC coloring
  arm/mpu: Add HYPERVISOR_VIRT_START and avoid a check in xen.lds.S
  arm/mpu: Introduce frame_table, virt_to_page, maddr_to_virt
  arm/mpu: Kconfig symbols for MPU build
  arm/mpu: Implement stubs for ioremap_attr on MPU
  xen/arm: Rename setup_pagetables with a more generic name
  arm/mpu: Create the skeleton for MPU compilation

Penny Zheng (2):
  arm/mpu: Implement virt/maddr conversion in MPU system
  xen/arm: introduce Kconfig HAS_PAGING_MEMPOOL

 xen/arch/arm/Kconfig                   |  9 ++-
 xen/arch/arm/arm64/mpu/Makefile        |  2 +
 xen/arch/arm/arm64/mpu/p2m.c           | 18 +++++
 xen/arch/arm/arm64/mpu/smpboot.c       | 23 +++++++
 xen/arch/arm/dom0less-build.c          |  2 +
 xen/arch/arm/include/asm/domain.h      |  2 +
 xen/arch/arm/include/asm/grant_table.h |  5 +-
 xen/arch/arm/include/asm/mm.h          | 33 +++++++--
 xen/arch/arm/include/asm/mmu/mm.h      |  7 ++
 xen/arch/arm/include/asm/mpu/layout.h  |  5 ++
 xen/arch/arm/include/asm/mpu/mm.h      | 30 ++++++++
 xen/arch/arm/include/asm/mpu/p2m.h     | 20 ++++++
 xen/arch/arm/include/asm/p2m.h         |  2 +-
 xen/arch/arm/mm.c                      |  5 ++
 xen/arch/arm/mmu/pt.c                  |  5 --
 xen/arch/arm/mmu/setup.c               |  2 +-
 xen/arch/arm/mpu/Makefile              |  3 +
 xen/arch/arm/mpu/mm.c                  | 41 +++++++++++
 xen/arch/arm/mpu/p2m.c                 | 94 ++++++++++++++++++++++++++
 xen/arch/arm/mpu/setup.c               | 42 ++++++++++++
 xen/arch/arm/mpu/vmap-mpu.c            | 24 +++++++
 xen/arch/arm/setup.c                   |  6 +-
 xen/arch/arm/xen.lds.S                 |  2 +
 xen/include/xen/iommu.h                | 54 ++++++++++++++-
 24 files changed, 414 insertions(+), 22 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-mpu.c