diff options
author | Benjamin Herrenschmidt <benh@au1.ibm.com> | 2006-06-06 22:06:20 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-06-09 07:24:10 -0400 |
commit | 3b5e905ee3bd23e9311951890aba57a0dbc81ca4 (patch) | |
tree | 700e3dd7e21b09006216647fb0dec284b682f2ab /arch | |
parent | e78dbc800c37f035d476c4fdebdf43cdecfcb731 (diff) |
[PATCH] powerpc: Add udbg-immortal kernel option
When debugging early kernel crashes that happen after console_init() and
before a proper console driver takes over, we often have to go hack into
udbg.c to prevent it from unregistering so we can "see" what is
happening. This patch adds a kernel command line option "udbg-immortal"
instead to avoid having to modify the kernel.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/powerpc/kernel/udbg.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/powerpc/kernel/udbg.c b/arch/powerpc/kernel/udbg.c index 3774e80094f5..67d9fd9ae2b5 100644 --- a/arch/powerpc/kernel/udbg.c +++ b/arch/powerpc/kernel/udbg.c | |||
@@ -14,6 +14,7 @@ | |||
14 | #include <linux/types.h> | 14 | #include <linux/types.h> |
15 | #include <linux/sched.h> | 15 | #include <linux/sched.h> |
16 | #include <linux/console.h> | 16 | #include <linux/console.h> |
17 | #include <linux/init.h> | ||
17 | #include <asm/processor.h> | 18 | #include <asm/processor.h> |
18 | #include <asm/udbg.h> | 19 | #include <asm/udbg.h> |
19 | 20 | ||
@@ -141,12 +142,14 @@ static int early_console_initialized; | |||
141 | 142 | ||
142 | void __init disable_early_printk(void) | 143 | void __init disable_early_printk(void) |
143 | { | 144 | { |
144 | #if 1 | ||
145 | if (!early_console_initialized) | 145 | if (!early_console_initialized) |
146 | return; | 146 | return; |
147 | if (strstr(saved_command_line, "udbg-immortal")) { | ||
148 | printk(KERN_INFO "early console immortal !\n"); | ||
149 | return; | ||
150 | } | ||
147 | unregister_console(&udbg_console); | 151 | unregister_console(&udbg_console); |
148 | early_console_initialized = 0; | 152 | early_console_initialized = 0; |
149 | #endif | ||
150 | } | 153 | } |
151 | 154 | ||
152 | /* called by setup_system */ | 155 | /* called by setup_system */ |