From d293b20b840037211d9b43ded17901354e5204ad Mon Sep 17 00:00:00 2001 From: Arthur Heymans Date: Fri, 2 Feb 2024 19:35:13 +0100 Subject: 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 Change-Id: Ifcf0a1a5097a2d7c064bb709ec0b09ebee13a47d Reviewed-on: https://review.coreboot.org/c/coreboot/+/80338 Tested-by: build bot (Jenkins) Reviewed-by: Martin L Roth --- Documentation/arch/x86/index.md | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) (limited to 'Documentation/arch/x86/index.md') diff --git a/Documentation/arch/x86/index.md b/Documentation/arch/x86/index.md index 3ddff519ea..f2597ac9ce 100644 --- a/Documentation/arch/x86/index.md +++ b/Documentation/arch/x86/index.md @@ -9,9 +9,7 @@ x86 PAE support ``` ## 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*. +Some SOCs now support 64bit mode. Search for HAVE_X86_64_SUPPORT in Kconfig. In order to add support for x86_64 the following assumptions were made: * The CPU supports long mode @@ -19,7 +17,6 @@ In order to add support for x86_64 the following assumptions were made: * 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* @@ -62,7 +59,6 @@ QEMU Q35 <../../mainboard/emulation/qemu-q35.md> 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 @@ -70,13 +66,10 @@ QEMU Q35 <../../mainboard/emulation/qemu-q35.md> * 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 -- cgit v1.2.3