zephyr/soc/arm64
Jaxson Han 0f7bbff050 arch: arm64: Refine v8R AArch64 MPU regions switch
The current mechanism of the MPU region switching configures and
reprograms the regions (including inserting, splitting the dynamic
region, and flushing the regions to the registers) every time during the
context switch. This, not only causes a large usage of the kernel stack
but also a lower performance.

To improve it, move the configuration operations ahead to make sure the
context swtich only flushes the current thread regions to the registers
and does not configure the regions anymore. To achieve this, configure
the regions during any operations related to partitions (partition
add/remove, and domain add/remove thread), flush the sys_dyn_regions if
the current thread is the privileged thread, and flush the thread's own
regions if it's a user thread.

Signed-off-by: Jaxson Han <jaxson.han@arm.com>
2023-08-21 13:27:07 +02:00
..
arm arch: arm64: Refine v8R AArch64 MPU regions switch 2023-08-21 13:27:07 +02:00
bcm_vk timer: allow for configuring it out 2023-08-03 10:29:46 +02:00
intel_socfpga soc: arm64: Add agilex5 soc folder and its configurations 2023-07-25 16:58:01 +00:00
nxp_imx timer: allow for configuring it out 2023-08-03 10:29:46 +02:00
nxp_layerscape timer: allow for configuring it out 2023-08-03 10:29:46 +02:00
qemu_cortex_a53
qemu_virt_arm64
renesas_rcar timer: allow for configuring it out 2023-08-03 10:29:46 +02:00
rockchip timer: allow for configuring it out 2023-08-03 10:29:46 +02:00
ti_k3 timer: allow for configuring it out 2023-08-03 10:29:46 +02:00
xenvm timer: allow for configuring it out 2023-08-03 10:29:46 +02:00
CMakeLists.txt
Kconfig