diff options
-rw-r--r-- | src/console/console.c | 13 | ||||
-rw-r--r-- | src/include/console/streams.h | 9 |
2 files changed, 22 insertions, 0 deletions
diff --git a/src/console/console.c b/src/console/console.c index c4365f3e6d..7b0dfc2fb1 100644 --- a/src/console/console.c +++ b/src/console/console.c @@ -62,6 +62,19 @@ void console_tx_flush(void) __usb_tx_flush(); } +void console_write_line(uint8_t *buffer, size_t number_of_bytes) +{ + /* Finish displaying all of the console data if requested */ + if (number_of_bytes == 0) { + console_tx_flush(); + return; + } + + /* Output the console data */ + while (number_of_bytes--) + console_tx_byte(*buffer++); +} + #if CONFIG_GDB_STUB && (ENV_ROMSTAGE || ENV_RAMSTAGE) void gdb_hw_init(void) diff --git a/src/include/console/streams.h b/src/include/console/streams.h index 35f7999f80..6e944a64b3 100644 --- a/src/include/console/streams.h +++ b/src/include/console/streams.h @@ -14,10 +14,19 @@ #ifndef _CONSOLE_STREAMS_H_ #define _CONSOLE_STREAMS_H_ +#include <stddef.h> +#include <stdint.h> + void console_hw_init(void); void console_tx_byte(unsigned char byte); void console_tx_flush(void); +/* + * Write number_of_bytes data bytes from buffer to the serial device. + * If number_of_bytes is zero, wait until all serial data is output. + */ +void console_write_line(uint8_t *buffer, size_t number_of_bytes); + /* For remote GDB debugging. */ void gdb_hw_init(void); void gdb_tx_byte(unsigned char byte); |