Re: [discuss] [PATCH] add and handle NMI_VECTOR II

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Friday 09 September 2005 08:42, Jan Beulich wrote:
> >Index: linux/include/asm-x86_64/hw_irq.h
> >===================================================================
> >--- linux.orig/include/asm-x86_64/hw_irq.h
> >+++ linux/include/asm-x86_64/hw_irq.h
> >@@ -52,7 +52,7 @@ struct hw_interrupt_type;
> > #define ERROR_APIC_VECTOR	0xfe
> > #define RESCHEDULE_VECTOR	0xfd
> > #define CALL_FUNCTION_VECTOR	0xfc
> >-#define KDB_VECTOR		0xfb	/* reserved for KDB */
> >+#define NMI_VECTOR		0xfb	/* IPI NMIs for debugging */
> > #define THERMAL_APIC_VECTOR	0xfa
> > /* 0xf9 free */
> > #define INVALIDATE_TLB_VECTOR_END	0xf8
>
> This doesn't seem too good an idea: the NMI vector really is 0x02
> (architecturally), so defining it to something else seems at least odd.

Good point. Actually the consensus (or the patch from T.Rini) was 
to name it DEBUG_VECTOR, but I messed that up. Will fix.

>
> >Index: linux/arch/x86_64/kernel/traps.c
> >===================================================================
> >--- linux.orig/arch/x86_64/kernel/traps.c
> >+++ linux/arch/x86_64/kernel/traps.c
> >@@ -931,7 +931,7 @@ void __init trap_init(void)
> > 	set_system_gate(IA32_SYSCALL_VECTOR, ia32_syscall);
> > #endif
> >
> >-	set_intr_gate(KDB_VECTOR, call_debug);
> >+	set_intr_gate(NMI_VECTOR, call_debug);
> >
> > 	/*
> > 	 * Should be a barrier for any external CPU state.
>
> I never understood what this does. If you deliver the IPI as an NMI,
> it'll never arrive at this vector, and why would anyone want to put an
> "int $NMI_VECTOR" anywhere?

You can force an NMI when sending an IPI by setting the right bits
in ICR. That is what it is used for.

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux