diff options
author | Andi Kleen <ak@suse.de> | 2006-01-11 16:45:54 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-11 22:05:00 -0500 |
commit | 915f34e20c20ee383832bce0a4bc962d0c86be8d (patch) | |
tree | 2e1914cc129361d15e0ad8d888913a0623aef80b /arch/x86_64 | |
parent | e080e9d66fd276ed34bc2834eedc134189b87fc9 (diff) |
[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>
Diffstat (limited to 'arch/x86_64')
-rw-r--r-- | arch/x86_64/kernel/entry.S | 3 | ||||
-rw-r--r-- | arch/x86_64/kernel/i8259.c | 3 | ||||
-rw-r--r-- | arch/x86_64/kernel/smp.c | 5 | ||||
-rw-r--r-- | arch/x86_64/kernel/traps.c | 7 |
4 files changed, 1 insertions, 17 deletions
diff --git a/arch/x86_64/kernel/entry.S b/arch/x86_64/kernel/entry.S index 300555bc56b3..632fc0f59fcc 100644 --- a/arch/x86_64/kernel/entry.S +++ b/arch/x86_64/kernel/entry.S | |||
@@ -1040,9 +1040,6 @@ ENTRY(machine_check) | |||
1040 | CFI_ENDPROC | 1040 | CFI_ENDPROC |
1041 | #endif | 1041 | #endif |
1042 | 1042 | ||
1043 | ENTRY(call_debug) | ||
1044 | zeroentry do_call_debug | ||
1045 | |||
1046 | ENTRY(call_softirq) | 1043 | ENTRY(call_softirq) |
1047 | CFI_STARTPROC | 1044 | CFI_STARTPROC |
1048 | movq %gs:pda_irqstackptr,%rax | 1045 | movq %gs:pda_irqstackptr,%rax |
diff --git a/arch/x86_64/kernel/i8259.c b/arch/x86_64/kernel/i8259.c index 6e5101ad3d1a..b61965f0fb34 100644 --- a/arch/x86_64/kernel/i8259.c +++ b/arch/x86_64/kernel/i8259.c | |||
@@ -549,10 +549,9 @@ void __init init_IRQ(void) | |||
549 | int vector = FIRST_EXTERNAL_VECTOR + i; | 549 | int vector = FIRST_EXTERNAL_VECTOR + i; |
550 | if (i >= NR_IRQS) | 550 | if (i >= NR_IRQS) |
551 | break; | 551 | break; |
552 | if (vector != IA32_SYSCALL_VECTOR && vector != KDB_VECTOR) { | 552 | if (vector != IA32_SYSCALL_VECTOR) |
553 | set_intr_gate(vector, interrupt[i]); | 553 | set_intr_gate(vector, interrupt[i]); |
554 | } | 554 | } |
555 | } | ||
556 | 555 | ||
557 | #ifdef CONFIG_SMP | 556 | #ifdef CONFIG_SMP |
558 | /* | 557 | /* |
diff --git a/arch/x86_64/kernel/smp.c b/arch/x86_64/kernel/smp.c index 6a666d248c12..19ef012b1f17 100644 --- a/arch/x86_64/kernel/smp.c +++ b/arch/x86_64/kernel/smp.c | |||
@@ -281,11 +281,6 @@ void flush_tlb_all(void) | |||
281 | on_each_cpu(do_flush_tlb_all, NULL, 1, 1); | 281 | on_each_cpu(do_flush_tlb_all, NULL, 1, 1); |
282 | } | 282 | } |
283 | 283 | ||
284 | void smp_kdb_stop(void) | ||
285 | { | ||
286 | send_IPI_allbutself(KDB_VECTOR); | ||
287 | } | ||
288 | |||
289 | /* | 284 | /* |
290 | * this function sends a 'reschedule' IPI to another CPU. | 285 | * this function sends a 'reschedule' IPI to another CPU. |
291 | * it goes straight through and wastes no time serializing | 286 | * it goes straight through and wastes no time serializing |
diff --git a/arch/x86_64/kernel/traps.c b/arch/x86_64/kernel/traps.c index 0827b141c05e..5dee23ba074e 100644 --- a/arch/x86_64/kernel/traps.c +++ b/arch/x86_64/kernel/traps.c | |||
@@ -910,11 +910,6 @@ asmlinkage void math_state_restore(void) | |||
910 | me->thread_info->status |= TS_USEDFPU; | 910 | me->thread_info->status |= TS_USEDFPU; |
911 | } | 911 | } |
912 | 912 | ||
913 | void do_call_debug(struct pt_regs *regs) | ||
914 | { | ||
915 | notify_die(DIE_CALL, "debug call", regs, 0, 255, SIGINT); | ||
916 | } | ||
917 | |||
918 | void __init trap_init(void) | 913 | void __init trap_init(void) |
919 | { | 914 | { |
920 | set_intr_gate(0,÷_error); | 915 | set_intr_gate(0,÷_error); |
@@ -944,8 +939,6 @@ void __init trap_init(void) | |||
944 | set_system_gate(IA32_SYSCALL_VECTOR, ia32_syscall); | 939 | set_system_gate(IA32_SYSCALL_VECTOR, ia32_syscall); |
945 | #endif | 940 | #endif |
946 | 941 | ||
947 | set_intr_gate(KDB_VECTOR, call_debug); | ||
948 | |||
949 | /* | 942 | /* |
950 | * Should be a barrier for any external CPU state. | 943 | * Should be a barrier for any external CPU state. |
951 | */ | 944 | */ |