diff options
author | Simon Arlott <simon@fire.lp0.eu> | 2008-07-19 18:32:54 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-20 04:10:31 -0400 |
commit | e3a61b0a8c0e342e700a61cd554b01050f333a36 (patch) | |
tree | 76081e45b9f6aa5d857b7b4ea02cd0014a9d5227 | |
parent | 5b664cb235e97afbf34db9c4d77f08ebd725335e (diff) |
x86: add unknown_nmi_panic kernel parameter
It's not possible to enable the unknown_nmi_panic sysctl option
until init is run. It's useful to be able to panic the kernel
during boot too, this adds a parameter to enable this option.
Signed-off-by: Simon Arlott <simon@fire.lp0.eu>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r-- | Documentation/kernel-parameters.txt | 4 | ||||
-rw-r--r-- | arch/x86/kernel/nmi.c | 7 |
2 files changed, 11 insertions, 0 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 09ad7450647b..06fbb3aa288c 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -2158,6 +2158,10 @@ and is between 256 and 4096 characters. It is defined in the file | |||
2158 | Note that genuine overcurrent events won't be | 2158 | Note that genuine overcurrent events won't be |
2159 | reported either. | 2159 | reported either. |
2160 | 2160 | ||
2161 | unknown_nmi_panic | ||
2162 | [X86-32,X86-64] | ||
2163 | Set unknown_nmi_panic=1 early on boot. | ||
2164 | |||
2161 | usbcore.autosuspend= | 2165 | usbcore.autosuspend= |
2162 | [USB] The autosuspend time delay (in seconds) used | 2166 | [USB] The autosuspend time delay (in seconds) used |
2163 | for newly-detected USB devices (default 2). This | 2167 | for newly-detected USB devices (default 2). This |
diff --git a/arch/x86/kernel/nmi.c b/arch/x86/kernel/nmi.c index ec024b3baad0..e0b44b7b717a 100644 --- a/arch/x86/kernel/nmi.c +++ b/arch/x86/kernel/nmi.c | |||
@@ -448,6 +448,13 @@ nmi_watchdog_tick(struct pt_regs *regs, unsigned reason) | |||
448 | 448 | ||
449 | #ifdef CONFIG_SYSCTL | 449 | #ifdef CONFIG_SYSCTL |
450 | 450 | ||
451 | static int __init setup_unknown_nmi_panic(char *str) | ||
452 | { | ||
453 | unknown_nmi_panic = 1; | ||
454 | return 1; | ||
455 | } | ||
456 | __setup("unknown_nmi_panic", setup_unknown_nmi_panic); | ||
457 | |||
451 | static int unknown_nmi_panic_callback(struct pt_regs *regs, int cpu) | 458 | static int unknown_nmi_panic_callback(struct pt_regs *regs, int cpu) |
452 | { | 459 | { |
453 | unsigned char reason = get_nmi_reason(); | 460 | unsigned char reason = get_nmi_reason(); |