summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Reinauer <stefan.reinauer@coreboot.org>2013-02-28 01:18:29 +0100
committerRonald G. Minnich <rminnich@gmail.com>2013-02-28 18:02:29 +0100
commit1bc9efaf6500f2341ec83011e550a42ea68c3901 (patch)
tree837b03c0c42a1ac0f9228ad5879ddb62d2f7942a
parentf2e1f6a8628d4c13640688790be9550aa9839b34 (diff)
downloadcoreboot-1bc9efaf6500f2341ec83011e550a42ea68c3901.tar.xz
CBMEM: always initialize early if the board supports it
This allows to drop some special cases in romstage.c Change-Id: I53fdfcd1bb6ec21a5280afa07a40e3f0cba11c5d Signed-off-by: Stefan Reinauer <reinauer@google.com> Reviewed-on: http://review.coreboot.org/2551 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
-rw-r--r--src/Kconfig7
-rw-r--r--src/mainboard/emulation/qemu-x86/Kconfig1
-rw-r--r--src/mainboard/emulation/qemu-x86/romstage.c5
-rw-r--r--src/mainboard/google/butterfly/Kconfig1
-rw-r--r--src/mainboard/google/butterfly/romstage.c5
-rw-r--r--src/mainboard/google/link/Kconfig1
-rw-r--r--src/mainboard/google/link/romstage.c5
-rw-r--r--src/mainboard/google/parrot/Kconfig1
-rw-r--r--src/mainboard/google/parrot/romstage.c5
-rw-r--r--src/mainboard/intel/emeraldlake2/Kconfig1
-rw-r--r--src/mainboard/intel/emeraldlake2/romstage.c5
-rw-r--r--src/mainboard/samsung/lumpy/Kconfig1
-rw-r--r--src/mainboard/samsung/lumpy/romstage.c5
-rw-r--r--src/mainboard/samsung/stumpy/Kconfig1
-rw-r--r--src/mainboard/samsung/stumpy/romstage.c5
15 files changed, 11 insertions, 38 deletions
diff --git a/src/Kconfig b/src/Kconfig
index 4dbc23ed65..5d1fbf2de5 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -162,12 +162,13 @@ config INCLUDE_CONFIG_FILE
(empty) 0x8e480 null 3610440
config EARLY_CBMEM_INIT
- bool "Initialize CBMEM while in ROM stage"
+ bool
default n
help
Make coreboot initialize the cbmem structures while running in ROM
- stage. This could be useful when the ROM stage wants to communicate
- some, for instance, execution timestamps.
+ 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.
config COLLECT_TIMESTAMPS
bool "Create a table of timestamps collected during boot"
diff --git a/src/mainboard/emulation/qemu-x86/Kconfig b/src/mainboard/emulation/qemu-x86/Kconfig
index c171309799..bf21acd5c2 100644
--- a/src/mainboard/emulation/qemu-x86/Kconfig
+++ b/src/mainboard/emulation/qemu-x86/Kconfig
@@ -10,6 +10,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select HAVE_ACPI_TABLES
select HAVE_ACPI_RESUME
select BOARD_ROMSIZE_KB_256
+ select EARLY_CBMEM_INIT
config MAINBOARD_DIR
string
diff --git a/src/mainboard/emulation/qemu-x86/romstage.c b/src/mainboard/emulation/qemu-x86/romstage.c
index be14db9c17..5e6f4e5e87 100644
--- a/src/mainboard/emulation/qemu-x86/romstage.c
+++ b/src/mainboard/emulation/qemu-x86/romstage.c
@@ -49,12 +49,7 @@ void main(unsigned long bist)
//print_pci_devices();
//dump_pci_devices();
-#if CONFIG_EARLY_CBMEM_INIT
cbmem_was_initted = !cbmem_initialize();
-#else
- cbmem_was_initted = cbmem_reinit((uint64_t) (get_top_of_ram()
- - HIGH_MEMORY_SIZE));
-#endif
#if CONFIG_COLLECT_TIMESTAMPS
timestamp_init(rdtsc());
timestamp_add_now(TS_START_ROMSTAGE);
diff --git a/src/mainboard/google/butterfly/Kconfig b/src/mainboard/google/butterfly/Kconfig
index ea301745e3..0813042200 100644
--- a/src/mainboard/google/butterfly/Kconfig
+++ b/src/mainboard/google/butterfly/Kconfig
@@ -18,6 +18,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select GFXUMA
select CHROMEOS
select EXTERNAL_MRC_BLOB
+ select EARLY_CBMEM_INIT
# Workaround for EC/KBC IRQ1.
select SERIRQ_CONTINUOUS_MODE
diff --git a/src/mainboard/google/butterfly/romstage.c b/src/mainboard/google/butterfly/romstage.c
index 352f8d65eb..13cd45427c 100644
--- a/src/mainboard/google/butterfly/romstage.c
+++ b/src/mainboard/google/butterfly/romstage.c
@@ -258,12 +258,7 @@ void main(unsigned long bist)
post_code(0x3e);
MCHBAR16(SSKPD) = 0xCAFE;
-#if CONFIG_EARLY_CBMEM_INIT
cbmem_was_initted = !cbmem_initialize();
-#else
- cbmem_was_initted = cbmem_reinit((uint64_t) (get_top_of_ram()
- - HIGH_MEMORY_SIZE));
-#endif
#if CONFIG_HAVE_ACPI_RESUME
/* If there is no high memory area, we didn't boot before, so
diff --git a/src/mainboard/google/link/Kconfig b/src/mainboard/google/link/Kconfig
index 57e77289a4..c171390088 100644
--- a/src/mainboard/google/link/Kconfig
+++ b/src/mainboard/google/link/Kconfig
@@ -20,6 +20,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select EXTERNAL_MRC_BLOB
select SERIRQ_CONTINUOUS_MODE
select MAINBOARD_HAS_NATIVE_VGA_INIT
+ select EARLY_CBMEM_INIT
config MAINBOARD_DIR
string
diff --git a/src/mainboard/google/link/romstage.c b/src/mainboard/google/link/romstage.c
index b77d9392fe..689d2b52fa 100644
--- a/src/mainboard/google/link/romstage.c
+++ b/src/mainboard/google/link/romstage.c
@@ -301,12 +301,7 @@ void main(unsigned long bist)
post_code(0x3e);
MCHBAR16(SSKPD) = 0xCAFE;
-#if CONFIG_EARLY_CBMEM_INIT
cbmem_was_initted = !cbmem_initialize();
-#else
- cbmem_was_initted = cbmem_reinit((uint64_t) (get_top_of_ram()
- - HIGH_MEMORY_SIZE));
-#endif
#if CONFIG_HAVE_ACPI_RESUME
/* If there is no high memory area, we didn't boot before, so
diff --git a/src/mainboard/google/parrot/Kconfig b/src/mainboard/google/parrot/Kconfig
index e1410335f8..96f1b4f4aa 100644
--- a/src/mainboard/google/parrot/Kconfig
+++ b/src/mainboard/google/parrot/Kconfig
@@ -18,6 +18,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select GFXUMA
select CHROMEOS
select EXTERNAL_MRC_BLOB
+ select EARLY_CBMEM_INIT
# Workaround for EC/KBC IRQ1.
select SERIRQ_CONTINUOUS_MODE
diff --git a/src/mainboard/google/parrot/romstage.c b/src/mainboard/google/parrot/romstage.c
index 58c3881f40..110c398857 100644
--- a/src/mainboard/google/parrot/romstage.c
+++ b/src/mainboard/google/parrot/romstage.c
@@ -258,12 +258,7 @@ void main(unsigned long bist)
post_code(0x3e);
MCHBAR16(SSKPD) = 0xCAFE;
-#if CONFIG_EARLY_CBMEM_INIT
cbmem_was_initted = !cbmem_initialize();
-#else
- cbmem_was_initted = cbmem_reinit((uint64_t) (get_top_of_ram()
- - HIGH_MEMORY_SIZE));
-#endif
#if CONFIG_HAVE_ACPI_RESUME
/* If there is no high memory area, we didn't boot before, so
diff --git a/src/mainboard/intel/emeraldlake2/Kconfig b/src/mainboard/intel/emeraldlake2/Kconfig
index f8abb28744..20685f35a7 100644
--- a/src/mainboard/intel/emeraldlake2/Kconfig
+++ b/src/mainboard/intel/emeraldlake2/Kconfig
@@ -15,6 +15,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select GFXUMA
#select CHROMEOS
select EXTERNAL_MRC_BLOB
+ select EARLY_CBMEM_INIT
config MAINBOARD_DIR
string
diff --git a/src/mainboard/intel/emeraldlake2/romstage.c b/src/mainboard/intel/emeraldlake2/romstage.c
index 75e3b0d8e6..4fda2d8252 100644
--- a/src/mainboard/intel/emeraldlake2/romstage.c
+++ b/src/mainboard/intel/emeraldlake2/romstage.c
@@ -313,12 +313,7 @@ void main(unsigned long bist)
post_code(0x3e);
MCHBAR16(SSKPD) = 0xCAFE;
-#if CONFIG_EARLY_CBMEM_INIT
cbmem_was_initted = !cbmem_initialize();
-#else
- cbmem_was_initted = cbmem_reinit((uint64_t) (get_top_of_ram()
- - HIGH_MEMORY_SIZE));
-#endif
#if CONFIG_HAVE_ACPI_RESUME
/* If there is no high memory area, we didn't boot before, so
diff --git a/src/mainboard/samsung/lumpy/Kconfig b/src/mainboard/samsung/lumpy/Kconfig
index bb57d131ac..a169726e35 100644
--- a/src/mainboard/samsung/lumpy/Kconfig
+++ b/src/mainboard/samsung/lumpy/Kconfig
@@ -17,6 +17,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select SOUTHBRIDGE_INTEL_BD82X6X
select SUPERIO_SMSC_MEC1308
select DRIVERS_GENERIC_IOAPIC
+ select EARLY_CBMEM_INIT
config MAINBOARD_DIR
string
diff --git a/src/mainboard/samsung/lumpy/romstage.c b/src/mainboard/samsung/lumpy/romstage.c
index 9bc193bb56..67004c70aa 100644
--- a/src/mainboard/samsung/lumpy/romstage.c
+++ b/src/mainboard/samsung/lumpy/romstage.c
@@ -333,12 +333,7 @@ void main(unsigned long bist)
MCHBAR16(SSKPD) = 0xCAFE;
-#if CONFIG_EARLY_CBMEM_INIT
cbmem_was_initted = !cbmem_initialize();
-#else
- cbmem_was_initted = cbmem_reinit((uint64_t) (get_top_of_ram()
- - HIGH_MEMORY_SIZE));
-#endif
#if CONFIG_HAVE_ACPI_RESUME
/* If there is no high memory area, we didn't boot before, so
diff --git a/src/mainboard/samsung/stumpy/Kconfig b/src/mainboard/samsung/stumpy/Kconfig
index a4bba5b464..fa7d03d0b9 100644
--- a/src/mainboard/samsung/stumpy/Kconfig
+++ b/src/mainboard/samsung/stumpy/Kconfig
@@ -15,6 +15,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select NORTHBRIDGE_INTEL_SANDYBRIDGE
select SOUTHBRIDGE_INTEL_BD82X6X
select SUPERIO_ITE_IT8772F
+ select EARLY_CBMEM_INIT
config MAINBOARD_DIR
string
diff --git a/src/mainboard/samsung/stumpy/romstage.c b/src/mainboard/samsung/stumpy/romstage.c
index 5602c63fd7..5fecfef678 100644
--- a/src/mainboard/samsung/stumpy/romstage.c
+++ b/src/mainboard/samsung/stumpy/romstage.c
@@ -336,12 +336,7 @@ void main(unsigned long bist)
post_code(0x3e);
MCHBAR16(SSKPD) = 0xCAFE;
-#if CONFIG_EARLY_CBMEM_INIT
cbmem_was_initted = !cbmem_initialize();
-#else
- cbmem_was_initted = cbmem_reinit((uint64_t) (get_top_of_ram()
- - HIGH_MEMORY_SIZE));
-#endif
#if CONFIG_HAVE_ACPI_RESUME
/* If there is no high memory area, we didn't boot before, so