diff options
author | Lee Leahy <leroy.p.leahy@intel.com> | 2016-08-09 08:59:30 -0700 |
---|---|---|
committer | Lee Leahy <leroy.p.leahy@intel.com> | 2016-08-10 22:30:19 +0200 |
commit | 219c3328f1774a667e0c08818fb3266f1114064d (patch) | |
tree | d9b98475ef1b26ccfeedad0ab2bbbd498920f004 | |
parent | a8b86b3a9f39e1215558eb5b78daa9be9c1c33d5 (diff) | |
download | coreboot-219c3328f1774a667e0c08818fb3266f1114064d.tar.xz |
console: Add write line routine
Add write line routine which is called indirectly by FSP.
TEST=Build and run on Galileo Gen2.
Change-Id: Idefb6e9ebe5a2b614055dabddc1882bfa3bba673
Signed-off-by: Lee Leahy <leroy.p.leahy@intel.com>
Reviewed-on: https://review.coreboot.org/16127
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martinroth@google.com>
-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); |