Hi Luca,
On 11/04/2025 23:56, Luca Fancellu wrote:
Introduce the MPU memory mapping flags in asm/page.h.
Signed-off-by: Luca Fancellu <luca.fance...@arm.com>
---
xen/arch/arm/include/asm/page.h | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/xen/arch/arm/include/asm/page.h b/xen/arch/arm/include/asm/page.h
index 69f817d1e68a..22f7d2c6cb30 100644
--- a/xen/arch/arm/include/asm/page.h
+++ b/xen/arch/arm/include/asm/page.h
@@ -62,6 +62,7 @@
#define MAIRVAL (MAIR1VAL << 32 | MAIR0VAL)
+#ifdef CONFIG_MMU
/*
* Layout of the flags used for updating the hypervisor page tables
*
@@ -90,6 +91,30 @@
#define _PAGE_CONTIG_BIT 8
#define _PAGE_CONTIG (1U << _PAGE_CONTIG_BIT)
+#else /* !CONFIG_MMU */
+
+/*
+ * Layout of the flags used for updating MPU memory region attributes
+ * [0:2] Memory attribute Index
+ * [3:4] Execute Never
+ * [5:6] Access Permission
I am rather confused why we are splitting Execute Never from the Access
Permission. I guess you tried to match the HW, but it also means we need
to duplicate a lot of define between the MMU and MPU code.
Instead, I would rather try to re-use the existing ones and ignore the
ones we don't need (e.g. BLOCK_BIT and CONTIG).
Cheers,
--
Julien Grall