Patrick Georgi (pgeorgi@google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/9933
-gerrit
commit 5642ec084449e2e76b69ad29c7fcefb6cc2b7162 Author: Aaron Durbin adurbin@chromium.org Date: Tue Apr 21 11:57:18 2015 -0500
ramstage: don't drop cbmem console
In commit b0d8f5e9 I moved the call to cbmem_initialize() in the CONFIG_EARLY_CBMEM_INIT case to the very beginning of ramstage. However, that caused an issue in the ordering of the cbmem console driver in that it expects cbmemc_init() to be called prior to cbmemc_reinit(). Therefore, ensure console is called as the first thing even if some time is lost w.r.t. timestamp tracking.
Change-Id: I42137d28116e0bccb9235f4e3f394d4fd8b84e37 Signed-off-by: Aaron Durbin adurbin@chromium.org --- src/lib/hardwaremain.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/src/lib/hardwaremain.c b/src/lib/hardwaremain.c index 3d1b8f2..295edcd 100644 --- a/src/lib/hardwaremain.c +++ b/src/lib/hardwaremain.c @@ -434,6 +434,12 @@ static void boot_state_schedule_static_entries(void)
void main(void) { + /* console_init() MUST PRECEDE ALL printk()! Additionally, ensure + * it is the very first thing done in ramstage.*/ + console_init(); + + post_code(POST_CONSOLE_READY); + /* * CBMEM needs to be recovered in the EARLY_CBMEM_INIT case because * timestamps, APCI, etc rely on the cbmem infrastructure being @@ -448,11 +454,6 @@ void main(void) timestamp_add_now(TS_START_RAMSTAGE); post_code(POST_ENTRY_RAMSTAGE);
- /* console_init() MUST PRECEDE ALL printk()! */ - console_init(); - - post_code(POST_CONSOLE_READY); - /* Handoff sleep type from romstage. */ #if CONFIG_HAVE_ACPI_RESUME acpi_is_wakeup();