Julius Werner has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/82792?usp=email )
Change subject: cpu/x86: Make 1GB paging the default ......................................................................
cpu/x86: Make 1GB paging the default
This patch flips the polarity of CONFIG_USE_1G_PAGES_TLB into CONFIG_NEED_SMALL_2MB_PAGE_TABLES which is off by default, meaining most boards will build the smaller 1GB pages. Only CPUs that actually don't support that feature should manually select the option to build 2MB pages, which to my knowledge(?) is only QEMU.
Change-Id: I2cf1237a7fb63b8904c2a3d57fead162c66bacde Signed-off-by: Julius Werner jwerner@chromium.org --- M src/cpu/qemu-x86/Kconfig M src/cpu/x86/64bit/Makefile.mk M src/cpu/x86/Kconfig 3 files changed, 9 insertions(+), 6 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/92/82792/1
diff --git a/src/cpu/qemu-x86/Kconfig b/src/cpu/qemu-x86/Kconfig index b5ff6f0..221a7ba 100644 --- a/src/cpu/qemu-x86/Kconfig +++ b/src/cpu/qemu-x86/Kconfig @@ -7,6 +7,7 @@ select UDELAY_TSC select TSC_MONOTONIC_TIMER select UNKNOWN_TSC_RATE + select NEED_SMALL_2MB_PAGE_TABLES # QEMU doesn't support 1GB pages
if CPU_QEMU_X86
diff --git a/src/cpu/x86/64bit/Makefile.mk b/src/cpu/x86/64bit/Makefile.mk index b24e4d7..1fda087 100644 --- a/src/cpu/x86/64bit/Makefile.mk +++ b/src/cpu/x86/64bit/Makefile.mk @@ -3,10 +3,10 @@ all_x86-y += mode_switch.S all_x86-y += mode_switch2.S
-ifeq ($(CONFIG_USE_1G_PAGES_TLB),y) -PAGETABLE_SRC := pt1G.S -else +ifeq ($(CONFIG_NEED_SMALL_2MB_PAGE_TABLES),y) PAGETABLE_SRC := pt.S +else +PAGETABLE_SRC := pt1G.S endif
all_x86-y += $(PAGETABLE_SRC) diff --git a/src/cpu/x86/Kconfig b/src/cpu/x86/Kconfig index ec1fa13..83a5e16 100644 --- a/src/cpu/x86/Kconfig +++ b/src/cpu/x86/Kconfig @@ -152,12 +152,14 @@ bool default n
-config USE_1G_PAGES_TLB +config NEED_SMALL_2MB_PAGE_TABLES bool default n help - Select this option to enable access to up to 512 GiB of memory - by using 1 GiB large pages. + Select this option from boards/SoCs that do not support the Page1GB + CPUID feature (CPUID.80000001H:EDX.bit26). This started being + available in all CPUs around 2010ish, so nowadays this option is + mostly just needed for emulation targets.
config SMM_ASEG bool