[PATCH] x86_64: Remove useless KDB vector
authorAndi Kleen <ak@suse.de>
Wed, 11 Jan 2006 21:45:54 +0000 (22:45 +0100)
committerLinus Torvalds <torvalds@g5.osdl.org>
Thu, 12 Jan 2006 03:05:00 +0000 (19:05 -0800)
It was set as an NMI, but the NMI bit always forces an interrupt
to end up at vector 2. So it was never used. Remove.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/x86_64/kernel/entry.S
arch/x86_64/kernel/i8259.c
arch/x86_64/kernel/smp.c
arch/x86_64/kernel/traps.c
include/asm-x86_64/hw_irq.h
include/asm-x86_64/ipi.h

index 300555b..632fc0f 100644 (file)
@@ -1040,9 +1040,6 @@ ENTRY(machine_check)
        CFI_ENDPROC
 #endif
 
-ENTRY(call_debug)
-       zeroentry do_call_debug
-
 ENTRY(call_softirq)
        CFI_STARTPROC
        movq %gs:pda_irqstackptr,%rax
index 6e5101a..b61965f 100644 (file)
@@ -549,10 +549,9 @@ void __init init_IRQ(void)
                int vector = FIRST_EXTERNAL_VECTOR + i;
                if (i >= NR_IRQS)
                        break;
-               if (vector != IA32_SYSCALL_VECTOR && vector != KDB_VECTOR) { 
+               if (vector != IA32_SYSCALL_VECTOR)
                        set_intr_gate(vector, interrupt[i]);
        }
-       }
 
 #ifdef CONFIG_SMP
        /*
index 6a666d2..19ef012 100644 (file)
@@ -281,11 +281,6 @@ void flush_tlb_all(void)
        on_each_cpu(do_flush_tlb_all, NULL, 1, 1);
 }
 
-void smp_kdb_stop(void)
-{
-       send_IPI_allbutself(KDB_VECTOR);
-}
-
 /*
  * this function sends a 'reschedule' IPI to another CPU.
  * it goes straight through and wastes no time serializing
index 0827b14..5dee23b 100644 (file)
@@ -910,11 +910,6 @@ asmlinkage void math_state_restore(void)
        me->thread_info->status |= TS_USEDFPU;
 }
 
-void do_call_debug(struct pt_regs *regs) 
-{ 
-       notify_die(DIE_CALL, "debug call", regs, 0, 255, SIGINT); 
-}
-
 void __init trap_init(void)
 {
        set_intr_gate(0,&divide_error);
@@ -944,8 +939,6 @@ void __init trap_init(void)
        set_system_gate(IA32_SYSCALL_VECTOR, ia32_syscall);
 #endif
        
-       set_intr_gate(KDB_VECTOR, call_debug);
-       
        /*
         * Should be a barrier for any external CPU state.
         */
index b248930..0df1715 100644 (file)
@@ -51,7 +51,8 @@ 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 */
+/* fb free - please don't readd KDB here because it's useless
+   (hint - think what a NMI bit does to a vector) */
 #define THERMAL_APIC_VECTOR    0xfa
 #define THRESHOLD_APIC_VECTOR   0xf9
 /* f8 free */
index 022e9d3..2a5c162 100644 (file)
@@ -38,10 +38,6 @@ static inline unsigned int __prepare_ICR (unsigned int shortcut, int vector, uns
                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;
        }