lkml.org 
[lkml]   [2005]   [Sep]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [discuss] [PATCH] add and handle NMI_VECTOR II
>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.

>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?

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

\
 
 \ /
  Last update: 2005-09-09 08:43    [W:0.042 / U:1.148 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site