diff options
-rw-r--r-- | src/console/Kconfig | 8 | ||||
-rw-r--r-- | src/console/init.c | 4 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/console/Kconfig b/src/console/Kconfig index 4c2e768685..60b27c4594 100644 --- a/src/console/Kconfig +++ b/src/console/Kconfig @@ -255,6 +255,14 @@ config CONSOLE_CBMEM_DUMP_TO_UART serial output in case serial console is disabled and the device resets itself while trying to boot the payload. +config CONSOLE_CBMEM_PRINT_PRE_BOOTBLOCK_CONTENTS + bool + help + Pre-bootblock stages (i.e., VBOOT_STARTS_BEFORE_BOOTBLOCK) might not + have the ability to log to the UART, so their console messages are + inaccessible until the boot processes gets into the payload or OS. + This feature will dump the pre-bootblock CBMEM console immediately + after the bootblock console is initialized. endif config CONSOLE_SPI_FLASH diff --git a/src/console/init.c b/src/console/init.c index eb6b637a6c..4f93997f95 100644 --- a/src/console/init.c +++ b/src/console/init.c @@ -1,6 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0-only */ #include <commonlib/helpers.h> +#include <console/cbmem_console.h> #include <console/console.h> #include <console/uart.h> #include <console/streams.h> @@ -59,6 +60,9 @@ void console_init(void) console_inited = 1; + if (ENV_BOOTBLOCK && CONFIG(CONSOLE_CBMEM_PRINT_PRE_BOOTBLOCK_CONTENTS)) + cbmem_dump_console(); + printk(BIOS_NOTICE, "\n\ncoreboot-%s%s %s " ENV_STRING " starting (log level: %i)...\n", coreboot_version, coreboot_extra_version, coreboot_build, get_log_level()); |