[PATCH] x86-64: Declare NMI_VECTOR and handle it in the IPI sending code.
Signed-off-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
a2a0c992e9
commit
1a426cb764
|
@ -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 @@
|
||||||
|
|
||||||
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue