Skip to content

Commit

Permalink
[PATCH] x86_64: Remove useless KDB vector
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Andi Kleen authored and Linus Torvalds committed Jan 12, 2006
1 parent e080e9d commit 915f34e
Show file tree
Hide file tree
Showing 6 changed files with 3 additions and 22 deletions.
3 changes: 0 additions & 3 deletions arch/x86_64/kernel/entry.S
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 1 addition & 2 deletions arch/x86_64/kernel/i8259.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
/*
Expand Down
5 changes: 0 additions & 5 deletions arch/x86_64/kernel/smp.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
7 changes: 0 additions & 7 deletions arch/x86_64/kernel/traps.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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.
*/
Expand Down
3 changes: 2 additions & 1 deletion include/asm-x86_64/hw_irq.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
Expand Down
4 changes: 0 additions & 4 deletions include/asm-x86_64/ipi.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand Down

0 comments on commit 915f34e

Please sign in to comment.