Kyösti Mälkki has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/34804 )
Change subject: arch/x86: Flip option NO_CAR_GLOBAL_MIGRATION ......................................................................
arch/x86: Flip option NO_CAR_GLOBAL_MIGRATION
It is easier to track CAR_GLOBAL_MIGRATION which is the approach to be deprecated with the next release.
Change-Id: I0dbad6a14e68bf566ac0f151dc8ea259e5ae2250 Signed-off-by: Kyösti Mälkki kyosti.malkki@gmail.com --- M src/arch/x86/Kconfig M src/arch/x86/car.ld M src/arch/x86/include/arch/early_variables.h M src/cpu/Kconfig M src/cpu/amd/agesa/Kconfig M src/cpu/amd/pi/Kconfig M src/cpu/x86/Makefile.inc M src/drivers/intel/fsp1_0/Kconfig M src/drivers/intel/fsp1_1/Kconfig M src/lib/imd_cbmem.c M src/mainboard/emulation/qemu-i440fx/Kconfig M src/mainboard/emulation/qemu-q35/Kconfig M src/mainboard/intel/galileo/Kconfig M src/northbridge/intel/e7505/Kconfig M src/northbridge/intel/gm45/Kconfig M src/northbridge/intel/haswell/Kconfig M src/northbridge/intel/i440bx/Kconfig M src/northbridge/intel/i945/Kconfig M src/northbridge/intel/nehalem/Kconfig M src/northbridge/intel/pineview/Kconfig M src/northbridge/intel/sandybridge/Kconfig M src/northbridge/intel/x4x/Kconfig M src/soc/amd/picasso/Kconfig M src/soc/amd/stoneyridge/Kconfig M src/soc/intel/apollolake/Kconfig M src/soc/intel/baytrail/Kconfig M src/soc/intel/broadwell/Kconfig M src/soc/intel/cannonlake/Kconfig M src/soc/intel/denverton_ns/Kconfig M src/soc/intel/icelake/Kconfig M src/soc/intel/skylake/Kconfig 31 files changed, 15 insertions(+), 37 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/04/34804/1
diff --git a/src/arch/x86/Kconfig b/src/arch/x86/Kconfig index 631d981..a9cc93a 100644 --- a/src/arch/x86/Kconfig +++ b/src/arch/x86/Kconfig @@ -222,8 +222,8 @@ # Use the post CAR infrastructure for tearing down cache-as-ram # from a program loaded in RAM and subsequently loading ramstage. config POSTCAR_STAGE - def_bool n - select NO_CAR_GLOBAL_MIGRATION + def_bool y + depends on !CAR_GLOBAL_MIGRATION
config VERSTAGE_DEBUG_SPINLOOP bool diff --git a/src/arch/x86/car.ld b/src/arch/x86/car.ld index 5802b02..5351fc7 100644 --- a/src/arch/x86/car.ld +++ b/src/arch/x86/car.ld @@ -76,7 +76,7 @@ * cbmem console. This is useful for clearing this area on a per-stage * basis when more than one stage uses cache-as-ram for CAR_GLOBALs. */ _car_global_start = .; -#if CONFIG(NO_CAR_GLOBAL_MIGRATION) +#if !CONFIG(CAR_GLOBAL_MIGRATION) /* Allow global unitialized variables when CAR_GLOBALs are not used. */ *(.bss) *(.bss.*) @@ -84,7 +84,7 @@ *(.sbss.*) #else /* .car.global_data objects only around when - * !CONFIG_NO_CAR_GLOBAL_MIGRATION is employed. */ + * CONFIG_CAR_GLOBAL_MIGRATION is employed. */ *(.car.global_data); #endif . = ALIGN(ARCH_POINTER_ALIGN_SIZE); @@ -107,7 +107,7 @@ .illegal_globals . : { *(EXCLUDE_FILE ("*/libagesa.*.a:" "*/romstage*/buildOpts.o" "*/romstage*/agesawrapper.o" "*/vendorcode/amd/agesa/*" "*/vendorcode/amd/cimx/*") .data) *(EXCLUDE_FILE ("*/libagesa.*.a:" "*/romstage*/buildOpts.o" "*/romstage*/agesawrapper.o" "*/vendorcode/amd/agesa/*" "*/vendorcode/amd/cimx/*") .data.*) -#if !CONFIG(NO_CAR_GLOBAL_MIGRATION) +#if CONFIG(CAR_GLOBAL_MIGRATION) *(.bss) *(.bss.*) *(.sbss) diff --git a/src/arch/x86/include/arch/early_variables.h b/src/arch/x86/include/arch/early_variables.h index a69c230..4860e49 100644 --- a/src/arch/x86/include/arch/early_variables.h +++ b/src/arch/x86/include/arch/early_variables.h @@ -20,7 +20,7 @@ #include <commonlib/helpers.h> #include <stdlib.h>
-#if ENV_CACHE_AS_RAM && !CONFIG(NO_CAR_GLOBAL_MIGRATION) +#if ENV_CACHE_AS_RAM && CONFIG(CAR_GLOBAL_MIGRATION) asm(".section .car.global_data,"w",@nobits"); asm(".previous"); #ifdef __clang__ @@ -83,8 +83,8 @@ /* * We might end up here if: * 1. ENV_CACHE_AS_RAM is not set for the stage or - * 2. ENV_CACHE_AS_RAM is set for the stage but CONFIG_NO_CAR_GLOBAL_MIGRATION - * is also set. In this case, there is no need to migrate CAR global + * 2. ENV_CACHE_AS_RAM is set for the stage but CONFIG_CAR_GLOBAL_MIGRATION + * is not set. In this case, there is no need to migrate CAR global * variables. But, since we might still be running out of CAR, car_active needs * to return 1 if ENV_CACHE_AS_RAM is set. */ @@ -101,6 +101,6 @@ #define car_get_var(var) (var) #define car_sync_var(var) (var) #define car_set_var(var, val) (var) = (val) -#endif /* ENV_CACHE_AS_RAM && !CONFIG(NO_CAR_GLOBAL_MIGRATION) */ +#endif /* ENV_CACHE_AS_RAM && CONFIG(CAR_GLOBAL_MIGRATION) */
#endif /* ARCH_EARLY_VARIABLES_H */ diff --git a/src/cpu/Kconfig b/src/cpu/Kconfig index 6078022..645767c 100644 --- a/src/cpu/Kconfig +++ b/src/cpu/Kconfig @@ -10,12 +10,12 @@ bool default y
-config NO_CAR_GLOBAL_MIGRATION +config CAR_GLOBAL_MIGRATION bool default n depends on CACHE_AS_RAM help - This option is selected if there is no need to migrate CAR globals. + This option is selected if there is need to migrate CAR globals. All stages which use CAR globals can directly access the variables from their linked addresses.
diff --git a/src/cpu/amd/agesa/Kconfig b/src/cpu/amd/agesa/Kconfig index 4c5463c..3261bce 100644 --- a/src/cpu/amd/agesa/Kconfig +++ b/src/cpu/amd/agesa/Kconfig @@ -29,7 +29,6 @@ select UDELAY_LAPIC select LAPIC_MONOTONIC_TIMER select SPI_FLASH if HAVE_ACPI_RESUME - select POSTCAR_STAGE select SMM_ASEG
if CPU_AMD_AGESA diff --git a/src/cpu/amd/pi/Kconfig b/src/cpu/amd/pi/Kconfig index a902089..2725d76 100644 --- a/src/cpu/amd/pi/Kconfig +++ b/src/cpu/amd/pi/Kconfig @@ -28,7 +28,7 @@ select UDELAY_LAPIC select LAPIC_MONOTONIC_TIMER select SPI_FLASH if HAVE_ACPI_RESUME - select POSTCAR_STAGE if !BINARYPI_LEGACY_WRAPPER + select CAR_GLOBAL_MIGRATION if BINARYPI_LEGACY_WRAPPER select SMM_ASEG
if CPU_AMD_PI diff --git a/src/cpu/x86/Makefile.inc b/src/cpu/x86/Makefile.inc index 65c0921..8a669bd 100644 --- a/src/cpu/x86/Makefile.inc +++ b/src/cpu/x86/Makefile.inc @@ -1,5 +1,5 @@ ifeq ($(CONFIG_ARCH_ROMSTAGE_X86_32)$(CONFIG_ARCH_ROMSTAGE_X86_64),y) -ifneq ($(CONFIG_NO_CAR_GLOBAL_MIGRATION),y) +ifeq ($(CONFIG_CAR_GLOBAL_MIGRATION),y) romstage-$(CONFIG_CACHE_AS_RAM) += car.c endif endif diff --git a/src/drivers/intel/fsp1_0/Kconfig b/src/drivers/intel/fsp1_0/Kconfig index d72d331..aea6f1f 100644 --- a/src/drivers/intel/fsp1_0/Kconfig +++ b/src/drivers/intel/fsp1_0/Kconfig @@ -16,6 +16,7 @@ config PLATFORM_USES_FSP1_0 bool default n + select CAR_GLOBAL_MIGRATION help Selected for Intel processors/platform combinations that use the Intel Firmware Support Package (FSP) 1.0 for initialization. diff --git a/src/drivers/intel/fsp1_1/Kconfig b/src/drivers/intel/fsp1_1/Kconfig index 9ffec31..a8658ec 100644 --- a/src/drivers/intel/fsp1_1/Kconfig +++ b/src/drivers/intel/fsp1_1/Kconfig @@ -18,7 +18,6 @@ bool select UEFI_2_4_BINDING select INTEL_GMA_ADD_VBT if RUN_FSP_GOP - select POSTCAR_STAGE help Does the code require the Intel Firmware Support Package?
diff --git a/src/lib/imd_cbmem.c b/src/lib/imd_cbmem.c index b1b63f6..e5c3e41 100644 --- a/src/lib/imd_cbmem.c +++ b/src/lib/imd_cbmem.c @@ -41,7 +41,7 @@ */ #define CAN_USE_GLOBALS \ (!CONFIG(ARCH_X86) || ENV_RAMSTAGE || ENV_POSTCAR || \ - CONFIG(NO_CAR_GLOBAL_MIGRATION)) + !CONFIG(CAR_GLOBAL_MIGRATION))
static inline struct imd *cbmem_get_imd(void) { diff --git a/src/mainboard/emulation/qemu-i440fx/Kconfig b/src/mainboard/emulation/qemu-i440fx/Kconfig index d6e90f6..3c5e325 100644 --- a/src/mainboard/emulation/qemu-i440fx/Kconfig +++ b/src/mainboard/emulation/qemu-i440fx/Kconfig @@ -12,7 +12,6 @@ select BOARD_ROMSIZE_KB_256 select MAINBOARD_HAS_NATIVE_VGA_INIT select MAINBOARD_FORCE_NATIVE_VGA_INIT - select POSTCAR_STAGE
config MAINBOARD_DIR string diff --git a/src/mainboard/emulation/qemu-q35/Kconfig b/src/mainboard/emulation/qemu-q35/Kconfig index e5ae6cd..bfa38ed 100644 --- a/src/mainboard/emulation/qemu-q35/Kconfig +++ b/src/mainboard/emulation/qemu-q35/Kconfig @@ -11,7 +11,6 @@ select BOARD_ROMSIZE_KB_2048 select MAINBOARD_HAS_NATIVE_VGA_INIT select MAINBOARD_FORCE_NATIVE_VGA_INIT - select POSTCAR_STAGE
config MAINBOARD_DIR string diff --git a/src/mainboard/intel/galileo/Kconfig b/src/mainboard/intel/galileo/Kconfig index 2c89995..c3d846c 100644 --- a/src/mainboard/intel/galileo/Kconfig +++ b/src/mainboard/intel/galileo/Kconfig @@ -25,7 +25,6 @@ select MAINBOARD_HAS_TPM2 select PLATFORM_USES_FSP2_0 select UDK_2015_BINDING - select POSTCAR_STAGE
config MAINBOARD_DIR diff --git a/src/northbridge/intel/e7505/Kconfig b/src/northbridge/intel/e7505/Kconfig index a774c0e..1b01653 100644 --- a/src/northbridge/intel/e7505/Kconfig +++ b/src/northbridge/intel/e7505/Kconfig @@ -22,6 +22,5 @@ def_bool y select NO_MMCONF_SUPPORT select HAVE_DEBUG_RAM_SETUP - select POSTCAR_STAGE
endif diff --git a/src/northbridge/intel/gm45/Kconfig b/src/northbridge/intel/gm45/Kconfig index b07eeb5..dda52dd 100644 --- a/src/northbridge/intel/gm45/Kconfig +++ b/src/northbridge/intel/gm45/Kconfig @@ -26,7 +26,6 @@ select INTEL_EDID select INTEL_GMA_ACPI select INTEL_GMA_SSC_ALTERNATE_REF - select POSTCAR_STAGE select PARALLEL_MP
config CBFS_SIZE diff --git a/src/northbridge/intel/haswell/Kconfig b/src/northbridge/intel/haswell/Kconfig index 8a43621..aad2674 100644 --- a/src/northbridge/intel/haswell/Kconfig +++ b/src/northbridge/intel/haswell/Kconfig @@ -19,7 +19,6 @@ select CACHE_MRC_SETTINGS select INTEL_DDI select INTEL_GMA_ACPI - select POSTCAR_STAGE select C_ENVIRONMENT_BOOTBLOCK select BOOTBLOCK_CONSOLE
diff --git a/src/northbridge/intel/i440bx/Kconfig b/src/northbridge/intel/i440bx/Kconfig index 0fdc2a3c..45cdd9c 100644 --- a/src/northbridge/intel/i440bx/Kconfig +++ b/src/northbridge/intel/i440bx/Kconfig @@ -18,7 +18,6 @@ select NO_MMCONF_SUPPORT select HAVE_DEBUG_RAM_SETUP select UDELAY_IO - select POSTCAR_STAGE
config SDRAMPWR_4DIMM bool diff --git a/src/northbridge/intel/i945/Kconfig b/src/northbridge/intel/i945/Kconfig index 48effe2..1edd0ea 100644 --- a/src/northbridge/intel/i945/Kconfig +++ b/src/northbridge/intel/i945/Kconfig @@ -27,7 +27,6 @@ select INTEL_GMA_SSC_ALTERNATE_REF select INTEL_EDID select HAVE_VGA_TEXT_FRAMEBUFFER if MAINBOARD_DO_NATIVE_VGA_INIT - select POSTCAR_STAGE select PARALLEL_MP
config NORTHBRIDGE_INTEL_SUBTYPE_I945GC diff --git a/src/northbridge/intel/nehalem/Kconfig b/src/northbridge/intel/nehalem/Kconfig index ee4a955..9c74ef6 100644 --- a/src/northbridge/intel/nehalem/Kconfig +++ b/src/northbridge/intel/nehalem/Kconfig @@ -20,7 +20,6 @@ select INTEL_EDID select INTEL_GMA_ACPI select CACHE_MRC_SETTINGS - select POSTCAR_STAGE select HAVE_DEBUG_RAM_SETUP
if NORTHBRIDGE_INTEL_NEHALEM diff --git a/src/northbridge/intel/pineview/Kconfig b/src/northbridge/intel/pineview/Kconfig index 3657cdf..487d478 100644 --- a/src/northbridge/intel/pineview/Kconfig +++ b/src/northbridge/intel/pineview/Kconfig @@ -28,7 +28,6 @@ select HAVE_VGA_TEXT_FRAMEBUFFER if MAINBOARD_DO_NATIVE_VGA_INIT select INTEL_EDID if MAINBOARD_DO_NATIVE_VGA_INIT select INTEL_GMA_ACPI - select POSTCAR_STAGE select PARALLEL_MP select C_ENVIRONMENT_BOOTBLOCK
diff --git a/src/northbridge/intel/sandybridge/Kconfig b/src/northbridge/intel/sandybridge/Kconfig index ddae860..64ce4d8 100644 --- a/src/northbridge/intel/sandybridge/Kconfig +++ b/src/northbridge/intel/sandybridge/Kconfig @@ -20,7 +20,6 @@ select CPU_INTEL_MODEL_206AX select HAVE_DEBUG_RAM_SETUP select INTEL_GMA_ACPI - select POSTCAR_STAGE
if NORTHBRIDGE_INTEL_SANDYBRIDGE
diff --git a/src/northbridge/intel/x4x/Kconfig b/src/northbridge/intel/x4x/Kconfig index 165ba3f..1f3a67a 100644 --- a/src/northbridge/intel/x4x/Kconfig +++ b/src/northbridge/intel/x4x/Kconfig @@ -26,7 +26,6 @@ select VGA select INTEL_GMA_ACPI select CACHE_MRC_SETTINGS - select POSTCAR_STAGE select PARALLEL_MP
config CBFS_SIZE diff --git a/src/soc/amd/picasso/Kconfig b/src/soc/amd/picasso/Kconfig index a7ae069..553e898 100644 --- a/src/soc/amd/picasso/Kconfig +++ b/src/soc/amd/picasso/Kconfig @@ -55,7 +55,6 @@ select PARALLEL_MP select PARALLEL_MP_AP_WORK select HAVE_SMI_HANDLER - select POSTCAR_STAGE select SSE2 select RTC
diff --git a/src/soc/amd/stoneyridge/Kconfig b/src/soc/amd/stoneyridge/Kconfig index aa23367..f1d08c0 100644 --- a/src/soc/amd/stoneyridge/Kconfig +++ b/src/soc/amd/stoneyridge/Kconfig @@ -76,7 +76,6 @@ select PARALLEL_MP select PARALLEL_MP_AP_WORK select HAVE_SMI_HANDLER - select POSTCAR_STAGE select SSE2 select RTC
diff --git a/src/soc/intel/apollolake/Kconfig b/src/soc/intel/apollolake/Kconfig index 8c6fd14..a1d3c07 100644 --- a/src/soc/intel/apollolake/Kconfig +++ b/src/soc/intel/apollolake/Kconfig @@ -57,7 +57,6 @@ select PCIEXP_CLK_PM select PCIEXP_L1_SUB_STATE select PCIEX_LENGTH_256MB - select POSTCAR_STAGE select PMC_INVALID_READ_AFTER_WRITE select PMC_GLOBAL_RESET_ENABLE_LOCK select REG_SCRIPT diff --git a/src/soc/intel/baytrail/Kconfig b/src/soc/intel/baytrail/Kconfig index 9a6e6b8..c833c53 100644 --- a/src/soc/intel/baytrail/Kconfig +++ b/src/soc/intel/baytrail/Kconfig @@ -36,7 +36,6 @@ select HAVE_SPI_CONSOLE_SUPPORT select INTEL_GMA_ACPI select INTEL_GMA_SWSMISCI - select POSTCAR_STAGE select CPU_INTEL_COMMON select CPU_HAS_L2_ENABLE_MSR
diff --git a/src/soc/intel/broadwell/Kconfig b/src/soc/intel/broadwell/Kconfig index ff9b550..5856ef1 100644 --- a/src/soc/intel/broadwell/Kconfig +++ b/src/soc/intel/broadwell/Kconfig @@ -36,7 +36,6 @@ select HAVE_SPI_CONSOLE_SUPPORT select CPU_INTEL_COMMON select INTEL_GMA_ACPI - select POSTCAR_STAGE select HAVE_POWER_STATE_AFTER_FAILURE select HAVE_POWER_STATE_PREVIOUS_AFTER_FAILURE select NO_FIXED_XIP_ROM_SIZE diff --git a/src/soc/intel/cannonlake/Kconfig b/src/soc/intel/cannonlake/Kconfig index 0abb2f3..a0107d5 100644 --- a/src/soc/intel/cannonlake/Kconfig +++ b/src/soc/intel/cannonlake/Kconfig @@ -76,7 +76,6 @@ select PARALLEL_MP select PARALLEL_MP_AP_WORK select PLATFORM_USES_FSP2_0 - select POSTCAR_STAGE select REG_SCRIPT select SMP select SOC_AHCI_PORT_IMPLEMENTED_INVERT diff --git a/src/soc/intel/denverton_ns/Kconfig b/src/soc/intel/denverton_ns/Kconfig index f931f3c..2aadcae 100644 --- a/src/soc/intel/denverton_ns/Kconfig +++ b/src/soc/intel/denverton_ns/Kconfig @@ -32,7 +32,6 @@ select SOC_INTEL_COMMON select SOC_INTEL_COMMON_RESET select PLATFORM_USES_FSP2_0 - select POSTCAR_STAGE select C_ENVIRONMENT_BOOTBLOCK select IOAPIC select HAVE_SMI_HANDLER diff --git a/src/soc/intel/icelake/Kconfig b/src/soc/intel/icelake/Kconfig index ce29d6b..1bd478c 100644 --- a/src/soc/intel/icelake/Kconfig +++ b/src/soc/intel/icelake/Kconfig @@ -32,7 +32,6 @@ select PARALLEL_MP_AP_WORK select MICROCODE_BLOB_UNDISCLOSED select PLATFORM_USES_FSP2_1 - select POSTCAR_STAGE select REG_SCRIPT select SMP select SOC_AHCI_PORT_IMPLEMENTED_INVERT diff --git a/src/soc/intel/skylake/Kconfig b/src/soc/intel/skylake/Kconfig index f4c00ec..13c1517 100644 --- a/src/soc/intel/skylake/Kconfig +++ b/src/soc/intel/skylake/Kconfig @@ -92,7 +92,6 @@ select PLATFORM_USES_FSP2_0 select UDK_2015_BINDING select INTEL_GMA_ADD_VBT if RUN_FSP_GOP - select POSTCAR_STAGE
config USE_FSP1_1_DRIVER def_bool y