zephyr/arch
Andrew Boie 42a2c96422 newlib: fix heap user mode access for MPU devices
MPU devices that enforce power-of-two alignment now
specify the size of the buffer used for the newlib heap.
This buffer will be properly aligned and a pointer
exposed in a kernel header, such that it can be added
to a user thread's memory domain configuration if
necessary.

MPU devices that don't have these restrictions allocate
the heap as normal.

In all cases, if an MPU/MMU region needs to be programmed,
the z_newlib_get_heap_bounds() API will return the necessary
information.

Given how precious MPU regions are, no automatic programming
of the MPU is done; applications will need to do this as
needed in their memory domain configurations.

On x86, the x86 MMU-specific code has been moved to arch/x86
using the new z_newlib_get_heap_bounds() API.

Fixes: #6814

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2018-05-10 15:09:02 -07:00
..
arc kconfig: Make 'source' non-globbing and use 'gsource' 2018-05-08 11:14:12 +02:00
arm boards: dts: Add mcr20a bindings and fix networking samples 2018-05-10 15:43:42 -05:00
common drivers/interrupt_controller: Introduce multi-level interrupt support 2018-02-06 22:39:05 -05:00
nios2 kconfig: Make 'source' non-globbing and use 'gsource' 2018-05-08 11:14:12 +02:00
posix kconfig: Make 'source' non-globbing and use 'gsource' 2018-05-08 11:14:12 +02:00
riscv32 kconfig: Make 'source' non-globbing and use 'gsource' 2018-05-08 11:14:12 +02:00
x86 newlib: fix heap user mode access for MPU devices 2018-05-10 15:09:02 -07:00
xtensa kconfig: Make 'source' non-globbing and use 'gsource' 2018-05-08 11:14:12 +02:00
CMakeLists.txt Introduce cmake-based rewrite of KBuild 2017-11-08 20:00:22 -05:00
Kconfig kconfig: Make 'source' non-globbing and use 'gsource' 2018-05-08 11:14:12 +02:00