arm/mpu: Introduce v8r_el1_msa device tree property for domains

Add a new device tree property `v8r_el1_msa` to select the MSA (memory
system architecture) at EL1 for Armv8-R architecture: MPU or MMU, the
former is the default if the property is not passed.

Implement the dom0less path to parse the new device tree property, add
a new domctl hypercall input parameter `v8r_el1_msa` for arm and
add the sanitisation in arch_sanitise_domain_config(), the parameter
is intended to be used on CONFIG_MPU systems and returns an error if
selected for MMU.

While there, add explicit padding and check that it's zero during
arch domain config sanitisation, given the breaking change, bump the
XEN_DOMCTL_INTERFACE_VERSION.

Signed-off-by: Harry Ramsey <harry.ramsey@arm.com>
Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
This commit is contained in:
Harry Ramsey authored and Michal Orzel committed 2026-05-15 09:08:19 +02:00
1 parent a5aa6a7379
commit 1afacf7b15
8 files changed
+141 -2

No files matched your search

+14
View File
@@ -322,6 +322,20 @@ with the following properties:
Should be used together with scmi-smc-passthrough Xen command line
option.
- v8r_el1_msa
A string property specifying whether, on Armv8-R systems at EL1, a domain
should use PMSAv8 (MPU) or VMSAv8 (MMU).
- "mmu"
Enables VMSAv8 at EL1. This requires hardware support and is only
optionally available on AArch64. Not supported on AArch32.
- "mpu"
Enables PMSAv8 at EL1. This is the default behavior when the property is
not passed. This configuration requires static allocation (xen,static-mem)
and direct mapping (direct-map).
Under the "xen,domain" compatible node, one or more sub-nodes are present
for the DomU kernel and ramdisk.
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.