zephyr/arch/arm/core/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
..
cmse arch: arm: implement cmse address range check (secure) 2018-06-15 13:14:27 +02:00
mpu arch: arm: clean up MPU code for ARM and NXP 2018-06-27 12:56:38 -07:00
CMakeLists.txt arch: Cmake: Add __ZEPHYR_SUPERVISOR__ macro for arch files. 2018-05-15 17:48:18 +03:00
Kconfig arch: arm: Kconfig: Remove redundant 'default n' properties 2018-06-26 11:07:57 -05:00
exc_manage.c Convert remaining code to using newly introduced integer sized types 2017-04-21 11:38:23 -05:00
nmi.c linker: move all linker headers to include/linker 2017-06-18 09:24:04 -05:00
nmi_on_reset.S linker: move all linker headers to include/linker 2017-06-18 09:24:04 -05:00
prep_c.c arch: arm: core: cortex_m: add a barrier before the dummy FP instruction 2018-06-14 19:09:34 +02:00
reset.S arch: arm: Add platform init hook at __start 2018-05-15 15:49:15 -05:00
scb.c arch/arm/core: In comments, consistently refer to "Cortex-M". 2017-03-13 12:53:46 +00:00
vector_table.S arch: arm: SecureFault Handling for Cortex-M33 2018-03-13 10:23:40 -05:00
vector_table.h arch: arm: SecureFault Handling for Cortex-M33 2018-03-13 10:23:40 -05:00