Revert "sandbox: remove os_putc() and os_puts()"
authorSimon Glass <sjg@chromium.org>
Mon, 4 Dec 2017 20:48:17 +0000 (13:48 -0700)
committerTom Rini <trini@konsulko.com>
Thu, 7 Dec 2017 20:17:00 +0000 (15:17 -0500)
While sandbox works OK without the special-case code, it does result in
console output being stored in the pre-console buffer while sandbox starts
up. If there is a crash or a problem then there is no indication of what
is going on.

For ease of debugging it seems better to revert this change.

This reverts commit 47b98ad0f6779485d0f0c14f337c3eece273eb54.

Signed-off-by: Simon Glass <sjg@chromium.org>
arch/sandbox/cpu/os.c
include/os.h

index c524957..9dd90a1 100644 (file)
@@ -421,6 +421,17 @@ int os_get_filesize(const char *fname, loff_t *size)
        return 0;
 }
 
+void os_putc(int ch)
+{
+       putchar(ch);
+}
+
+void os_puts(const char *str)
+{
+       while (*str)
+               os_putc(*str++);
+}
+
 int os_write_ram_buf(const char *fname)
 {
        struct sandbox_state *state = state_get_current();
index 2bf4bdb..049b248 100644 (file)
@@ -241,6 +241,26 @@ const char *os_dirent_get_typename(enum os_dirent_t type);
 int os_get_filesize(const char *fname, loff_t *size);
 
 /**
+ * Write a character to the controlling OS terminal
+ *
+ * This bypasses the U-Boot console support and writes directly to the OS
+ * stdout file descriptor.
+ *
+ * @param ch   Character to write
+ */
+void os_putc(int ch);
+
+/**
+ * Write a string to the controlling OS terminal
+ *
+ * This bypasses the U-Boot console support and writes directly to the OS
+ * stdout file descriptor.
+ *
+ * @param str  String to write (note that \n is not appended)
+ */
+void os_puts(const char *str);
+
+/**
  * Write the sandbox RAM buffer to a existing file
  *
  * @param fname                Filename to write memory to (simple binary format)