[PATCH] x86_64: Remove useless KDB vector

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>
This commit is contained in:
Andi Kleen 2006-01-11 22:45:54 +01:00 committed by Linus Torvalds
parent e080e9d66f
commit 915f34e20c
6 changed files with 3 additions and 22 deletions

View file

@ -1040,9 +1040,6 @@ ENTRY(machine_check)
CFI_ENDPROC CFI_ENDPROC
#endif #endif
ENTRY(call_debug)
zeroentry do_call_debug
ENTRY(call_softirq) ENTRY(call_softirq)
CFI_STARTPROC CFI_STARTPROC
movq %gs:pda_irqstackptr,%rax movq %gs:pda_irqstackptr,%rax

View file

@ -549,10 +549,9 @@ void __init init_IRQ(void)
int vector = FIRST_EXTERNAL_VECTOR + i; int vector = FIRST_EXTERNAL_VECTOR + i;
if (i >= NR_IRQS) if (i >= NR_IRQS)
break; break;
if (vector != IA32_SYSCALL_VECTOR && vector != KDB_VECTOR) { if (vector != IA32_SYSCALL_VECTOR)
set_intr_gate(vector, interrupt[i]); set_intr_gate(vector, interrupt[i]);
} }
}
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
/* /*

View file

@ -281,11 +281,6 @@ void flush_tlb_all(void)
on_each_cpu(do_flush_tlb_all, NULL, 1, 1); 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. * this function sends a 'reschedule' IPI to another CPU.
* it goes straight through and wastes no time serializing * it goes straight through and wastes no time serializing

View file

@ -910,11 +910,6 @@ asmlinkage void math_state_restore(void)
me->thread_info->status |= TS_USEDFPU; 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) void __init trap_init(void)
{ {
set_intr_gate(0,&divide_error); set_intr_gate(0,&divide_error);
@ -944,8 +939,6 @@ void __init trap_init(void)
set_system_gate(IA32_SYSCALL_VECTOR, ia32_syscall); set_system_gate(IA32_SYSCALL_VECTOR, ia32_syscall);
#endif #endif
set_intr_gate(KDB_VECTOR, call_debug);
/* /*
* Should be a barrier for any external CPU state. * Should be a barrier for any external CPU state.
*/ */

View file

@ -51,7 +51,8 @@ struct hw_interrupt_type;
#define ERROR_APIC_VECTOR 0xfe #define ERROR_APIC_VECTOR 0xfe
#define RESCHEDULE_VECTOR 0xfd #define RESCHEDULE_VECTOR 0xfd
#define CALL_FUNCTION_VECTOR 0xfc #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 THERMAL_APIC_VECTOR 0xfa
#define THRESHOLD_APIC_VECTOR 0xf9 #define THRESHOLD_APIC_VECTOR 0xf9
/* f8 free */ /* f8 free */

View file

@ -38,10 +38,6 @@ static inline unsigned int __prepare_ICR (unsigned int shortcut, int vector, uns
icr |= APIC_DM_FIXED | vector; icr |= APIC_DM_FIXED | vector;
break; break;
case NMI_VECTOR: case NMI_VECTOR:
/*
* Setup KDB IPI to be delivered as an NMI
*/
case KDB_VECTOR:
icr |= APIC_DM_NMI; icr |= APIC_DM_NMI;
break; break;
} }