zephyr/arch/x86/core
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
..
offsets debug: remove DEBUG_INFO option 2018-02-12 13:58:28 -08:00
CMakeLists.txt debug: remove DEBUG_INFO option 2018-02-12 13:58:28 -08:00
Kconfig x86: remove HAS_DTS checking 2018-01-29 10:38:32 -06:00
cache.c license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
cache_s.S build: add _ASMLANGUAGE to all asm files 2017-01-24 13:34:51 +00:00
cpuhalt.c tests: benchmark: boot_time: Reading time stamps made arch agnostic 2017-06-16 07:37:37 -05:00
crt0.S cleanup: remove nanokernel/nano leftovers 2017-12-05 09:44:23 -06:00
excstub.S arch: x86: Use retpolines in core assembly routines 2018-04-24 04:00:01 +05:30
fatal.c arch: x86: Unwind the stack on fatal errors 2018-03-16 14:12:15 -07:00
float.c arch: convert to using newly introduced integer sized types 2017-04-21 12:08:12 +00:00
intstub.S arch: x86: Use retpolines in core assembly routines 2018-04-24 04:00:01 +05:30
irq_manage.c cleanup: replace old jira numbers with GH issues 2018-03-26 13:13:04 -04:00
irq_offload.c license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
msr.c arch: convert to using newly introduced integer sized types 2017-04-21 12:08:12 +00:00
reboot_rst_cnt.c arch: convert to using newly introduced integer sized types 2017-04-21 12:08:12 +00:00
swap.S arch: x86: Use retpolines in core assembly routines 2018-04-24 04:00:01 +05:30
sys_fatal_error_handler.c qemu_x86: terminate emulator on fatal system error 2017-07-22 09:46:26 -04:00
thread.c x86: fix logic for thread wrappers 2018-03-16 14:12:15 -07:00
userspace.S arch: x86: Use retpolines in core assembly routines 2018-04-24 04:00:01 +05:30
x86_mmu.c newlib: fix heap user mode access for MPU devices 2018-05-10 15:09:02 -07:00