Introduce a Kconfig option CONFIG_HAS_MPU to enable MPU architecture support. STATIC_MEMORY, ARCH_MAP_DOMAIN_PAGE and ARM_SECURE_STATE will be selected by MPU system by default. Also, features like, ARM_EFI, are not supported right now.
Current MPU system design is only for ARM 64-bit platform. Signed-off-by: Penny Zheng <penny.zh...@arm.com> Signed-off-by: Wei Chen <wei.c...@arm.com> --- v3: - select ARCH_MAP_DOMAIN_PAGE and ARM_SECURE_STATE - remove platform-specific config: CONFIG_ARM_V8R --- xen/arch/arm/Kconfig | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig index 3f67aacbbf..2acdf39ec8 100644 --- a/xen/arch/arm/Kconfig +++ b/xen/arch/arm/Kconfig @@ -62,6 +62,7 @@ source "arch/Kconfig" config HAS_MMU bool "Memory Management Unit support in a VMSA system" default y + depends on !HAS_MPU select HAS_PAGING_MEMPOOL select HAS_PMAP select HAS_VMAP @@ -70,6 +71,17 @@ config HAS_MMU a memory system through a set of virtual to physical address mappings and associated memory properties held in memory-mapped tables known as translation tables. +config HAS_MPU + bool "Memory Protection Unit support in a PMSA system" + default n + depends on ARM_64 + select ARCH_MAP_DOMAIN_PAGE + select ARM_SECURE_STATE + select STATIC_MEMORY + help + The PMSA is based on a Memory Protection Unit (MPU), which provides a much simpler + memory protection scheme than the MMU based VMSA. + config HAS_FIXMAP bool "Provide special-purpose 4K mapping slots in a VMSA" depends on HAS_MMU @@ -85,7 +97,7 @@ config ACPI config ARM_EFI bool "UEFI boot service support" - depends on ARM_64 + depends on ARM_64 && !HAS_MPU default y help This option provides support for boot services through -- 2.25.1