Stefan Reinauer ([email protected]) just uploaded a new patch set to 
gerrit, which you can find at http://review.coreboot.org/2551

-gerrit

commit 6093b8a9b4feab5ae5e7f7d735d8b8a04732b659
Author: Stefan Reinauer <[email protected]>
Date:   Thu Feb 28 01:18:29 2013 +0100

    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 <[email protected]>
---
 src/Kconfig                                 | 7 ++++---
 src/mainboard/emulation/qemu-x86/Kconfig    | 1 +
 src/mainboard/emulation/qemu-x86/romstage.c | 5 -----
 src/mainboard/google/butterfly/Kconfig      | 1 +
 src/mainboard/google/butterfly/romstage.c   | 5 -----
 src/mainboard/google/link/Kconfig           | 1 +
 src/mainboard/google/link/romstage.c        | 5 -----
 src/mainboard/google/parrot/Kconfig         | 1 +
 src/mainboard/google/parrot/romstage.c      | 5 -----
 src/mainboard/intel/emeraldlake2/Kconfig    | 1 +
 src/mainboard/intel/emeraldlake2/romstage.c | 5 -----
 src/mainboard/samsung/lumpy/Kconfig         | 1 +
 src/mainboard/samsung/lumpy/romstage.c      | 5 -----
 src/mainboard/samsung/stumpy/Kconfig        | 1 +
 src/mainboard/samsung/stumpy/romstage.c     | 5 -----
 15 files changed, 11 insertions(+), 38 deletions(-)

diff --git a/src/Kconfig b/src/Kconfig
index 4dbc23e..5d1fbf2 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 c171309..bf21acd 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 be14db9..5e6f4e5 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 ea30174..0813042 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 352f8d6..13cd454 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 57e7728..c171390 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 b77d939..689d2b5 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 e141033..96f1b4f 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 58c3881..110c398 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 f8abb28..20685f3 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 75e3b0d..4fda2d8 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 bb57d13..a169726 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 9bc193b..67004c7 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 a4bba5b..fa7d03d 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 5602c63..5fecfef 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

-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to