aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/irqinit_64.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/irqinit_64.c')
-rw-r--r--arch/x86/kernel/irqinit_64.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/x86/kernel/irqinit_64.c b/arch/x86/kernel/irqinit_64.c
index 8cd10537fd46..1c8858bb27f2 100644
--- a/arch/x86/kernel/irqinit_64.c
+++ b/arch/x86/kernel/irqinit_64.c
@@ -159,15 +159,16 @@ void __init native_init_IRQ(void)
159 int i; 159 int i;
160 160
161 init_ISA_irqs(); 161 init_ISA_irqs();
162
162 /* 163 /*
163 * Cover the whole vector space, no vector can escape 164 * Cover the whole vector space, no vector can escape
164 * us. (some of these will be overridden and become 165 * us. (some of these will be overridden and become
165 * 'special' SMP interrupts) 166 * 'special' SMP interrupts)
166 */ 167 */
167 for (i = 0; i < (NR_VECTORS - FIRST_EXTERNAL_VECTOR); i++) { 168 for (i = FIRST_EXTERNAL_VECTOR; i < NR_VECTORS; i++) {
168 int vector = FIRST_EXTERNAL_VECTOR + i; 169 /* IA32_SYSCALL_VECTOR was reserved in trap_init. */
169 if (vector != IA32_SYSCALL_VECTOR) 170 if (i != IA32_SYSCALL_VECTOR)
170 set_intr_gate(vector, interrupt[i]); 171 set_intr_gate(i, interrupt[i-FIRST_EXTERNAL_VECTOR]);
171 } 172 }
172 173
173 apic_intr_init(); 174 apic_intr_init();