What is the change? This commit adds support for Armv8.1-M MPU architecture's PXN attribute. This includes support for configuring MPU regions with PXN via custom mpu_config, devicetree and static mpu_config. The existing MPU region attribute macros are updated to retain existing behaviour with this change with an addition of REGION_RAM_ATTR_PXN to be used if one needs to configure a RAM region with PXN MPU attribute. Why do we need this change? Armv8.1-M architecture introduced a new MPU region attribute called Privilege eXecute Never (PXN). If an MPU region is configured with the PXN attribute set and if the, processor attempts to execute code in this region while at privileged level, a Memory Management Fault exception is triggered. This ensures that specific tasks are executed only in unprivileged mode and helps in preventing secure privilege escalation attacks. Signed-off-by: Sudan Landge <sudan.landge@arm.com> |
||
|---|---|---|
| .. | ||
| beetle | ||
| designstart | ||
| fvp_aemv8a | ||
| fvp_aemv8r | ||
| mps2 | ||
| mps3 | ||
| musca | ||
| qemu_cortex_a53 | ||
| qemu_virt_arm64 | ||
| CMakeLists.txt | ||
| Kconfig | ||
| Kconfig.defconfig | ||
| Kconfig.soc | ||
| soc.yml | ||