summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/console/console.c13
-rw-r--r--src/include/console/streams.h9
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);