[coreboot-gerrit] New patch to review for coreboot: 96d8036 CBMEM console: Fix boards with BROKEN_CAR_MIGRATE

Kyösti Mälkki (kyosti.malkki@gmail.com) gerrit at coreboot.org
Fri Nov 28 10:30:12 CET 2014


Kyösti Mälkki (kyosti.malkki at gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/7592

-gerrit

commit 96d8036d1bad5bc6a2903db924ffa273b76f082c
Author: Kyösti Mälkki <kyosti.malkki at gmail.com>
Date:   Fri Nov 28 10:13:03 2014 +0200

    CBMEM console: Fix boards with BROKEN_CAR_MIGRATE
    
    There is no need to call cbmemc_reinit() exclusively in romstage,
    that is done as part of the CAR migration of cbmem_recovery().
    
    CBMEM console for romstage remains disabled for boards flagged with
    BROKEN_CAR_MIGRATE, but with this change it is possible to have it for
    ramstage.
    
    Change-Id: I48c4afcd847d0d5f8864d23c0786935341e3f752
    Signed-off-by: Kyösti Mälkki <kyosti.malkki at gmail.com>
---
 src/include/console/cbmem_console.h            | 2 +-
 src/lib/cbmem.c                                | 2 --
 src/lib/cbmem_console.c                        | 5 +++++
 src/lib/dynamic_cbmem.c                        | 2 --
 src/mainboard/intel/cougar_canyon2/romstage.c  | 4 ----
 src/soc/intel/fsp_baytrail/romstage/romstage.c | 4 ----
 src/southbridge/intel/fsp_rangeley/romstage.c  | 4 ----
 7 files changed, 6 insertions(+), 17 deletions(-)

diff --git a/src/include/console/cbmem_console.h b/src/include/console/cbmem_console.h
index e7c6357..36d132c 100644
--- a/src/include/console/cbmem_console.h
+++ b/src/include/console/cbmem_console.h
@@ -32,7 +32,7 @@ static inline void cbmemc_reinit(void) {}
 #endif
 
 #define __CBMEM_CONSOLE_ENABLE__	CONFIG_CONSOLE_CBMEM && \
-	((ENV_ROMSTAGE && CONFIG_EARLY_CBMEM_INIT) || ENV_RAMSTAGE)
+	((ENV_ROMSTAGE && !CONFIG_BROKEN_CAR_MIGRATE) || ENV_RAMSTAGE)
 
 #if __CBMEM_CONSOLE_ENABLE__
 static inline void __cbmemc_init(void)	{ cbmemc_init(); }
diff --git a/src/lib/cbmem.c b/src/lib/cbmem.c
index b0e73e2..0b24ad2 100644
--- a/src/lib/cbmem.c
+++ b/src/lib/cbmem.c
@@ -256,9 +256,7 @@ static void init_cbmem_post_device(void *unused)
 #else
 	cbmem_recovery(0);
 #endif
-#if CONFIG_CONSOLE_CBMEM
 	cbmemc_reinit();
-#endif
 }
 
 BOOT_STATE_INIT_ENTRIES(cbmem_bscb) = {
diff --git a/src/lib/cbmem_console.c b/src/lib/cbmem_console.c
index b5b75f3..997bb7d 100644
--- a/src/lib/cbmem_console.c
+++ b/src/lib/cbmem_console.c
@@ -188,6 +188,11 @@ void cbmemc_reinit(void)
 {
 	struct cbmem_console *cbm_cons_p = NULL;
 
+#ifdef __PRE_RAM__
+	if (IS_ENABLED(CONFIG_BROKEN_CAR_MIGRATE))
+		return;
+#endif
+
 #ifndef __PRE_RAM__
 	cbm_cons_p = cbmem_find(CBMEM_ID_CONSOLE);
 #endif
diff --git a/src/lib/dynamic_cbmem.c b/src/lib/dynamic_cbmem.c
index 3dc5077..5eddbca 100644
--- a/src/lib/dynamic_cbmem.c
+++ b/src/lib/dynamic_cbmem.c
@@ -426,9 +426,7 @@ void *cbmem_entry_start(const struct cbmem_entry *entry)
 static void init_cbmem_pre_device(void *unused)
 {
 	cbmem_initialize();
-#if CONFIG_CONSOLE_CBMEM
 	cbmemc_reinit();
-#endif /* CONFIG_CONSOLE_CBMEM */
 }
 
 BOOT_STATE_INIT_ENTRIES(cbmem_bscb) = {
diff --git a/src/mainboard/intel/cougar_canyon2/romstage.c b/src/mainboard/intel/cougar_canyon2/romstage.c
index 9ac70ef..501272a 100644
--- a/src/mainboard/intel/cougar_canyon2/romstage.c
+++ b/src/mainboard/intel/cougar_canyon2/romstage.c
@@ -344,10 +344,6 @@ void romstage_main_continue(EFI_STATUS status, VOID *HobListPtr) {
 	timestamp_add(TS_AFTER_INITRAM, after_initram_time);
 	timestamp_add_now(TS_END_ROMSTAGE);
 #endif
-#if CONFIG_CONSOLE_CBMEM
-	/* Keep this the last thing this function does. */
-	cbmemc_reinit();
-#endif
 
 	/* Load the ramstage. */
 	copy_and_run();
diff --git a/src/soc/intel/fsp_baytrail/romstage/romstage.c b/src/soc/intel/fsp_baytrail/romstage/romstage.c
index 6dff743..d588523 100644
--- a/src/soc/intel/fsp_baytrail/romstage/romstage.c
+++ b/src/soc/intel/fsp_baytrail/romstage/romstage.c
@@ -279,10 +279,6 @@ void romstage_main_continue(EFI_STATUS status, void *hob_list_ptr) {
 	timestamp_add_now(TS_END_ROMSTAGE);
 #endif
 
-#if IS_ENABLED(CONFIG_CONSOLE_CBMEM)
-	printk(BIOS_DEBUG, "cbmemc_reinit\n");
-	cbmemc_reinit();
-#endif
 	post_code(0x4f);
 
 	/* Load the ramstage. */
diff --git a/src/southbridge/intel/fsp_rangeley/romstage.c b/src/southbridge/intel/fsp_rangeley/romstage.c
index fd8b3b2..6c5751e 100644
--- a/src/southbridge/intel/fsp_rangeley/romstage.c
+++ b/src/southbridge/intel/fsp_rangeley/romstage.c
@@ -136,10 +136,6 @@ void romstage_main_continue(EFI_STATUS status, void *hob_list_ptr) {
 	timestamp_add_now(TS_END_ROMSTAGE);
 #endif
 
-#if IS_ENABLED(CONFIG_CONSOLE_CBMEM)
-	printk(BIOS_DEBUG, "cbmemc_reinit\n");
-	cbmemc_reinit();
-#endif
 	post_code(0x4f);
 
 	/* Load the ramstage. */



More information about the coreboot-gerrit mailing list