CBMEM: Tag chipsets with LATE_CBMEM_INIT

In preparation to remove the static CBMEM allocator, tag the chipsets
that still do not implement get_top_of_ram() for romstage.

LATE_CBMEM_INIT also implies BROKEN_CAR_MIGRATE.

Change-Id: Iad359db2e65ac15c54ff6e9635429628e4db6fde
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: http://review.coreboot.org/7850
Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
Reviewed-by: Aaron Durbin <adurbin@google.com>
Tested-by: build bot (Jenkins)
This commit is contained in:
Kyösti Mälkki
2014-12-18 22:22:04 +02:00
parent 8659e4072e
commit 3bf3854847
24 changed files with 31 additions and 8 deletions

View File

@ -157,16 +157,17 @@ config INCLUDE_CONFIG_FILE
(empty) 0x8e480 null 3610440 (empty) 0x8e480 null 3610440
config EARLY_CBMEM_INIT config EARLY_CBMEM_INIT
bool def_bool !LATE_CBMEM_INIT
default n
config LATE_CBMEM_INIT
def_bool n
help help
Make coreboot initialize the CBMEM structures while running in ROM Enable this in chipset's Kconfig if northbridge does not implement
stage. This is useful when the ROM stage wants to communicate early get_top_of_ram() call for romstage. CBMEM tables will be
some, for instance, execution timestamps. It needs support in allocated late in ramstage, after PCI devices resources are known.
romstage.c and should be enabled by the board's Kconfig.
config BROKEN_CAR_MIGRATE config BROKEN_CAR_MIGRATE
def_bool !EARLY_CBMEM_INIT def_bool LATE_CBMEM_INIT
help help
Many boards use CAR_GLOBAL but have no EARLY_CBMEM_INIT and Many boards use CAR_GLOBAL but have no EARLY_CBMEM_INIT and
manage CAR migration on S3 resume path only. Couple boards use manage CAR migration on S3 resume path only. Couple boards use

View File

@ -56,7 +56,7 @@ void set_top_of_ram(uint64_t ramtop)
} }
#endif /* !__PRE_RAM__ */ #endif /* !__PRE_RAM__ */
#if CONFIG_BROKEN_CAR_MIGRATE || !defined(__PRE_RAM__) #if IS_ENABLED(CONFIG_LATE_CBMEM_INIT)
unsigned long __attribute__((weak)) get_top_of_ram(void) unsigned long __attribute__((weak)) get_top_of_ram(void)
{ {
printk(BIOS_WARNING, "WARNING: you need to define get_top_of_ram() for your chipset\n"); printk(BIOS_WARNING, "WARNING: you need to define get_top_of_ram() for your chipset\n");

View File

@ -20,6 +20,7 @@
config NORTHBRIDGE_AMD_AGESA config NORTHBRIDGE_AMD_AGESA
bool bool
default CPU_AMD_AGESA default CPU_AMD_AGESA
select LATE_CBMEM_INIT
if NORTHBRIDGE_AMD_AGESA if NORTHBRIDGE_AMD_AGESA

View File

@ -25,6 +25,7 @@ config NORTHBRIDGE_AMD_AMDFAM10
select HYPERTRANSPORT_PLUGIN_SUPPORT select HYPERTRANSPORT_PLUGIN_SUPPORT
select MMCONF_SUPPORT select MMCONF_SUPPORT
select PER_DEVICE_ACPI_TABLES select PER_DEVICE_ACPI_TABLES
select LATE_CBMEM_INIT
if NORTHBRIDGE_AMD_AMDFAM10 if NORTHBRIDGE_AMD_AMDFAM10
config AGP_APERTURE_SIZE config AGP_APERTURE_SIZE

View File

@ -24,6 +24,7 @@ config NORTHBRIDGE_AMD_AMDK8
select HAVE_DEBUG_CAR select HAVE_DEBUG_CAR
select HYPERTRANSPORT_PLUGIN_SUPPORT select HYPERTRANSPORT_PLUGIN_SUPPORT
select PER_DEVICE_ACPI_TABLES select PER_DEVICE_ACPI_TABLES
select LATE_CBMEM_INIT
if NORTHBRIDGE_AMD_AMDK8 if NORTHBRIDGE_AMD_AMDK8
config AGP_APERTURE_SIZE config AGP_APERTURE_SIZE

View File

@ -20,6 +20,7 @@
config NORTHBRIDGE_AMD_GX2 config NORTHBRIDGE_AMD_GX2
bool bool
select GEODE_VSA select GEODE_VSA
select LATE_CBMEM_INIT
if NORTHBRIDGE_AMD_GX2 if NORTHBRIDGE_AMD_GX2

View File

@ -1,6 +1,7 @@
config NORTHBRIDGE_AMD_LX config NORTHBRIDGE_AMD_LX
bool bool
select GEODE_VSA select GEODE_VSA
select LATE_CBMEM_INIT
if NORTHBRIDGE_AMD_LX if NORTHBRIDGE_AMD_LX

View File

@ -20,6 +20,7 @@
config NORTHBRIDGE_AMD_PI config NORTHBRIDGE_AMD_PI
bool bool
default CPU_AMD_PI default CPU_AMD_PI
select LATE_CBMEM_INIT
if NORTHBRIDGE_AMD_PI if NORTHBRIDGE_AMD_PI

View File

@ -19,3 +19,4 @@
config NORTHBRIDGE_DMP_VORTEX86EX config NORTHBRIDGE_DMP_VORTEX86EX
bool bool
select LATE_CBMEM_INIT

View File

@ -2,4 +2,5 @@ config NORTHBRIDGE_INTEL_E7501
bool bool
select HAVE_DEBUG_RAM_SETUP select HAVE_DEBUG_RAM_SETUP
select PER_DEVICE_ACPI_TABLES select PER_DEVICE_ACPI_TABLES
select LATE_CBMEM_INIT

View File

@ -26,6 +26,7 @@ config NORTHBRIDGE_SPECIFIC_OPTIONS # dummy
def_bool y def_bool y
select HAVE_DEBUG_RAM_SETUP select HAVE_DEBUG_RAM_SETUP
select PER_DEVICE_ACPI_TABLES select PER_DEVICE_ACPI_TABLES
select LATE_CBMEM_INIT
config HW_SCRUBBER config HW_SCRUBBER
bool bool

View File

@ -1,5 +1,6 @@
config NORTHBRIDGE_INTEL_I3100 config NORTHBRIDGE_INTEL_I3100
bool bool
select LATE_CBMEM_INIT
if NORTHBRIDGE_INTEL_I3100 if NORTHBRIDGE_INTEL_I3100
config DIMM_MAP_LOGICAL config DIMM_MAP_LOGICAL

View File

@ -20,6 +20,7 @@
config NORTHBRIDGE_INTEL_I440BX config NORTHBRIDGE_INTEL_I440BX
bool bool
select HAVE_DEBUG_RAM_SETUP select HAVE_DEBUG_RAM_SETUP
select LATE_CBMEM_INIT
config SDRAMPWR_4DIMM config SDRAMPWR_4DIMM
bool bool

View File

@ -20,4 +20,5 @@
config NORTHBRIDGE_INTEL_I440LX config NORTHBRIDGE_INTEL_I440LX
bool bool
select HAVE_DEBUG_RAM_SETUP select HAVE_DEBUG_RAM_SETUP
select LATE_CBMEM_INIT

View File

@ -22,6 +22,7 @@ config NORTHBRIDGE_INTEL_I5000
select MMCONF_SUPPORT select MMCONF_SUPPORT
select MMCONF_SUPPORT_DEFAULT select MMCONF_SUPPORT_DEFAULT
select HAVE_DEBUG_RAM_SETUP select HAVE_DEBUG_RAM_SETUP
select LATE_CBMEM_INIT
if NORTHBRIDGE_INTEL_I5000 if NORTHBRIDGE_INTEL_I5000

View File

@ -20,6 +20,7 @@
config NORTHBRIDGE_INTEL_I82810 config NORTHBRIDGE_INTEL_I82810
bool bool
select HAVE_DEBUG_RAM_SETUP select HAVE_DEBUG_RAM_SETUP
select LATE_CBMEM_INIT
choice choice
prompt "Onboard graphics" prompt "Onboard graphics"

View File

@ -1,6 +1,7 @@
config NORTHBRIDGE_INTEL_I82830 config NORTHBRIDGE_INTEL_I82830
bool bool
select HAVE_DEBUG_RAM_SETUP select HAVE_DEBUG_RAM_SETUP
select LATE_CBMEM_INIT
choice choice
prompt "Onboard graphics" prompt "Onboard graphics"

View File

@ -1,6 +1,7 @@
config NORTHBRIDGE_INTEL_I855 config NORTHBRIDGE_INTEL_I855
bool bool
select HAVE_DEBUG_RAM_SETUP select HAVE_DEBUG_RAM_SETUP
select LATE_CBMEM_INIT
choice choice
prompt "Onboard graphics" prompt "Onboard graphics"

View File

@ -21,6 +21,7 @@ config NORTHBRIDGE_INTEL_SCH
bool bool
select MMCONF_SUPPORT select MMCONF_SUPPORT
select PER_DEVICE_ACPI_TABLES select PER_DEVICE_ACPI_TABLES
select LATE_CBMEM_INIT
if NORTHBRIDGE_INTEL_SCH if NORTHBRIDGE_INTEL_SCH

View File

@ -1,2 +1,3 @@
config NORTHBRIDGE_RDC_R8610 config NORTHBRIDGE_RDC_R8610
bool bool
select LATE_CBMEM_INIT

View File

@ -1,6 +1,7 @@
config NORTHBRIDGE_VIA_CN700 config NORTHBRIDGE_VIA_CN700
bool bool
select HAVE_DEBUG_RAM_SETUP select HAVE_DEBUG_RAM_SETUP
select LATE_CBMEM_INIT
# TODO: Values are from the CX700 datasheet, not sure if this matches CN700. # TODO: Values are from the CX700 datasheet, not sure if this matches CN700.
# TODO: What should be the per-chipset default value here? # TODO: What should be the per-chipset default value here?

View File

@ -5,6 +5,7 @@ config NORTHBRIDGE_VIA_CX700
select HAVE_HARD_RESET select HAVE_HARD_RESET
select IOAPIC select IOAPIC
select SMP select SMP
select LATE_CBMEM_INIT
# TODO: What should be the per-chipset default value here? # TODO: What should be the per-chipset default value here?
choice choice

View File

@ -2,4 +2,5 @@ config NORTHBRIDGE_VIA_VX800
bool bool
select HAVE_DEBUG_RAM_SETUP select HAVE_DEBUG_RAM_SETUP
select HAVE_DEBUG_SMBUS select HAVE_DEBUG_SMBUS
select LATE_CBMEM_INIT

View File

@ -26,6 +26,7 @@ config NORTHBRIDGE_VIA_VX900
select HAVE_HARD_RESET select HAVE_HARD_RESET
select MMCONF_SUPPORT select MMCONF_SUPPORT
select MMCONF_SUPPORT_DEFAULT select MMCONF_SUPPORT_DEFAULT
select LATE_CBMEM_INIT
if NORTHBRIDGE_VIA_VX900 if NORTHBRIDGE_VIA_VX900