zephyr/tests
Andrew Boie f0ddbd7eee x86: abstract toplevel page table pointer
This patch is a preparatory step in enabling the MMU in
long mode; no steps are taken to implement long mode support.

We introduce struct x86_page_tables, which represents the
top-level data structure for page tables:

- For 32-bit, this will contain a four-entry page directory
  pointer table (PDPT)
- For 64-bit, this will (eventually) contain a page map level 4
  table (PML4)

In either case, this pointer value is what gets programmed into
CR3 to activate a set of page tables. There are extra bits in
CR3 to set for long mode, we'll get around to that later.

This abstraction will allow us to use the same APIs that work
with page tables in either mode, rather than hard-coding that
the top level data structure is a PDPT.

z_x86_mmu_validate() has been re-written to make it easier to
add another level of paging for long mode, to support 2MB
PDPT entries, and correctly validate regions which span PDPTE
entries.

Some MMU-related APIs moved out of 32-bit x86's arch.h into
mmustructs.h.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2019-10-04 15:53:49 -07:00
..
application_development tests: cxx: Enable exceptions 2019-09-19 09:26:42 -05:00
arch tests: arch: arm_thread_swap: enable running on Cortex-M Baseline 2019-10-04 13:38:48 +02:00
benchmarks coccinelle: standardize kernel API timeout arguments 2019-10-03 11:55:44 -07:00
bluetooth tests: bluetooth: mesh: Fix RAM shortage failure for bbc_microbit 2019-10-04 17:15:39 +02:00
boards tests: rtc: rename test.yaml to testcase.yaml 2019-09-30 17:20:22 -04:00
crypto tests: tinycrypt: build only on native_posix 2019-10-01 10:42:19 -07:00
drivers drivers: sensor: Add TMP116 2019-10-04 15:31:56 -05:00
kernel x86: abstract toplevel page table pointer 2019-10-04 15:53:49 -07:00
lib tests: gui: Pass image pointer to fs_write 2019-10-02 08:18:16 -04:00
misc/test_build tests: convert util test to a unit test 2019-09-30 07:09:42 -04:00
net tests: net: hostname: Set MAC address properly to all interfaces 2019-10-04 17:42:14 +03:00
portability tests: move cmsis_rtos_v2 into portability 2019-09-27 15:23:26 -04:00
posix tests/posix/common: restructure to eliminate casts 2019-09-15 11:33:47 +08:00
shell tests: Never disable SMP 2019-09-26 16:54:06 -04:00
subsys samples: move board overlay files into boards directory 2019-10-01 20:38:24 -07:00
unit tests: convert util test to a unit test 2019-09-30 07:09:42 -04:00
ztest subsys/testsuite: make tc_util overridable 2019-09-17 07:11:33 +08:00