[PATCH v4 2/6] xen/arm: mpu: Introduce choice between MMU and MPU

Ayan Kumar Halder posted 6 patches 3 weeks, 5 days ago
There is a newer version of this series
[PATCH v4 2/6] xen/arm: mpu: Introduce choice between MMU and MPU
Posted by Ayan Kumar Halder 3 weeks, 5 days ago
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@amd.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---

Changes from :-

v1 - 1. Reword the help messages.
2. Update Support.md.

v2 - 1. Reword the help message.

v3 - 1. Update Changelog.
2. Add R-b and Ack.

 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..79524cc15f 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:
+   - Support for earlyboot of Xen on Armv8-R (experimental).
 
 ### Removed
  - On x86:
diff --git a/SUPPORT.md b/SUPPORT.md
index 23dd7e6424..94610d3c91 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.
-- 
2.25.1
Re: [PATCH v4 2/6] xen/arm: mpu: Introduce choice between MMU and MPU
Posted by Andrew Cooper 3 weeks, 4 days ago
On 28/10/2024 12:45 pm, Ayan Kumar Halder wrote:
> diff --git a/CHANGELOG.md b/CHANGELOG.md
> index c499d12dc4..79524cc15f 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:
> +   - Support for earlyboot of Xen on Armv8-R (experimental).

Simply "Experimental support for Armv8-R".

The rest of that sentence is going to go stale quite quickly.

~Andrew
Re: [PATCH v4 2/6] xen/arm: mpu: Introduce choice between MMU and MPU
Posted by oleksii.kurochko@gmail.com 3 weeks, 4 days ago
On Tue, 2024-10-29 at 09:53 +0000, Andrew Cooper wrote:
> On 28/10/2024 12:45 pm, Ayan Kumar Halder wrote:
> > diff --git a/CHANGELOG.md b/CHANGELOG.md
> > index c499d12dc4..79524cc15f 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:
> > +   - Support for earlyboot of Xen on Armv8-R (experimental).
> 
> Simply "Experimental support for Armv8-R".
> 
> The rest of that sentence is going to go stale quite quickly.
With suggested by Andrew: Acked-by: Oleksii Kurochko
<oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii