Attention is currently required from: Jérémy Compostella.
Arthur Heymans has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/80628?usp=email )
Change subject: cpu/x86/Kconfig: Mark 64bit support as stable ......................................................................
cpu/x86/Kconfig: Mark 64bit support as stable
With SMM holding page tables itself, we can consider SMM support stable and safe enough for general use.
Also update the respective documentation.
Signed-off-by: Arthur Heymans arthur@aheymans.xyz Change-Id: Ifcf0a1a5097a2d7c064bb709ec0b09ebee13a47d --- M Documentation/arch/x86/index.md M src/arch/x86/Kconfig 2 files changed, 4 insertions(+), 11 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/28/80628/1
diff --git a/Documentation/arch/x86/index.md b/Documentation/arch/x86/index.md index c7115b4..ea0ec61 100644 --- a/Documentation/arch/x86/index.md +++ b/Documentation/arch/x86/index.md @@ -5,9 +5,7 @@ * [x86 PAE support](pae.md)
## State of x86_64 support -At the moment there's only experimental x86_64 support. -The `emulation/qemu-i440fx` and `emulation/qemu-q35` boards do support -*ARCH_RAMSTAGE_X86_64* , *ARCH_POSTCAR_X86_64* and *ARCH_ROMSTAGE_X86_64*. +A few SOCs now support 64bit mode. Search for HAVE_EXP_X86_64_SUPPORT in Kconfig.
In order to add support for x86_64 the following assumptions were made: * The CPU supports long mode @@ -15,7 +13,6 @@ * All code that is to be run must be below 4GiB in physical memory * The high dword of pointers is always zero * The reference implementation is qemu -* The CPU supports 1GiB hugepages * x86 payloads are loaded below 4GiB in physical memory and are jumped to in *protected mode*
@@ -54,7 +51,6 @@ 1. Fine grained page tables for SMM: * Must not have execute and write permissions for the same page. * Must allow only that TSEG pages can be marked executable - * Must reside in SMRAM 2. Support 64bit PCI BARs above 4GiB 3. Place and run code above 4GiB
@@ -62,13 +58,10 @@ * Fix compilation errors * Test how well CAR works with x86_64 and paging * Improve mode switches -* Test libgfxinit / VGA Option ROMs / FSP
-## Known bugs on real hardware +## Known problems on real hardware
-According to Intel x86_64 mode hasn't been validated in CAR environments. -Until now it could be verified on various Intel platforms and no issues have -been found. +Running VGA rom directly fails. Yabel works fine though.
## Known bugs on KVM enabled qemu
diff --git a/src/arch/x86/Kconfig b/src/arch/x86/Kconfig index 1697ee7..c264130 100644 --- a/src/arch/x86/Kconfig +++ b/src/arch/x86/Kconfig @@ -74,7 +74,7 @@ to provide a config file for Jenkins to build-test the 64-bit option.
config USE_EXP_X86_64_SUPPORT - bool "[EXPERIMENTAL] Run coreboot in long (64-bit) mode" + bool "Run coreboot in long (64-bit) mode" depends on HAVE_EXP_X86_64_SUPPORT select ARCH_ALL_STAGES_X86_64 help