zephyr/include/arch/arm/cortex_m
Andrew Boie 8bcffefb33 arch: arm: clean up MPU code for ARM and NXP
* We are now *much* better at not reserving unnecessary
system MPU regions based on configuration. The #defines
for intent are now an enumerated type. As a bonus, the
implementation of _get_region_index_by_type() is much
simpler. Previously we were wasting regions for stack guard
and application memory if they were not configured.

* NXP MPU doesn't reserve the last region if HW stack
protection isn't enabled.

* Certain parts of the MPU code are now properly ifdef'd
based on configuration.

* THREAD_STACK_REGION and THREAD_STACK_USER_REGION was a
confusing construction and has now been replaced with
just THREAD_STACK_REGION, which represents the MPU region
for a user mode thread stack. Supervisor mode stacks
do not require an MPU region.

* The bounds of CONFIG_APPLICATION_MEMORY never changes
and we just do it once during initialization instead of
every context switch.

* Assertions have been added to catch out-of-bounds cases.

Fixes: #7384

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2018-06-27 12:56:38 -07:00
..
mpu arch: arm: clean up MPU code for ARM and NXP 2018-06-27 12:56:38 -07:00
scripts linker: arm: add stm32 ccm sections 2018-02-13 12:36:22 -06:00
addr_types.h
asm_inline.h
asm_inline_gcc.h arch: arm: common Armv8-M support 2018-02-08 12:07:38 -06:00
cmsis.h arch: arm: fix SecureFault IRQn for non-CMSIS compliant MCUs 2018-05-15 08:57:16 -05:00
error.h arm: userspace: Add ARM userspace infrastructure 2018-02-13 12:42:37 -08:00
exc.h arch: arm: Set Zero Latency IRQ to priority level zero: 2018-06-20 18:05:02 +02:00
irq.h cleanup: replace old jira numbers with GH issues 2018-03-26 13:13:04 -04:00
memory_map.h arch: arm: define Cortex-M23, Cortex-M33 CPUs 2018-02-08 12:07:38 -06:00
misc.h
nmi.h
sys_io.h