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
Subrata Banik has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/34804 )
Change subject: arch/x86: Flip option NO_CAR_GLOBAL_MIGRATION ......................................................................
Patch Set 1:
i believe all x86 boards are not yet migrated to postcar stage, i have faced the same problem while started with this approach
Hello Aaron Durbin, Patrick Rudolph, Julius Werner, build bot (Jenkins), Furquan Shaikh, Patrick Georgi, Vanny E, Huang Jin, Lee Leahy, Philipp Deppenwiese, Damien Zammit, David Guckian, Martin Roth,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/34804
to look at the new patch set (#2).
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, 17 insertions(+), 37 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/04/34804/2
Hello Aaron Durbin, Patrick Rudolph, Julius Werner, build bot (Jenkins), Furquan Shaikh, Patrick Georgi, Vanny E, Huang Jin, Lee Leahy, Philipp Deppenwiese, Damien Zammit, David Guckian, Martin Roth,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/34804
to look at the new patch set (#3).
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/family_10h-family_15h/Kconfig M src/cpu/amd/pi/Kconfig M src/cpu/via/nano/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 33 files changed, 19 insertions(+), 37 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/04/34804/3
Arthur Heymans has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/34804 )
Change subject: arch/x86: Flip option NO_CAR_GLOBAL_MIGRATION ......................................................................
Patch Set 3: Code-Review+2
Nico Huber has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/34804 )
Change subject: arch/x86: Flip option NO_CAR_GLOBAL_MIGRATION ......................................................................
Patch Set 3:
(1 comment)
https://review.coreboot.org/c/coreboot/+/34804/3/src/cpu/Kconfig File src/cpu/Kconfig:
https://review.coreboot.org/c/coreboot/+/34804/3/src/cpu/Kconfig@16 PS3, Line 16: default y if !RELOCATABLE_RAMSTAGE This looks already incredibly odd. There is no direct relation of these features, right? It's just three more selects without this default, AFAICS. Worth the confusion?
My real concern, however, is that with the `default n` above it, the line will never be considered.
Um, but now that I tried to confirm that theory, it seems the three platforms that select NO_RELOCATABLE_RAMSTAGE, have CAR_GLOBAL_MIGRATION selected either via CPU or FSP driver. Not sure, what I miss?
Kyösti Mälkki has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/34804 )
Change subject: arch/x86: Flip option NO_CAR_GLOBAL_MIGRATION ......................................................................
Patch Set 3:
(1 comment)
https://review.coreboot.org/c/coreboot/+/34804/3/src/cpu/Kconfig File src/cpu/Kconfig:
https://review.coreboot.org/c/coreboot/+/34804/3/src/cpu/Kconfig@16 PS3, Line 16: default y if !RELOCATABLE_RAMSTAGE
This looks already incredibly odd. There is no direct relation of […]
Well first, there is 'default n' followed by 'default y if xxx' which was already wrong.
Indeed I should not need the ref to RELOCATABLE_RAMSTAGE here.
Hello Aaron Durbin, Patrick Rudolph, Julius Werner, Arthur Heymans, build bot (Jenkins), Furquan Shaikh, Patrick Georgi, Vanny E, Huang Jin, Lee Leahy, Philipp Deppenwiese, Damien Zammit, David Guckian, Martin Roth,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/34804
to look at the new patch set (#4).
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/family_10h-family_15h/Kconfig M src/cpu/amd/pi/Kconfig M src/cpu/via/nano/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 33 files changed, 18 insertions(+), 37 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/04/34804/4
Nico Huber has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/34804 )
Change subject: arch/x86: Flip option NO_CAR_GLOBAL_MIGRATION ......................................................................
Patch Set 4: Code-Review+2
(1 comment)
https://review.coreboot.org/c/coreboot/+/34804/3/src/cpu/Kconfig File src/cpu/Kconfig:
https://review.coreboot.org/c/coreboot/+/34804/3/src/cpu/Kconfig@16 PS3, Line 16: default y if !RELOCATABLE_RAMSTAGE
Well first, there is 'default n' followed by 'default y if xxx' which was already wrong. […]
Done
Aaron Durbin has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/34804 )
Change subject: arch/x86: Flip option NO_CAR_GLOBAL_MIGRATION ......................................................................
Patch Set 4:
(1 comment)
https://review.coreboot.org/c/coreboot/+/34804/4/src/arch/x86/Kconfig File src/arch/x86/Kconfig:
https://review.coreboot.org/c/coreboot/+/34804/4/src/arch/x86/Kconfig@227 PS4, Line 227: depends on !CAR_GLOBAL_MIGRATION I don't think this is a proper dependency. Enabling postcar stage correctly set NO_CAR_GLOBAL_MIGRATION prior since it inherently enabled that ability. However, I'm not convinced there is a dep here. You aren't just flipping the logic any more as it's enforcing a new policy: no postcar stage if global migration is enabled.
Nico Huber has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/34804 )
Change subject: arch/x86: Flip option NO_CAR_GLOBAL_MIGRATION ......................................................................
Patch Set 4:
(1 comment)
https://review.coreboot.org/c/coreboot/+/34804/4/src/arch/x86/Kconfig File src/arch/x86/Kconfig:
https://review.coreboot.org/c/coreboot/+/34804/4/src/arch/x86/Kconfig@227 PS4, Line 227: depends on !CAR_GLOBAL_MIGRATION
I don't think this is a proper dependency. […]
What would you suggest? Just change the default?
default !CAR_GLOBAL_MIGRATION
I guess we could also make it more explicit:
config ROMSTAGE_CAR_TEARDOWN bool select CAR_GLOBAL_MIGRATION
and then
depends on !ROMSTAGE_CAR_TEARDOWN
That would be a valid dependency, wouldn't it?
Kyösti Mälkki has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/34804 )
Change subject: arch/x86: Flip option NO_CAR_GLOBAL_MIGRATION ......................................................................
Patch Set 4:
(1 comment)
https://review.coreboot.org/c/coreboot/+/34804/4/src/arch/x86/Kconfig File src/arch/x86/Kconfig:
https://review.coreboot.org/c/coreboot/+/34804/4/src/arch/x86/Kconfig@227 PS4, Line 227: depends on !CAR_GLOBAL_MIGRATION
I don't think this is a proper dependency. […]
If we previously had POSTCAR_STAGE=y, it implied NO_CAR_GLOBAL_MIGRATION=y. I think the policy does not change here, it's one or the other you can have enabled.
Aaron Durbin has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/34804 )
Change subject: arch/x86: Flip option NO_CAR_GLOBAL_MIGRATION ......................................................................
Patch Set 4:
(1 comment)
https://review.coreboot.org/c/coreboot/+/34804/4/src/arch/x86/Kconfig File src/arch/x86/Kconfig:
https://review.coreboot.org/c/coreboot/+/34804/4/src/arch/x86/Kconfig@227 PS4, Line 227: depends on !CAR_GLOBAL_MIGRATION
If we previously had POSTCAR_STAGE=y, it implied NO_CAR_GLOBAL_MIGRATION=y. I think the policy does not change here, it's one or the other you can have enabled.
It didn't imply; it enabled that ability because of the CAR teardown being in postcar. Now you are saying that postcar can only be enabled if !CAR_GLOBAL_MIGRATION which is not technically true (though I don't see why one would try that).
It's probably better to indicate in commit description that a policy is being enforced as well (it also keeps people from doing weird things).
Hello Aaron Durbin, Patrick Rudolph, Julius Werner, Arthur Heymans, build bot (Jenkins), Furquan Shaikh, Patrick Georgi, Vanny E, Huang Jin, Lee Leahy, Philipp Deppenwiese, Nico Huber, Damien Zammit, David Guckian, Martin Roth,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/34804
to look at the new patch set (#5).
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.
This change encorce new policy; POSTCAR_STAGE=y is not allowed together with CAR_GLOBAL_MIGRATION=y.
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/family_10h-family_15h/Kconfig M src/cpu/amd/pi/Kconfig M src/cpu/via/nano/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 33 files changed, 18 insertions(+), 37 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/04/34804/5
Kyösti Mälkki has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/34804 )
Change subject: arch/x86: Flip option NO_CAR_GLOBAL_MIGRATION ......................................................................
Patch Set 5:
(1 comment)
https://review.coreboot.org/c/coreboot/+/34804/4/src/arch/x86/Kconfig File src/arch/x86/Kconfig:
https://review.coreboot.org/c/coreboot/+/34804/4/src/arch/x86/Kconfig@227 PS4, Line 227: depends on !CAR_GLOBAL_MIGRATION
If we previously had POSTCAR_STAGE=y, it implied NO_CAR_GLOBAL_MIGRATION=y. […]
Done?
Martin Roth has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/34804 )
Change subject: arch/x86: Flip option NO_CAR_GLOBAL_MIGRATION ......................................................................
Patch Set 5:
(1 comment)
https://review.coreboot.org/c/coreboot/+/34804/5//COMMIT_MSG Commit Message:
https://review.coreboot.org/c/coreboot/+/34804/5//COMMIT_MSG@12 PS5, Line 12: encorce enforces?
Hello Aaron Durbin, Patrick Rudolph, Julius Werner, Arthur Heymans, build bot (Jenkins), Furquan Shaikh, Patrick Georgi, Vanny E, Huang Jin, Lee Leahy, Philipp Deppenwiese, Nico Huber, Martin Roth, Damien Zammit, David Guckian,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/34804
to look at the new patch set (#6).
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.
This change enforces new policy; POSTCAR_STAGE=y is not allowed together with CAR_GLOBAL_MIGRATION=y.
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/family_10h-family_15h/Kconfig M src/cpu/amd/pi/Kconfig M src/cpu/via/nano/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 33 files changed, 18 insertions(+), 37 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/04/34804/6
Aaron Durbin has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/34804 )
Change subject: arch/x86: Flip option NO_CAR_GLOBAL_MIGRATION ......................................................................
Patch Set 6: Code-Review+2
Kyösti Mälkki has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/34804 )
Change subject: arch/x86: Flip option NO_CAR_GLOBAL_MIGRATION ......................................................................
Patch Set 7:
(2 comments)
https://review.coreboot.org/c/coreboot/+/34804/5//COMMIT_MSG Commit Message:
https://review.coreboot.org/c/coreboot/+/34804/5//COMMIT_MSG@12 PS5, Line 12: encorce
enforces?
Done
https://review.coreboot.org/c/coreboot/+/34804/4/src/arch/x86/Kconfig File src/arch/x86/Kconfig:
https://review.coreboot.org/c/coreboot/+/34804/4/src/arch/x86/Kconfig@227 PS4, Line 227: depends on !CAR_GLOBAL_MIGRATION
Done?
Done
Kyösti Mälkki has submitted this change and it was merged. ( 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.
This change enforces new policy; POSTCAR_STAGE=y is not allowed together with CAR_GLOBAL_MIGRATION=y.
Change-Id: I0dbad6a14e68bf566ac0f151dc8ea259e5ae2250 Signed-off-by: Kyösti Mälkki kyosti.malkki@gmail.com Reviewed-on: https://review.coreboot.org/c/coreboot/+/34804 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Aaron Durbin adurbin@chromium.org --- 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/family_10h-family_15h/Kconfig M src/cpu/amd/pi/Kconfig M src/cpu/via/nano/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 33 files changed, 18 insertions(+), 37 deletions(-)
Approvals: build bot (Jenkins): Verified Aaron Durbin: Looks good to me, approved
diff --git a/src/arch/x86/Kconfig b/src/arch/x86/Kconfig index 631d981..2ace7f7 100644 --- a/src/arch/x86/Kconfig +++ b/src/arch/x86/Kconfig @@ -222,8 +222,9 @@ # 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 ARCH_X86 + 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/family_10h-family_15h/Kconfig b/src/cpu/amd/family_10h-family_15h/Kconfig index df65499..1039a8d 100644 --- a/src/cpu/amd/family_10h-family_15h/Kconfig +++ b/src/cpu/amd/family_10h-family_15h/Kconfig @@ -9,6 +9,7 @@ select UDELAY_LAPIC select SUPPORT_CPU_UCODE_IN_CBFS select CPU_MICROCODE_MULTIPLE_FILES + select CAR_GLOBAL_MIGRATION select ACPI_HUGE_LOWMEM_BACKUP
if CPU_AMD_MODEL_10XXX 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/via/nano/Kconfig b/src/cpu/via/nano/Kconfig index de1c215..8ddc572 100644 --- a/src/cpu/via/nano/Kconfig +++ b/src/cpu/via/nano/Kconfig @@ -30,6 +30,7 @@ select MMX select SSE2 select SUPPORT_CPU_UCODE_IN_CBFS + select CAR_GLOBAL_MIGRATION
config DCACHE_RAM_BASE hex 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 7ace909..26b2ec4 100644 --- a/src/soc/amd/picasso/Kconfig +++ b/src/soc/amd/picasso/Kconfig @@ -56,7 +56,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