x86/nmi: Add new NMI queues to deal with IO_CHK and SERR
authorDon Zickus <dzickus@redhat.com>
Thu, 29 Mar 2012 20:11:16 +0000 (16:11 -0400)
committerIngo Molnar <mingo@kernel.org>
Wed, 25 Apr 2012 10:43:34 +0000 (12:43 +0200)
commit553222f3e81f18da31b2552e18dc519715198590
tree53610c3d21a1b929190688c1b30687ab1af6d381
parent09ee10143658cd021d879ead61ead72a196302b6
x86/nmi: Add new NMI queues to deal with IO_CHK and SERR

In discussions with Thomas Mingarelli about hpwdt, he explained
to me some issues they were some when using their virtual NMI
button to test the hpwdt driver.

It turns out the virtual NMI button used on HP's machines do no
send unknown NMIs but instead send IO_CHK NMIs.  The way the
kernel code is written, the hpwdt driver can not register itself
against that type of NMI and therefore can not successfully
capture system information before panic'ing.

To solve this I created two new NMI queues to allow driver to
register against the IO_CHK and SERR NMIs.  Or in the hpwdt all
three (if you include unknown NMIs too).

The change is straightforward and just mimics what the unknown
NMI does.

Reported-and-tested-by: Thomas Mingarelli <thomas.mingarelli@hp.com>
Signed-off-by: Don Zickus <dzickus@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Link: http://lkml.kernel.org/r/1333051877-15755-3-git-send-email-dzickus@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/include/asm/nmi.h
arch/x86/kernel/nmi.c
drivers/watchdog/hpwdt.c