summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2014-03-06 16:55:05 +0200
committerPatrick Georgi <patrick@georgi-clan.de>2014-04-09 13:21:13 +0200
commitb3356bbff42148094ada671d3a0a803f195542e6 (patch)
treeb5c143699b1df19da71775279f08f51c924f4a66
parent56ae13983bae2ba4214dd635c46afad7e7bc50c1 (diff)
console: Add printk helper for ChromeOS
Do not expose console_tx_flush() to ChromeOS as that function is part of lower-level implementation. Change-Id: I1e31662da88a60e83f8e5d307a4b53441c130aab Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: http://review.coreboot.org/5347 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
-rw-r--r--src/console/printk.c8
-rw-r--r--src/include/console/console.h10
-rw-r--r--src/vendorcode/google/chromeos/vboot_loader.c3
3 files changed, 19 insertions, 2 deletions
diff --git a/src/console/printk.c b/src/console/printk.c
index fb1194e828..c61f63e6a6 100644
--- a/src/console/printk.c
+++ b/src/console/printk.c
@@ -40,3 +40,11 @@ int do_printk(int msg_level, const char *fmt, ...)
return i;
}
+
+#if CONFIG_CHROMEOS
+void do_vtxprintf(const char *fmt, va_list args)
+{
+ vtxprintf(console_tx_byte, fmt, args);
+ console_tx_flush();
+}
+#endif
diff --git a/src/include/console/console.h b/src/include/console/console.h
index aa5273fc9b..e7b4253c32 100644
--- a/src/include/console/console.h
+++ b/src/include/console/console.h
@@ -82,6 +82,16 @@ static inline void printk(int LEVEL, const char *fmt, ...) {
#endif /* defined(__PRE_RAM__) && !CONFIG_EARLY_CONSOLE */
+#if CONFIG_CHROMEOS
+/* FIXME: Collision of varargs with AMD headers without guard. */
+#include <console/vtxprintf.h>
+#if !defined(__PRE_RAM__) || CONFIG_EARLY_CONSOLE
+void do_vtxprintf(const char *fmt, va_list args);
+#else
+static inline void do_vtxprintf(const char *fmt, va_list args) {};
+#endif
+#endif
+
#define print_emerg(STR) printk(BIOS_EMERG, "%s", (STR))
#define print_alert(STR) printk(BIOS_ALERT, "%s", (STR))
#define print_crit(STR) printk(BIOS_CRIT, "%s", (STR))
diff --git a/src/vendorcode/google/chromeos/vboot_loader.c b/src/vendorcode/google/chromeos/vboot_loader.c
index 0c5220a82b..943ad176db 100644
--- a/src/vendorcode/google/chromeos/vboot_loader.c
+++ b/src/vendorcode/google/chromeos/vboot_loader.c
@@ -64,8 +64,7 @@ out:
/* Helper routines for the vboot stub. */
static void log_msg(const char *fmt, va_list args)
{
- vtxprintf(console_tx_byte, fmt, args);
- console_tx_flush();
+ do_vtxprintf(fmt, args);
}
static void fatal_error(void)