From 66277952893b27154c7e8cfd7db3822342946c45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ky=C3=B6sti=20M=C3=A4lkki?= Date: Mon, 31 Dec 2018 15:22:34 +0200 Subject: console: Add Kconfig debug option DEBUG_CONSOLE_INIT MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-on: https://review.coreboot.org/c/30558 Tested-by: build bot (Jenkins) Reviewed-by: Nico Huber --- src/Kconfig | 12 ++++++++++++ src/console/init.c | 3 +++ 2 files changed, 15 insertions(+) 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(); -- cgit v1.2.3