1/* 2 * This file is designed to contain the BUILD_INTERRUPT specifications for 3 * all of the extra named interrupt vectors used by the architecture. 4 * Usually this is the Inter Process Interrupts (IPIs) 5 */ 6 7/* 8 * The following vectors are part of the Linux architecture, there 9 * is no hardware IRQ pin equivalent for them, they are triggered 10 * through the ICC by us (IPIs) 11 */ 12#ifdef CONFIG_SMP 13BUILD_INTERRUPT(reschedule_interrupt,RESCHEDULE_VECTOR) 14BUILD_INTERRUPT(call_function_interrupt,CALL_FUNCTION_VECTOR) 15BUILD_INTERRUPT(call_function_single_interrupt,CALL_FUNCTION_SINGLE_VECTOR) 16BUILD_INTERRUPT(irq_move_cleanup_interrupt,IRQ_MOVE_CLEANUP_VECTOR) 17BUILD_INTERRUPT(reboot_interrupt,REBOOT_VECTOR) 18 19BUILD_INTERRUPT3(invalidate_interrupt0,INVALIDATE_TLB_VECTOR_START+0, 20 smp_invalidate_interrupt) 21BUILD_INTERRUPT3(invalidate_interrupt1,INVALIDATE_TLB_VECTOR_START+1, 22 smp_invalidate_interrupt) 23BUILD_INTERRUPT3(invalidate_interrupt2,INVALIDATE_TLB_VECTOR_START+2, 24 smp_invalidate_interrupt) 25BUILD_INTERRUPT3(invalidate_interrupt3,INVALIDATE_TLB_VECTOR_START+3, 26 smp_invalidate_interrupt) 27BUILD_INTERRUPT3(invalidate_interrupt4,INVALIDATE_TLB_VECTOR_START+4, 28 smp_invalidate_interrupt) 29BUILD_INTERRUPT3(invalidate_interrupt5,INVALIDATE_TLB_VECTOR_START+5, 30 smp_invalidate_interrupt) 31BUILD_INTERRUPT3(invalidate_interrupt6,INVALIDATE_TLB_VECTOR_START+6, 32 smp_invalidate_interrupt) 33BUILD_INTERRUPT3(invalidate_interrupt7,INVALIDATE_TLB_VECTOR_START+7, 34 smp_invalidate_interrupt) 35#endif 36 37BUILD_INTERRUPT(x86_platform_ipi, X86_PLATFORM_IPI_VECTOR) 38 39/* 40 * every pentium local APIC has two 'local interrupts', with a 41 * soft-definable vector attached to both interrupts, one of 42 * which is a timer interrupt, the other one is error counter 43 * overflow. Linux uses the local APIC timer interrupt to get 44 * a much simpler SMP time architecture: 45 */ 46#ifdef CONFIG_X86_LOCAL_APIC 47 48BUILD_INTERRUPT(apic_timer_interrupt,LOCAL_TIMER_VECTOR) 49BUILD_INTERRUPT(error_interrupt,ERROR_APIC_VECTOR) 50BUILD_INTERRUPT(spurious_interrupt,SPURIOUS_APIC_VECTOR) 51 52#ifdef CONFIG_PERF_EVENTS 53BUILD_INTERRUPT(perf_pending_interrupt, LOCAL_PENDING_VECTOR) 54#endif 55 56#ifdef CONFIG_X86_THERMAL_VECTOR 57BUILD_INTERRUPT(thermal_interrupt,THERMAL_APIC_VECTOR) 58#endif 59 60#ifdef CONFIG_X86_MCE_THRESHOLD 61BUILD_INTERRUPT(threshold_interrupt,THRESHOLD_APIC_VECTOR) 62#endif 63 64#ifdef CONFIG_X86_MCE 65BUILD_INTERRUPT(mce_self_interrupt,MCE_SELF_VECTOR) 66#endif 67 68#endif 69