From 211ddf1c7e09050051c95450d0f8974af56811c7 Mon Sep 17 00:00:00 2001 From: Grant Ramsay Date: Sun, 28 Jan 2024 11:51:13 +1300 Subject: [PATCH] soc: arm: xilinx_zynqmp: Add "Execute Never" MPU flag to non-code RAM Executing from RAM sections other than rom/code should cause a fault. This is tested as part of the kernel mem_protect tests. Signed-off-by: Grant Ramsay --- soc/arm/xilinx_zynqmp/arm_mpu_regions.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/soc/arm/xilinx_zynqmp/arm_mpu_regions.c b/soc/arm/xilinx_zynqmp/arm_mpu_regions.c index 5a6f8dc6c21..a4f36402d2c 100644 --- a/soc/arm/xilinx_zynqmp/arm_mpu_regions.c +++ b/soc/arm/xilinx_zynqmp/arm_mpu_regions.c @@ -22,11 +22,12 @@ | MPU_RASR_B_Msk) \ } -#define MPUTYPE_PRIV_WBWACACHE \ +#define MPUTYPE_PRIV_WBWACACHE_XN \ { \ .rasr = (P_RW_U_NA_Msk \ | (5 << MPU_RASR_TEX_Pos) \ - | MPU_RASR_B_Msk) \ + | MPU_RASR_B_Msk \ + | MPU_RASR_XN_Msk) \ } #define MPUTYPE_PRIV_DEVICE \ @@ -45,7 +46,7 @@ static const struct arm_mpu_region mpu_regions[] = { MPU_REGION_ENTRY("SRAM_PRIV", 0x00000000, REGION_2G, - MPUTYPE_PRIV_WBWACACHE), + MPUTYPE_PRIV_WBWACACHE_XN), MPU_REGION_ENTRY("SRAM", 0x00000000,