[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xen staging] xen/arm: mpu: Introduce choice between MMU and MPU



commit 0388a5979b210ff71255ee6e277039ebdf2ee418
Author:     Ayan Kumar Halder <ayan.kumar.halder@xxxxxxx>
AuthorDate: Mon Oct 28 12:45:43 2024 +0000
Commit:     Julien Grall <jgrall@xxxxxxxxxx>
CommitDate: Fri Nov 1 14:00:46 2024 +0000

    xen/arm: mpu: Introduce choice between MMU and MPU
    
    There are features in the forthcoming patches which are dependent on
    MPU. For eg fixed start address.
    Also, some of the Xen features (eg STATIC_MEMORY) will be selected
    by the MPU configuration.
    
    Thus, this patch introduces a choice between MMU and MPU for the type
    of memory management system. By default, MMU is selected.
    MPU is now gated by UNSUPPORTED.
    
    Update SUPPORT.md to state that the support for MPU is experimental.
    Also updated CHANGELOG.md as well.
    
    Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@xxxxxxx>
    Reviewed-by: Luca Fancellu <luca.fancellu@xxxxxxx>
    Acked-by: Julien Grall <jgrall@xxxxxxxxxx>
    Acked-by: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>
---
 CHANGELOG.md                   |  2 ++
 SUPPORT.md                     |  1 +
 xen/arch/arm/Kconfig           | 17 ++++++++++++++++-
 xen/arch/arm/platforms/Kconfig |  2 +-
 4 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index c499d12dc4..674944cbe4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -12,6 +12,8 @@ The format is based on [Keep a 
Changelog](https://keepachangelog.com/en/1.0.0/)
    - Prefer ACPI reboot over UEFI ResetSystem() run time service call.
 
 ### Added
+ - On Arm:
+   - Experimental support for Armv8-R.
 
 ### Removed
  - On x86:
diff --git a/SUPPORT.md b/SUPPORT.md
index 4f56094356..82239d0294 100644
--- a/SUPPORT.md
+++ b/SUPPORT.md
@@ -40,6 +40,7 @@ supported in this document.
 
     Status, Xen in AArch64 mode: Supported
     Status, Xen in AArch32 mode: Tech Preview
+    Status, Xen in Armv8-R: Experimental
     Status, Cortex A57 r0p0-r1p1: Supported, not security supported
     Status, Cortex A77 r0p0-r1p0: Supported, not security supported
 
diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 323c967361..ed92eb67cb 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -58,10 +58,25 @@ config PADDR_BITS
        default 40 if ARM_PA_BITS_40
        default 48 if ARM_64
 
+choice
+       prompt "Memory management system"
+       default MMU
+       help
+         User can choose between the different forms of memory management 
system.
+
 config MMU
-       def_bool y
+       bool "MMU"
        select HAS_PMAP
        select HAS_VMAP
+       help
+         Select it if you plan to run Xen on A-profile Armv7+
+
+config MPU
+       bool "MPU" if UNSUPPORTED
+       help
+         Memory Protection Unit (MPU). Select if you plan to run Xen on ARMv8-R
+         systems supporting EL2. (UNSUPPORTED)
+endchoice
 
 source "arch/Kconfig"
 
diff --git a/xen/arch/arm/platforms/Kconfig b/xen/arch/arm/platforms/Kconfig
index 76f7e76b1b..02322c259c 100644
--- a/xen/arch/arm/platforms/Kconfig
+++ b/xen/arch/arm/platforms/Kconfig
@@ -1,5 +1,5 @@
 choice
-       prompt "Platform Support"
+       prompt "Platform Support" if MMU
        default ALL_PLAT
        help
        Choose which hardware platform to enable in Xen.
--
generated by git-patchbot for /home/xen/git/xen.git#staging



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.