[coreboot-gerrit] Change in coreboot[master]: libpayload: add a function to dump cbmem console buffer to UART

Vadim Bendebury (Code Review) gerrit at coreboot.org
Thu Jan 4 23:55:41 CET 2018


Vadim Bendebury has uploaded this change for review. ( https://review.coreboot.org/23100


Change subject: libpayload: add a function to dump cbmem console buffer to UART
......................................................................

libpayload: add a function to dump cbmem console buffer to UART

This function could be handy if someone stops the payload at a CLI
prompt or if a vboot device falls into recovery.

BRANCH=none
BUG=none
TEST=with accompanying changes in depthcharge printed cbmem console
     buffer to the UART console.

Change-Id: I3a2d7b1dd6566ae2c42323c77408c7112e0e1974
Signed-off-by: Vadim Bendebury <vbendeb at chromium.org>
---
M payloads/libpayload/drivers/cbmem_console.c
M payloads/libpayload/include/libpayload.h
2 files changed, 20 insertions(+), 0 deletions(-)



  git pull ssh://review.coreboot.org:29418/coreboot refs/changes/00/23100/1

diff --git a/payloads/libpayload/drivers/cbmem_console.c b/payloads/libpayload/drivers/cbmem_console.c
index 9435e1c..09043d4 100644
--- a/payloads/libpayload/drivers/cbmem_console.c
+++ b/payloads/libpayload/drivers/cbmem_console.c
@@ -75,3 +75,22 @@
 
 	do_write(buffer, count);
 }
+
+static void dump_buffer_to_uart(const uint8_t *buffer, size_t size)
+{
+	size_t i;
+
+	for (i = 0; i < size; i++)
+		serial_putchar(*buffer++);
+}
+
+void cbmem_console_dump_buffer_to_uart(void)
+{
+	uint32_t cursor = cbmem_console_p->cursor & CURSOR_MASK;
+
+	if (cbmem_console_p->cursor & OVERFLOW)
+		dump_buffer_to_uart(cbmem_console_p->body + cursor,
+				    cbmem_console_p->size - cursor);
+
+	dump_buffer_to_uart(cbmem_console_p->body, cursor);
+}
diff --git a/payloads/libpayload/include/libpayload.h b/payloads/libpayload/include/libpayload.h
index 83658d1..86e3e1b 100644
--- a/payloads/libpayload/include/libpayload.h
+++ b/payloads/libpayload/include/libpayload.h
@@ -245,6 +245,7 @@
  */
 void cbmem_console_init(void);
 void cbmem_console_write(const void *buffer, size_t count);
+void cbmem_console_dump_buffer_to_uart(void);
 /** @} */
 
 /* drivers/option.c */

-- 
To view, visit https://review.coreboot.org/23100
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I3a2d7b1dd6566ae2c42323c77408c7112e0e1974
Gerrit-Change-Number: 23100
Gerrit-PatchSet: 1
Gerrit-Owner: Vadim Bendebury <vbendeb at chromium.org>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot-gerrit/attachments/20180104/1d36c6b7/attachment.html>


More information about the coreboot-gerrit mailing list