summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2014-12-18 22:22:04 +0200
committerKyösti Mälkki <kyosti.malkki@gmail.com>2015-01-27 22:47:00 +0100
commit3bf38548474697d11c935f23a610222c36df90c0 (patch)
tree736476f2818698954d2be239446a659069dda160
parent8659e4072e19130099ac4a81b204d594a6d3fb7d (diff)
downloadcoreboot-staging-3bf38548474697d11c935f23a610222c36df90c0.zip
coreboot-staging-3bf38548474697d11c935f23a610222c36df90c0.tar.gz
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)
-rw-r--r--src/Kconfig15
-rw-r--r--src/arch/x86/boot/cbmem.c2
-rw-r--r--src/northbridge/amd/agesa/Kconfig1
-rw-r--r--src/northbridge/amd/amdfam10/Kconfig1
-rw-r--r--src/northbridge/amd/amdk8/Kconfig1
-rw-r--r--src/northbridge/amd/gx2/Kconfig1
-rw-r--r--src/northbridge/amd/lx/Kconfig1
-rw-r--r--src/northbridge/amd/pi/Kconfig1
-rw-r--r--src/northbridge/dmp/vortex86ex/Kconfig1
-rw-r--r--src/northbridge/intel/e7501/Kconfig1
-rw-r--r--src/northbridge/intel/e7505/Kconfig1
-rw-r--r--src/northbridge/intel/i3100/Kconfig1
-rw-r--r--src/northbridge/intel/i440bx/Kconfig1
-rw-r--r--src/northbridge/intel/i440lx/Kconfig1
-rw-r--r--src/northbridge/intel/i5000/Kconfig1
-rw-r--r--src/northbridge/intel/i82810/Kconfig1
-rw-r--r--src/northbridge/intel/i82830/Kconfig1
-rw-r--r--src/northbridge/intel/i855/Kconfig1
-rw-r--r--src/northbridge/intel/sch/Kconfig1
-rw-r--r--src/northbridge/rdc/r8610/Kconfig1
-rw-r--r--src/northbridge/via/cn700/Kconfig1
-rw-r--r--src/northbridge/via/cx700/Kconfig1
-rw-r--r--src/northbridge/via/vx800/Kconfig1
-rw-r--r--src/northbridge/via/vx900/Kconfig1
24 files changed, 31 insertions, 8 deletions
diff --git a/src/Kconfig b/src/Kconfig
index 4b10e17..92714d5 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -157,16 +157,17 @@ config INCLUDE_CONFIG_FILE
(empty) 0x8e480 null 3610440
config EARLY_CBMEM_INIT
- bool
- default n
+ def_bool !LATE_CBMEM_INIT
+
+config LATE_CBMEM_INIT
+ def_bool n
help
- Make coreboot initialize the CBMEM structures while running in ROM
- stage. This is useful when the ROM stage wants to communicate
- some, for instance, execution timestamps. It needs support in
- romstage.c and should be enabled by the board's Kconfig.
+ Enable this in chipset's Kconfig if northbridge does not implement
+ early get_top_of_ram() call for romstage. CBMEM tables will be
+ allocated late in ramstage, after PCI devices resources are known.
config BROKEN_CAR_MIGRATE
- def_bool !EARLY_CBMEM_INIT
+ def_bool LATE_CBMEM_INIT
help
Many boards use CAR_GLOBAL but have no EARLY_CBMEM_INIT and
manage CAR migration on S3 resume path only. Couple boards use
diff --git a/src/arch/x86/boot/cbmem.c b/src/arch/x86/boot/cbmem.c
index 34309c2..af42edd 100644
--- a/src/arch/x86/boot/cbmem.c
+++ b/src/arch/x86/boot/cbmem.c
@@ -56,7 +56,7 @@ void set_top_of_ram(uint64_t ramtop)
}
#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)
{
printk(BIOS_WARNING, "WARNING: you need to define get_top_of_ram() for your chipset\n");
diff --git a/src/northbridge/amd/agesa/Kconfig b/src/northbridge/amd/agesa/Kconfig
index 68551fb..8fd8bfd 100644
--- a/src/northbridge/amd/agesa/Kconfig
+++ b/src/northbridge/amd/agesa/Kconfig
@@ -20,6 +20,7 @@
config NORTHBRIDGE_AMD_AGESA
bool
default CPU_AMD_AGESA
+ select LATE_CBMEM_INIT
if NORTHBRIDGE_AMD_AGESA
diff --git a/src/northbridge/amd/amdfam10/Kconfig b/src/northbridge/amd/amdfam10/Kconfig
index 0789ac3..13b912e 100644
--- a/src/northbridge/amd/amdfam10/Kconfig
+++ b/src/northbridge/amd/amdfam10/Kconfig
@@ -25,6 +25,7 @@ config NORTHBRIDGE_AMD_AMDFAM10
select HYPERTRANSPORT_PLUGIN_SUPPORT
select MMCONF_SUPPORT
select PER_DEVICE_ACPI_TABLES
+ select LATE_CBMEM_INIT
if NORTHBRIDGE_AMD_AMDFAM10
config AGP_APERTURE_SIZE
diff --git a/src/northbridge/amd/amdk8/Kconfig b/src/northbridge/amd/amdk8/Kconfig
index 8bee5ca..65dc173 100644
--- a/src/northbridge/amd/amdk8/Kconfig
+++ b/src/northbridge/amd/amdk8/Kconfig
@@ -24,6 +24,7 @@ config NORTHBRIDGE_AMD_AMDK8
select HAVE_DEBUG_CAR
select HYPERTRANSPORT_PLUGIN_SUPPORT
select PER_DEVICE_ACPI_TABLES
+ select LATE_CBMEM_INIT
if NORTHBRIDGE_AMD_AMDK8
config AGP_APERTURE_SIZE
diff --git a/src/northbridge/amd/gx2/Kconfig b/src/northbridge/amd/gx2/Kconfig
index dc347c4..1fe33f8 100644
--- a/src/northbridge/amd/gx2/Kconfig
+++ b/src/northbridge/amd/gx2/Kconfig
@@ -20,6 +20,7 @@
config NORTHBRIDGE_AMD_GX2
bool
select GEODE_VSA
+ select LATE_CBMEM_INIT
if NORTHBRIDGE_AMD_GX2
diff --git a/src/northbridge/amd/lx/Kconfig b/src/northbridge/amd/lx/Kconfig
index d74d715..abc3e4c 100644
--- a/src/northbridge/amd/lx/Kconfig
+++ b/src/northbridge/amd/lx/Kconfig
@@ -1,6 +1,7 @@
config NORTHBRIDGE_AMD_LX
bool
select GEODE_VSA
+ select LATE_CBMEM_INIT
if NORTHBRIDGE_AMD_LX
diff --git a/src/northbridge/amd/pi/Kconfig b/src/northbridge/amd/pi/Kconfig
index 8af4872..2b8e356 100644
--- a/src/northbridge/amd/pi/Kconfig
+++ b/src/northbridge/amd/pi/Kconfig
@@ -20,6 +20,7 @@
config NORTHBRIDGE_AMD_PI
bool
default CPU_AMD_PI
+ select LATE_CBMEM_INIT
if NORTHBRIDGE_AMD_PI
diff --git a/src/northbridge/dmp/vortex86ex/Kconfig b/src/northbridge/dmp/vortex86ex/Kconfig
index 7bf5235..74239ad 100644
--- a/src/northbridge/dmp/vortex86ex/Kconfig
+++ b/src/northbridge/dmp/vortex86ex/Kconfig
@@ -19,3 +19,4 @@
config NORTHBRIDGE_DMP_VORTEX86EX
bool
+ select LATE_CBMEM_INIT
diff --git a/src/northbridge/intel/e7501/Kconfig b/src/northbridge/intel/e7501/Kconfig
index 88c0b45..763b96e 100644
--- a/src/northbridge/intel/e7501/Kconfig
+++ b/src/northbridge/intel/e7501/Kconfig
@@ -2,4 +2,5 @@ config NORTHBRIDGE_INTEL_E7501
bool
select HAVE_DEBUG_RAM_SETUP
select PER_DEVICE_ACPI_TABLES
+ select LATE_CBMEM_INIT
diff --git a/src/northbridge/intel/e7505/Kconfig b/src/northbridge/intel/e7505/Kconfig
index ff7f5a5..e755852 100644
--- a/src/northbridge/intel/e7505/Kconfig
+++ b/src/northbridge/intel/e7505/Kconfig
@@ -26,6 +26,7 @@ config NORTHBRIDGE_SPECIFIC_OPTIONS # dummy
def_bool y
select HAVE_DEBUG_RAM_SETUP
select PER_DEVICE_ACPI_TABLES
+ select LATE_CBMEM_INIT
config HW_SCRUBBER
bool
diff --git a/src/northbridge/intel/i3100/Kconfig b/src/northbridge/intel/i3100/Kconfig
index 079004b..cb0bd38 100644
--- a/src/northbridge/intel/i3100/Kconfig
+++ b/src/northbridge/intel/i3100/Kconfig
@@ -1,5 +1,6 @@
config NORTHBRIDGE_INTEL_I3100
bool
+ select LATE_CBMEM_INIT
if NORTHBRIDGE_INTEL_I3100
config DIMM_MAP_LOGICAL
diff --git a/src/northbridge/intel/i440bx/Kconfig b/src/northbridge/intel/i440bx/Kconfig
index 902eb73..c5cc43e 100644
--- a/src/northbridge/intel/i440bx/Kconfig
+++ b/src/northbridge/intel/i440bx/Kconfig
@@ -20,6 +20,7 @@
config NORTHBRIDGE_INTEL_I440BX
bool
select HAVE_DEBUG_RAM_SETUP
+ select LATE_CBMEM_INIT
config SDRAMPWR_4DIMM
bool
diff --git a/src/northbridge/intel/i440lx/Kconfig b/src/northbridge/intel/i440lx/Kconfig
index a88a7a1..1ccaac6 100644
--- a/src/northbridge/intel/i440lx/Kconfig
+++ b/src/northbridge/intel/i440lx/Kconfig
@@ -20,4 +20,5 @@
config NORTHBRIDGE_INTEL_I440LX
bool
select HAVE_DEBUG_RAM_SETUP
+ select LATE_CBMEM_INIT
diff --git a/src/northbridge/intel/i5000/Kconfig b/src/northbridge/intel/i5000/Kconfig
index f7344ca..3bd685a 100644
--- a/src/northbridge/intel/i5000/Kconfig
+++ b/src/northbridge/intel/i5000/Kconfig
@@ -22,6 +22,7 @@ config NORTHBRIDGE_INTEL_I5000
select MMCONF_SUPPORT
select MMCONF_SUPPORT_DEFAULT
select HAVE_DEBUG_RAM_SETUP
+ select LATE_CBMEM_INIT
if NORTHBRIDGE_INTEL_I5000
diff --git a/src/northbridge/intel/i82810/Kconfig b/src/northbridge/intel/i82810/Kconfig
index 79fe36a..723f751 100644
--- a/src/northbridge/intel/i82810/Kconfig
+++ b/src/northbridge/intel/i82810/Kconfig
@@ -20,6 +20,7 @@
config NORTHBRIDGE_INTEL_I82810
bool
select HAVE_DEBUG_RAM_SETUP
+ select LATE_CBMEM_INIT
choice
prompt "Onboard graphics"
diff --git a/src/northbridge/intel/i82830/Kconfig b/src/northbridge/intel/i82830/Kconfig
index 20b31a2..662840f 100644
--- a/src/northbridge/intel/i82830/Kconfig
+++ b/src/northbridge/intel/i82830/Kconfig
@@ -1,6 +1,7 @@
config NORTHBRIDGE_INTEL_I82830
bool
select HAVE_DEBUG_RAM_SETUP
+ select LATE_CBMEM_INIT
choice
prompt "Onboard graphics"
diff --git a/src/northbridge/intel/i855/Kconfig b/src/northbridge/intel/i855/Kconfig
index f5c2890..44becf6 100644
--- a/src/northbridge/intel/i855/Kconfig
+++ b/src/northbridge/intel/i855/Kconfig
@@ -1,6 +1,7 @@
config NORTHBRIDGE_INTEL_I855
bool
select HAVE_DEBUG_RAM_SETUP
+ select LATE_CBMEM_INIT
choice
prompt "Onboard graphics"
diff --git a/src/northbridge/intel/sch/Kconfig b/src/northbridge/intel/sch/Kconfig
index b8dad72..f495e6a 100644
--- a/src/northbridge/intel/sch/Kconfig
+++ b/src/northbridge/intel/sch/Kconfig
@@ -21,6 +21,7 @@ config NORTHBRIDGE_INTEL_SCH
bool
select MMCONF_SUPPORT
select PER_DEVICE_ACPI_TABLES
+ select LATE_CBMEM_INIT
if NORTHBRIDGE_INTEL_SCH
diff --git a/src/northbridge/rdc/r8610/Kconfig b/src/northbridge/rdc/r8610/Kconfig
index 85461b7..e93a3e6 100644
--- a/src/northbridge/rdc/r8610/Kconfig
+++ b/src/northbridge/rdc/r8610/Kconfig
@@ -1,2 +1,3 @@
config NORTHBRIDGE_RDC_R8610
bool
+ select LATE_CBMEM_INIT
diff --git a/src/northbridge/via/cn700/Kconfig b/src/northbridge/via/cn700/Kconfig
index 34c330e..15c86eb 100644
--- a/src/northbridge/via/cn700/Kconfig
+++ b/src/northbridge/via/cn700/Kconfig
@@ -1,6 +1,7 @@
config NORTHBRIDGE_VIA_CN700
bool
select HAVE_DEBUG_RAM_SETUP
+ select LATE_CBMEM_INIT
# TODO: Values are from the CX700 datasheet, not sure if this matches CN700.
# TODO: What should be the per-chipset default value here?
diff --git a/src/northbridge/via/cx700/Kconfig b/src/northbridge/via/cx700/Kconfig
index 8f6e337..03014eb 100644
--- a/src/northbridge/via/cx700/Kconfig
+++ b/src/northbridge/via/cx700/Kconfig
@@ -5,6 +5,7 @@ config NORTHBRIDGE_VIA_CX700
select HAVE_HARD_RESET
select IOAPIC
select SMP
+ select LATE_CBMEM_INIT
# TODO: What should be the per-chipset default value here?
choice
diff --git a/src/northbridge/via/vx800/Kconfig b/src/northbridge/via/vx800/Kconfig
index 48ea456..a59fc41 100644
--- a/src/northbridge/via/vx800/Kconfig
+++ b/src/northbridge/via/vx800/Kconfig
@@ -2,4 +2,5 @@ config NORTHBRIDGE_VIA_VX800
bool
select HAVE_DEBUG_RAM_SETUP
select HAVE_DEBUG_SMBUS
+ select LATE_CBMEM_INIT
diff --git a/src/northbridge/via/vx900/Kconfig b/src/northbridge/via/vx900/Kconfig
index 9fe5909..617074f 100644
--- a/src/northbridge/via/vx900/Kconfig
+++ b/src/northbridge/via/vx900/Kconfig
@@ -26,6 +26,7 @@ config NORTHBRIDGE_VIA_VX900
select HAVE_HARD_RESET
select MMCONF_SUPPORT
select MMCONF_SUPPORT_DEFAULT
+ select LATE_CBMEM_INIT
if NORTHBRIDGE_VIA_VX900
OpenPOWER on IntegriCloud