Messages in this thread Patch in this message | | | From | Don Zickus <> | Subject | [PATCH 3/6] x86, nmi: Add boot line option 'panic_on_unrecovered_nmi' and 'panic_on_io_nmi' | Date | Thu, 15 May 2014 15:25:46 -0400 |
| |
These options are accessable through /proc/sys/kernel but not on the command line. The main use is for on board controllers (iLO, DRAC, BMC) to be able to issue an external NMI to bring down a hung box.
This just makes configuring a box a little easier.
Signed-off-by: Don Zickus <dzickus@redhat.com> --- Documentation/kernel-parameters.txt | 9 +++++++++ arch/x86/kernel/nmi.c | 14 ++++++++++++++ 2 files changed, 23 insertions(+), 0 deletions(-)
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index b6c67d5..a4056b5 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt @@ -2339,6 +2339,15 @@ bytes respectively. Such letter suffixes can also be entirely omitted. timeout < 0: reboot immediately Format: <timeout> + panic_on_unrecovered_nmi [X86] + Force a machine to panic if an unrecoverable NMI is + unclaimed. This covers SERR or UNKONWN NMI cases. + + panic_on_io_nmi [X86] + Force a machine to panic if an IO NMI is unclaimed. + This covers external NMIs with no handlers associated + with them. + parkbd.port= [HW] Parallel port number the keyboard adapter is connected to, default is 0. Format: <parport#> diff --git a/arch/x86/kernel/nmi.c b/arch/x86/kernel/nmi.c index b7c6f6b..0467f42 100644 --- a/arch/x86/kernel/nmi.c +++ b/arch/x86/kernel/nmi.c @@ -87,6 +87,20 @@ static int __init setup_unknown_nmi_panic(char *str) } __setup("unknown_nmi_panic", setup_unknown_nmi_panic); +static int __init setup_panic_on_unrecovered_nmi(char *str) +{ + panic_on_unrecovered_nmi = 1; + return 1; +} +__setup("panic_on_unrecovered_nmi", setup_panic_on_unrecovered_nmi); + +static int __init setup_panic_on_io_nmi(char *str) +{ + panic_on_io_nmi = 1; + return 1; +} +__setup("panic_on_io_nmi", setup_panic_on_io_nmi); + #define nmi_to_desc(type) (&nmi_desc[type]) static u64 nmi_longest_ns = 1 * NSEC_PER_MSEC; -- 1.7.1
| |