summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeinrich Schuchardt <heinrich.schuchardt@canonical.com>2022-04-04 23:45:03 +0300
committerSimon Glass <sjg@chromium.org>2022-06-28 05:09:51 +0300
commit7750ee45a62c7834f170f817232e432b8d2a14d3 (patch)
tree0d796cbb17c4ff3227daa2a3cbc7fd583fdffb53
parentebcaafcded40da8ae6cb4234c2ba9901c7bee644 (diff)
downloadu-boot-7750ee45a62c7834f170f817232e432b8d2a14d3.tar.xz
sandbox: add function os_printf()
Before setting up the devices U-Boot's printf() function cannot be used for console output. Provide function os_printf() to print to stderr. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
-rw-r--r--arch/sandbox/cpu/os.c13
-rw-r--r--include/os.h7
2 files changed, 20 insertions, 0 deletions
diff --git a/arch/sandbox/cpu/os.c b/arch/sandbox/cpu/os.c
index 3b230606a9..f937991139 100644
--- a/arch/sandbox/cpu/os.c
+++ b/arch/sandbox/cpu/os.c
@@ -12,6 +12,7 @@
#include <getopt.h>
#include <setjmp.h>
#include <signal.h>
+#include <stdarg.h>
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
@@ -54,6 +55,18 @@ ssize_t os_write(int fd, const void *buf, size_t count)
return write(fd, buf, count);
}
+int os_printf(const char *fmt, ...)
+{
+ va_list args;
+ int i;
+
+ va_start(args, fmt);
+ i = vfprintf(stdout, fmt, args);
+ va_end(args);
+
+ return i;
+}
+
off_t os_lseek(int fd, off_t offset, int whence)
{
if (whence == OS_SEEK_SET)
diff --git a/include/os.h b/include/os.h
index 10e198cf50..148178787b 100644
--- a/include/os.h
+++ b/include/os.h
@@ -17,6 +17,13 @@ struct rtc_time;
struct sandbox_state;
/**
+ * os_printf() - print directly to OS console
+ *
+ * @format: format string
+ */
+int os_printf(const char *format, ...);
+
+/**
* Access to the OS read() system call
*
* @fd: File descriptor as returned by os_open()