Loading arch/x86/kernel/apic_32.c +23 −0 Original line number Diff line number Diff line Loading @@ -1317,6 +1317,29 @@ void smp_error_interrupt(struct pt_regs *regs) irq_exit(); } #ifdef CONFIG_SMP void __init smp_intr_init(void) { /* * IRQ0 must be given a fixed assignment and initialized, * because it's used before the IO-APIC is set up. */ set_intr_gate(FIRST_DEVICE_VECTOR, interrupt[0]); /* * The reschedule interrupt is a CPU-to-CPU reschedule-helper * IPI, driven by wakeup. */ set_intr_gate(RESCHEDULE_VECTOR, reschedule_interrupt); /* IPI for invalidation */ set_intr_gate(INVALIDATE_TLB_VECTOR, invalidate_interrupt); /* IPI for generic function call */ set_intr_gate(CALL_FUNCTION_VECTOR, call_function_interrupt); } #endif /* * Initialize APIC interrupts */ Loading arch/x86/kernel/smpboot_32.c +0 −21 Original line number Diff line number Diff line Loading @@ -968,24 +968,3 @@ void __init native_smp_cpus_done(unsigned int max_cpus) #endif zap_low_mappings(); } void __init smp_intr_init(void) { /* * IRQ0 must be given a fixed assignment and initialized, * because it's used before the IO-APIC is set up. */ set_intr_gate(FIRST_DEVICE_VECTOR, interrupt[0]); /* * The reschedule interrupt is a CPU-to-CPU reschedule-helper * IPI, driven by wakeup. */ set_intr_gate(RESCHEDULE_VECTOR, reschedule_interrupt); /* IPI for invalidation */ set_intr_gate(INVALIDATE_TLB_VECTOR, invalidate_interrupt); /* IPI for generic function call */ set_intr_gate(CALL_FUNCTION_VECTOR, call_function_interrupt); } Loading
arch/x86/kernel/apic_32.c +23 −0 Original line number Diff line number Diff line Loading @@ -1317,6 +1317,29 @@ void smp_error_interrupt(struct pt_regs *regs) irq_exit(); } #ifdef CONFIG_SMP void __init smp_intr_init(void) { /* * IRQ0 must be given a fixed assignment and initialized, * because it's used before the IO-APIC is set up. */ set_intr_gate(FIRST_DEVICE_VECTOR, interrupt[0]); /* * The reschedule interrupt is a CPU-to-CPU reschedule-helper * IPI, driven by wakeup. */ set_intr_gate(RESCHEDULE_VECTOR, reschedule_interrupt); /* IPI for invalidation */ set_intr_gate(INVALIDATE_TLB_VECTOR, invalidate_interrupt); /* IPI for generic function call */ set_intr_gate(CALL_FUNCTION_VECTOR, call_function_interrupt); } #endif /* * Initialize APIC interrupts */ Loading
arch/x86/kernel/smpboot_32.c +0 −21 Original line number Diff line number Diff line Loading @@ -968,24 +968,3 @@ void __init native_smp_cpus_done(unsigned int max_cpus) #endif zap_low_mappings(); } void __init smp_intr_init(void) { /* * IRQ0 must be given a fixed assignment and initialized, * because it's used before the IO-APIC is set up. */ set_intr_gate(FIRST_DEVICE_VECTOR, interrupt[0]); /* * The reschedule interrupt is a CPU-to-CPU reschedule-helper * IPI, driven by wakeup. */ set_intr_gate(RESCHEDULE_VECTOR, reschedule_interrupt); /* IPI for invalidation */ set_intr_gate(INVALIDATE_TLB_VECTOR, invalidate_interrupt); /* IPI for generic function call */ set_intr_gate(CALL_FUNCTION_VECTOR, call_function_interrupt); }