x86: generate runtime 64-bit page tables
- Bring in CONFIG_X86_MMU and some related defines to common X86 Kconfig - Don't set ARCH_HAS_USERSPACE for intel64 yet when X86_MMU is enabled - Uplevel x86_mmu.c to common code - Add logic for handling PML4 table and generating PDPTs - move z_x86_paging_init() to common kernel_arch_func.h - Uplevel inclusion of mmustructs.h to common x86 arch.h, both need it for memory domain defines Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
This commit is contained in:
parent
33930352f3
commit
f6e82ea1bd
10 changed files with 398 additions and 142 deletions
|
@ -102,71 +102,6 @@ config X86_BOUNDS_CHECK_BYPASS_MITIGATION
|
|||
|
||||
menu "Processor Capabilities"
|
||||
|
||||
config X86_MMU
|
||||
bool "Enable Memory Management Unit"
|
||||
select MEMORY_PROTECTION
|
||||
help
|
||||
This options enables the memory management unit present in x86
|
||||
and creates a set of page tables at boot time. Requires an MMU
|
||||
which supports PAE page tables.
|
||||
|
||||
config X86_MMU_PAGE_POOL_PAGES
|
||||
int "Number of pages to reserve for building page tables"
|
||||
default 16
|
||||
depends on X86_MMU
|
||||
help
|
||||
Building page tables at boot requires a pool of free memory pages
|
||||
to construct it. This can't be derived at build time, tune this
|
||||
to your SoC's specific memory map.
|
||||
|
||||
config X86_NO_MELTDOWN
|
||||
bool
|
||||
help
|
||||
This hidden option should be set on a per-SOC basis to indicate that
|
||||
a particular SOC is not vulnerable to the Meltdown CPU vulnerability,
|
||||
as described in CVE-2017-5754.
|
||||
|
||||
config X86_NO_SPECTRE_V1
|
||||
bool
|
||||
help
|
||||
This hidden option should be set on a per-SOC basis to indicate that
|
||||
a particular SOC is not vulnerable to the Spectre V1, V1.1, and V1.2
|
||||
CPU vulnerabilities as described in CVE-2017-5753 and CVE-2018-3693.
|
||||
|
||||
config X86_NO_SPECTRE_V2
|
||||
bool
|
||||
help
|
||||
This hidden option should be set on a per-SOC basis to indicate that
|
||||
a particular SOC is not vulnerable to the Spectre V2 CPU
|
||||
vulnerability, as described in CVE-2017-5715.
|
||||
|
||||
config X86_NO_SPECTRE_V4
|
||||
bool
|
||||
help
|
||||
This hidden option should be set on a per-SOC basis to indicate that
|
||||
a particular SOC is not vulnerable to the Spectre V4 CPU
|
||||
vulnerability, as described in CVE-2018-3639.
|
||||
|
||||
config X86_NO_LAZY_FP
|
||||
bool
|
||||
help
|
||||
This hidden option should be set on a per-SOC basis to indicate
|
||||
that a particular SOC is not vulnerable to the Lazy FP CPU
|
||||
vulnerability, as described in CVE-2018-3665.
|
||||
|
||||
config X86_NO_SPECULATIVE_VULNERABILITIES
|
||||
bool
|
||||
select X86_NO_MELTDOWN
|
||||
select X86_NO_SPECTRE_V1
|
||||
select X86_NO_SPECTRE_V2
|
||||
select X86_NO_SPECTRE_V4
|
||||
select X86_NO_LAZY_FP
|
||||
help
|
||||
This hidden option should be set on a per-SOC basis to indicate that
|
||||
a particular SOC does not perform any kind of speculative execution,
|
||||
or is a newer chip which is immune to the class of vulnerabilities
|
||||
which exploit speculative execution side channel attacks.
|
||||
|
||||
config X86_ENABLE_TSS
|
||||
bool
|
||||
help
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue