aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2018-12-31 15:22:34 +0200
committerKyösti Mälkki <kyosti.malkki@gmail.com>2019-01-13 13:01:42 +0000
commit66277952893b27154c7e8cfd7db3822342946c45 (patch)
treea86df9f81eab777cd730a680af1cb32e02ff168b
parent67618dd25001e74d525997d2670102f2e5a631e2 (diff)
console: Add Kconfig debug option DEBUG_CONSOLE_INIT
Under normal circumstances no printk() goes through until console_hw_init() has completed. This is wanted behaviour, except when you need to debug the setup of one of consoles. Change-Id: Ifc2bb22bf930009ee229d4461f512ada3018307b Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/30558 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de>
-rw-r--r--src/Kconfig12
-rw-r--r--src/console/init.c3
2 files changed, 15 insertions, 0 deletions
diff --git a/src/Kconfig b/src/Kconfig
index 87b088f893..cba48af8e5 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -782,6 +782,18 @@ config DEBUG_ACPI
If unsure, say N.
+config DEBUG_CONSOLE_INIT
+ bool "Debug console initialisation code"
+ default n
+ help
+ With this option printk()'s are attempted before console hardware
+ initialisation has been completed. Your mileage may vary.
+
+ Typically you will need to modify source in console_hw_init() such
+ that a working console appears before the one you want to debug.
+
+ If unsure, say N.
+
# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
# printk(BIOS_DEBUG, ...) calls.
config REALMODE_DEBUG
diff --git a/src/console/init.c b/src/console/init.c
index f35dd51beb..0bafdbe3f0 100644
--- a/src/console/init.c
+++ b/src/console/init.c
@@ -72,6 +72,9 @@ asmlinkage void console_init(void)
{
init_log_level();
+ if (IS_ENABLED(CONFIG_DEBUG_CONSOLE_INIT))
+ car_set_var(console_inited, 1);
+
#if IS_ENABLED(CONFIG_EARLY_PCI_BRIDGE)
if (!ENV_SMM && !ENV_RAMSTAGE)
pci_early_bridge_init();