aboutsummaryrefslogtreecommitdiff
path: root/src/include/console/console.h
diff options
context:
space:
mode:
authorHung-Te Lin <hungte@chromium.org>2013-02-06 21:51:15 +0800
committerDavid Hendricks <dhendrix@chromium.org>2013-02-08 02:02:26 +0100
commit580fa2bf316d4796e5ed76cbbd3e454479fb0688 (patch)
treef98a396d81d8474377bcb4837180af869dc06e1a /src/include/console/console.h
parentf7fcb2056f2ddf151517366a4caf2b6c52b0d920 (diff)
console: Only print romstage messages with EARLY_CONSOLE enabled.
Revise console source file dependency (especially for EARLY_CONSOLE) and interpret printk/console_init according to EARLY_CONSOLE setting (no-ops if EARLY_CONSOLE is not defined). Verified to boot on x86/qemu and armv7/snow. Disabling EARLY_CONSOLE correctly stops romstage messages on x86/qemu (armv7/snow needs more changes to work). Change-Id: Idbbd3a26bc1135c9d3ae282aad486961fb60e0ea Signed-off-by: Hung-Te Lin <hungte@chromium.org> Reviewed-on: http://review.coreboot.org/2300 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: David Hendricks <dhendrix@chromium.org>
Diffstat (limited to 'src/include/console/console.h')
-rw-r--r--src/include/console/console.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/include/console/console.h b/src/include/console/console.h
index edd49e0f84..496571b6fa 100644
--- a/src/include/console/console.h
+++ b/src/include/console/console.h
@@ -74,6 +74,15 @@ void mainboard_post(u8 value);
void __attribute__ ((noreturn)) die(const char *msg);
int do_printk(int msg_level, const char *fmt, ...) __attribute__((format(printf, 2, 3)));
+#if defined(__PRE_RAM__) && !CONFIG_EARLY_CONSOLE
+
+static inline void printk(int LEVEL, const char *fmt, ...);
+static inline void printk(int LEVEL, const char *fmt, ...) {
+ /* Do nothing. */
+}
+
+#else /* defined(__PRE_RAM__) && !CONFIG_EARLY_CONSOLE */
+
#undef WE_CLEANED_UP_ALL_SIDE_EFFECTS
/* We saw some strange effects in the past like coreboot crashing while
* disabling cache as ram for a maximum console log level of 6 and above while
@@ -109,6 +118,8 @@ int do_printk(int msg_level, const char *fmt, ...) __attribute__((format(printf,
} while(0)
#endif
+#endif /* defined(__PRE_RAM__) && !CONFIG_EARLY_CONSOLE */
+
#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))