From 71b214553c952e790219864767ba7882c9aaae1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ky=C3=B6sti=20M=C3=A4lkki?= Date: Fri, 28 Nov 2014 10:13:03 +0200 Subject: CBMEM console: Fix boards with BROKEN_CAR_MIGRATE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-on: http://review.coreboot.org/7592 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel Reviewed-by: Martin Roth --- 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(-) (limited to 'src') diff --git a/src/include/console/cbmem_console.h b/src/include/console/cbmem_console.h index e7c6357ae4..36d132c892 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 b0e73e2f31..0b24ad2af9 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 b5b75f3ee6..997bb7d9b2 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 3dc50770a7..5eddbcaf18 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 6b4c1195fe..6580ab9708 100644 --- a/src/mainboard/intel/cougar_canyon2/romstage.c +++ b/src/mainboard/intel/cougar_canyon2/romstage.c @@ -342,10 +342,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 259ecdc679..2619c96f62 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 fd8b3b20b0..6c5751e272 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. */ -- cgit v1.2.3