From 049b46270d63c47db75b27246555c904e42fe9e2 Mon Sep 17 00:00:00 2001 From: Lee Leahy Date: Sun, 31 Jul 2016 11:53:28 -0700 Subject: arch/x86: Enable postcar console Add a Kconfig value to enable the console during postcar. Add a call to console_init at the beginning of the postcar stage in exit_car.S. TEST=Build and run on Galileo Gen2 Change-Id: I66e2ec83344129ede2c7d6e5627c8062e28f50ad Signed-off-by: Lee Leahy Reviewed-on: https://review.coreboot.org/16001 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin Reviewed-by: Patrick Georgi --- src/arch/x86/exit_car.S | 5 +++++ src/console/Kconfig | 7 +++++++ src/console/init.c | 2 +- src/include/console/console.h | 3 ++- 4 files changed, 15 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/arch/x86/exit_car.S b/src/arch/x86/exit_car.S index 421d5434a7..ca9b70e663 100644 --- a/src/arch/x86/exit_car.S +++ b/src/arch/x86/exit_car.S @@ -26,6 +26,11 @@ stack_top: .text .global _start _start: +#if IS_ENABLED(CONFIG_POSTCAR_CONSOLE) + /* Enable the console */ + call console_init +#endif /* CONFIG_POSTCAR_CONSOLE */ + /* chipset_teardown_car() is expected to disable cache-as-ram. */ call chipset_teardown_car diff --git a/src/console/Kconfig b/src/console/Kconfig index 90fb426cee..e945c259d7 100644 --- a/src/console/Kconfig +++ b/src/console/Kconfig @@ -7,6 +7,13 @@ config BOOTBLOCK_CONSOLE help Use console during the bootblock if supported +config POSTCAR_CONSOLE + bool "Enable console output during postcar." + depends on POSTCAR_STAGE + default n + help + Use console during the postcar if supported + config SQUELCH_EARLY_SMP bool "Squelch AP CPUs from early console." default y diff --git a/src/console/init.c b/src/console/init.c index 8f40abbe37..189079b98f 100644 --- a/src/console/init.c +++ b/src/console/init.c @@ -30,7 +30,7 @@ int console_log_level(int msg_level) return (console_loglevel >= msg_level); } -void console_init(void) +asmlinkage void console_init(void) { #if !defined(__PRE_RAM__) console_loglevel = CONFIG_DEFAULT_CONSOLE_LOGLEVEL; diff --git a/src/include/console/console.h b/src/include/console/console.h index ddb5c0524b..dcd5fe9cc2 100644 --- a/src/include/console/console.h +++ b/src/include/console/console.h @@ -18,6 +18,7 @@ #include #include +#include #include #include @@ -51,7 +52,7 @@ void __attribute__ ((noreturn)) die(const char *msg); (ENV_SMM && CONFIG_DEBUG_SMI)) #if __CONSOLE_ENABLE__ -void console_init(void); +asmlinkage void console_init(void); int console_log_level(int msg_level); int do_printk(int msg_level, const char *fmt, ...) __attribute__((format(printf, 2, 3))); void do_putchar(unsigned char byte); -- cgit v1.2.3