zephyr/arch/arm/core
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
..
cortex_m arch: arm: clean up MPU code for ARM and NXP 2018-06-27 12:56:38 -07:00
offsets arm: userspace: Add ARM userspace infrastructure 2018-02-13 12:42:37 -08:00
CMakeLists.txt arch: arm: add_subdirectory shouldn't depend on a hidden kconfig. 2018-05-28 13:23:13 -04:00
Kconfig arch: arm: Kconfig: Remove redundant 'default n' properties 2018-06-26 11:07:57 -05:00
__aeabi_atexit.c
cpu_idle.S arch: arm: common Armv8-M support 2018-02-08 12:07:38 -06:00
exc_exit.S kernel: Remove legacy preemption checking 2018-05-25 09:40:55 -07:00
fatal.c arch: arm: document non-returning fatal handlers 2018-05-25 09:46:24 -05:00
fault.c arch: arm: force MpuFaultHandler to inspect multiple error conditions 2018-05-31 14:05:58 -04:00
fault_s.S arch: arm: improve fault dump for secure firmware 2018-05-15 08:57:16 -05:00
irq_init.c
irq_manage.c arch: arm: define and implement ARM IRQ target state API 2018-06-15 15:53:11 +02:00
irq_offload.c arch: arm: common Armv8-M support 2018-02-08 12:07:38 -06:00
irq_relay.S arch: arm: Fix coding style in file irq_relay.S 2018-04-19 14:54:28 -05:00
isr_wrapper.S arch: arm: common Armv8-M support 2018-02-08 12:07:38 -06:00
swap.c arch: arm: Change method of __swap processing 2018-03-09 21:43:23 -05:00
swap_helper.S arch/arm: Fix locking in __pendsv 2018-06-11 20:15:48 -04:00
sys_fatal_error_handler.c arch: arm: document non-returning fatal handlers 2018-05-25 09:46:24 -05:00
thread.c kernel: move thread monitor init to common code 2018-06-06 14:26:45 -04:00
thread_abort.c kernel: Further unify _reschedule APIs 2018-04-24 03:57:20 +05:30
userspace.S arm: userspace: Do not overwrite r7 during syscall. 2018-06-01 13:07:47 -04:00