zephyr/arch/x86/include
Andrew Boie 0f16d98b32 x86: mmu: add runtime modification indicator
The CPU first checks the page directory entry for write
or user permissions on a particular page before looking
at the page table entry.

If a region configured all pages to be non user accessible,
and this was changed for a page within it to be accessible,
the PDE would not be updated and any access would still
return a page fault.

The least amount of runtime logic to deal with this is to
indicate at build time that some pages within a region may
be marked writable or user accessible at runtime, and to
pre-set the flags in the page directory entry accordingly.

The driving need for this is the region configuration for
kernel memory, which will have user permissions set at
runtime for stacks and user-configured memory domains.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-08-03 11:46:26 -04:00
..
debug debug: rename variable CONFIG_GDB_RAM_SIZE 2017-04-11 03:14:24 +00:00
asm_inline.h license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
asm_inline_gcc.h license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
cache_private.h license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
exception.h x86: allow IDT vectors to be task gates 2017-07-25 11:32:36 -04:00
kernel_arch_data.h x86: implement improved double-fault handler 2017-07-25 11:32:36 -04:00
kernel_arch_func.h x86: install guard page for interrupt stack 2017-07-26 05:57:45 -04:00
kernel_arch_thread.h kernel: expose struct k_thread implementation 2017-04-26 16:29:06 +00:00
kernel_event_logger_arch.h license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
mmustructs.h x86: mmu: add runtime modification indicator 2017-08-03 11:46:26 -04:00
offsets_short_arch.h license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
swapstk.h license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00