Commit 1a426cb7 authored by Jan Beulich's avatar Jan Beulich Committed by Linus Torvalds

[PATCH] x86-64: Declare NMI_VECTOR and handle it in the IPI sending code.

Signed-off-by: default avatarJan Beulich <jbeulich@novell.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent a2a0c992
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
struct hw_interrupt_type; struct hw_interrupt_type;
#endif #endif
#define NMI_VECTOR 0x02
/* /*
* IDT vectors usable for external interrupt sources start * IDT vectors usable for external interrupt sources start
* at 0x20: * at 0x20:
......
...@@ -31,9 +31,20 @@ ...@@ -31,9 +31,20 @@
static inline unsigned int __prepare_ICR (unsigned int shortcut, int vector, unsigned int dest) static inline unsigned int __prepare_ICR (unsigned int shortcut, int vector, unsigned int dest)
{ {
unsigned int icr = APIC_DM_FIXED | shortcut | vector | dest; unsigned int icr = shortcut | dest;
if (vector == KDB_VECTOR)
icr = (icr & (~APIC_VECTOR_MASK)) | APIC_DM_NMI; switch (vector) {
default:
icr |= APIC_DM_FIXED | vector;
break;
case NMI_VECTOR:
/*
* Setup KDB IPI to be delivered as an NMI
*/
case KDB_VECTOR:
icr |= APIC_DM_NMI;
break;
}
return icr; return icr;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment