src: Consolidate x86_64 support Kconfig
Introduce `USE_EXP_X86_64_SUPPORT` in `src/arch/x86/Kconfig` and guard
it with `HAVE_EXP_X86_64_SUPPORT`. Replace the per-CPU implementations
of the same functionality with the newly-added Kconfig options. Update
documentation and the config file for QEMU accordingly.
Change-Id: I550216fd2a8323342d6b605306b0b95ffd5dcd1c
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/55760
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
diff --git a/src/arch/x86/Kconfig b/src/arch/x86/Kconfig
index 2a42a1c..ef07a2a 100644
--- a/src/arch/x86/Kconfig
+++ b/src/arch/x86/Kconfig
@@ -63,6 +63,24 @@
bool
default y
+config HAVE_EXP_X86_64_SUPPORT
+ bool
+ help
+ Enable experimental support to build and run coreboot in 64-bit mode.
+ When selecting this option for a new platform, it is highly advisable
+ 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"
+ depends on HAVE_EXP_X86_64_SUPPORT
+ select ARCH_ALL_STAGES_X86_64
+ help
+ When set, most of coreboot runs in long (64-bit) mode instead of the
+ usual protected flat (32-bit) mode. 64-bit CPUs and OSes can be used
+ irrespective of whether coreboot runs in 32-bit or 64-bit mode. This
+ is an experimental option: do not enable unless one wants to test it
+ and has the means to recover a system when coreboot fails to boot.
+
config ARCH_X86_64_PGTBL_LOC
hex "x86_64 page table location in CBFS"
depends on ARCH_BOOTBLOCK_X86_64