2005-04-16 15:20:36 -07:00
/*
* This file is designed to contain the BUILD_INTERRUPT specifications for
* all of the extra named interrupt vectors used by the architecture .
* Usually this is the Inter Process Interrupts ( IPIs )
*/
/*
* The following vectors are part of the Linux architecture , there
* is no hardware IRQ pin equivalent for them , they are triggered
* through the ICC by us ( IPIs )
*/
2009-01-27 17:07:08 +01:00
# ifdef CONFIG_SMP
2005-04-16 15:20:36 -07:00
BUILD_INTERRUPT ( reschedule_interrupt , RESCHEDULE_VECTOR )
BUILD_INTERRUPT ( call_function_interrupt , CALL_FUNCTION_VECTOR )
2008-06-26 11:21:54 +02:00
BUILD_INTERRUPT ( call_function_single_interrupt , CALL_FUNCTION_SINGLE_VECTOR )
2008-08-19 20:50:28 -07:00
BUILD_INTERRUPT ( irq_move_cleanup_interrupt , IRQ_MOVE_CLEANUP_VECTOR )
2009-01-21 17:26:06 +09:00
BUILD_INTERRUPT3 ( invalidate_interrupt0 , INVALIDATE_TLB_VECTOR_START + 0 ,
smp_invalidate_interrupt )
BUILD_INTERRUPT3 ( invalidate_interrupt1 , INVALIDATE_TLB_VECTOR_START + 1 ,
smp_invalidate_interrupt )
BUILD_INTERRUPT3 ( invalidate_interrupt2 , INVALIDATE_TLB_VECTOR_START + 2 ,
smp_invalidate_interrupt )
BUILD_INTERRUPT3 ( invalidate_interrupt3 , INVALIDATE_TLB_VECTOR_START + 3 ,
smp_invalidate_interrupt )
BUILD_INTERRUPT3 ( invalidate_interrupt4 , INVALIDATE_TLB_VECTOR_START + 4 ,
smp_invalidate_interrupt )
BUILD_INTERRUPT3 ( invalidate_interrupt5 , INVALIDATE_TLB_VECTOR_START + 5 ,
smp_invalidate_interrupt )
BUILD_INTERRUPT3 ( invalidate_interrupt6 , INVALIDATE_TLB_VECTOR_START + 6 ,
smp_invalidate_interrupt )
BUILD_INTERRUPT3 ( invalidate_interrupt7 , INVALIDATE_TLB_VECTOR_START + 7 ,
smp_invalidate_interrupt )
2005-04-16 15:20:36 -07:00
# endif
/*
* every pentium local APIC has two ' local interrupts ' , with a
* soft - definable vector attached to both interrupts , one of
* which is a timer interrupt , the other one is error counter
* overflow . Linux uses the local APIC timer interrupt to get
* a much simpler SMP time architecture :
*/
# ifdef CONFIG_X86_LOCAL_APIC
2009-01-28 19:34:09 +01:00
2005-04-16 15:20:36 -07:00
BUILD_INTERRUPT ( apic_timer_interrupt , LOCAL_TIMER_VECTOR )
BUILD_INTERRUPT ( error_interrupt , ERROR_APIC_VECTOR )
BUILD_INTERRUPT ( spurious_interrupt , SPURIOUS_APIC_VECTOR )
2009-01-28 19:34:09 +01:00
# ifdef CONFIG_PERF_COUNTERS
BUILD_INTERRUPT ( perf_counter_interrupt , LOCAL_PERF_VECTOR )
# endif
2005-04-16 15:20:36 -07:00
# ifdef CONFIG_X86_MCE_P4THERMAL
BUILD_INTERRUPT ( thermal_interrupt , THERMAL_APIC_VECTOR )
# endif
# endif