diff options
Diffstat (limited to 'src/lib/cbmem_console.c')
-rw-r--r-- | src/lib/cbmem_console.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/lib/cbmem_console.c b/src/lib/cbmem_console.c index 628d3b9c1f..9d292bfb58 100644 --- a/src/lib/cbmem_console.c +++ b/src/lib/cbmem_console.c @@ -19,6 +19,7 @@ #include <console/console.h> #include <console/cbmem_console.h> +#include <console/uart.h> #include <cbmem.h> #include <arch/early_variables.h> #include <symbols.h> @@ -236,5 +237,21 @@ void cbmemc_reinit(void) init_console_ptr(cbm_cons_p, size, flags); } +#if IS_ENABLED(CONFIG_CONSOLE_CBMEM_DUMP_TO_UART) +void cbmem_dump_console(void) +{ + struct cbmem_console *cbm_cons_p; + int cursor; + + cbm_cons_p = current_console(); + if (!cbm_cons_p) + return; + + uart_init(0); + for (cursor = 0; cursor < cbm_cons_p->buffer_cursor; cursor++) + uart_tx_byte(0, cbm_cons_p->buffer_body[cursor]); +} +#endif + /* Call cbmemc_reinit() at CAR migration time. */ CAR_MIGRATE(cbmemc_reinit) |