zephyr/soc/arm
Sudan Landge d7c629696d arch: arm: Add PXN support for Armv8.1-M
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>
2025-03-20 12:17:11 +01:00
..
beetle zephyr: bulk update to DT_NODE_HAS_STATUS_OKAY 2024-10-03 17:06:52 +01:00
designstart
fvp_aemv8a
fvp_aemv8r
mps2 drivers: gpio: mmio32: update gpio_mmio32 to behave like other divers 2025-02-14 10:42:02 +01:00
mps3 arch: arm: Add PXN support for Armv8.1-M 2025-03-20 12:17:11 +01:00
musca
qemu_cortex_a53
qemu_virt_arm64
CMakeLists.txt
Kconfig
Kconfig.defconfig
Kconfig.soc
soc.yml soc: arm: mps2: Add support for mps2/an500 soc 2025-01-20 11:15:32 +01:00