diff options
author | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2013-08-12 23:29:57 +0300 |
---|---|---|
committer | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2013-08-16 05:39:47 +0200 |
commit | 361cd8153d3426f2ba4f65ccb396e8e20e738068 (patch) | |
tree | 571eb1d0fbead579b2fb47cab6cd3aff40d72ceb /src/arch/x86 | |
parent | 7037840ece7ed221990a8e683293408b81a4cfd1 (diff) |
console: Squelch console output from AP CPUs in romstage
Add Kconfig option SQUELCH_EARLY_SMP and have it enabled by
default.
Console drivers have unpredictable results if multiple threads
attempt to share same resources without spinlock. Serial UARTs
have not had huge problems, only distorted output, but those
relying on cache-as-ram (CBMEM and usbdebug) may require this.
Change-Id: I7f406fdea7b6dc6a341c4da2fab56f7b7ff568b4
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: http://review.coreboot.org/3854
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@google.com>
Diffstat (limited to 'src/arch/x86')
-rw-r--r-- | src/arch/x86/lib/romstage_console.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/arch/x86/lib/romstage_console.c b/src/arch/x86/lib/romstage_console.c index 2e743adc17..1c3141ccb8 100644 --- a/src/arch/x86/lib/romstage_console.c +++ b/src/arch/x86/lib/romstage_console.c @@ -31,7 +31,9 @@ #if CONFIG_SPKMODEM #include <console/spkmodem.h> #endif - +#if CONFIG_SQUELCH_EARLY_SMP +#include <cpu/x86/lapic.h> +#endif void console_tx_byte(unsigned char byte) { @@ -86,6 +88,11 @@ int do_printk(int msg_level, const char *fmt, ...) return 0; } +#if CONFIG_SQUELCH_EARLY_SMP + if (!boot_cpu()) + return 0; +#endif + va_start(args, fmt); i = vtxprintf(console_tx_byte, fmt, args); va_end(args); |