aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/console.h2
-rw-r--r--platforms/mambo/console.c19
2 files changed, 21 insertions, 0 deletions
diff --git a/include/console.h b/include/console.h
index b726251..708b696 100644
--- a/include/console.h
+++ b/include/console.h
@@ -100,4 +100,6 @@ extern struct opal_con_ops uart_opal_con;
extern struct opal_con_ops fsp_opal_con;
extern struct opal_con_ops dummy_opal_con;
+void mprintf(const char *fmt, ...);
+
#endif /* __CONSOLE_H */
diff --git a/platforms/mambo/console.c b/platforms/mambo/console.c
index c7d7ab0..d02cde9 100644
--- a/platforms/mambo/console.c
+++ b/platforms/mambo/console.c
@@ -66,3 +66,22 @@ void enable_mambo_console(void)
prlog(PR_NOTICE, "Enabling Mambo console\n");
set_console(&mambo_con_driver);
}
+
+/*
+ * mambo console based printf(), this is useful for debugging the console
+ * since mambo_console_write() can be safely called from anywhere.
+ *
+ * This is a debug hack and you shouldn't use it in real code.
+ */
+void mprintf(const char *fmt, ...)
+{
+ char buf[320];
+ va_list args;
+ int i;
+
+ va_start(args, fmt);
+ i = vsnprintf(buf, sizeof(buf), fmt, args);
+ va_end(args);
+
+ mambo_console_write(buf, i);
+}