Commit | Line | Data |
---|---|---|
1da177e4 LT |
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 | */ | |
3e5095d1 | 12 | #ifdef CONFIG_SMP |
1da177e4 | 13 | BUILD_INTERRUPT(reschedule_interrupt,RESCHEDULE_VECTOR) |
1da177e4 | 14 | BUILD_INTERRUPT(call_function_interrupt,CALL_FUNCTION_VECTOR) |
3b16cf87 | 15 | BUILD_INTERRUPT(call_function_single_interrupt,CALL_FUNCTION_SINGLE_VECTOR) |
497c9a19 | 16 | BUILD_INTERRUPT(irq_move_cleanup_interrupt,IRQ_MOVE_CLEANUP_VECTOR) |
02cf94c3 TH |
17 | |
18 | BUILD_INTERRUPT3(invalidate_interrupt0,INVALIDATE_TLB_VECTOR_START+0, | |
19 | smp_invalidate_interrupt) | |
20 | BUILD_INTERRUPT3(invalidate_interrupt1,INVALIDATE_TLB_VECTOR_START+1, | |
21 | smp_invalidate_interrupt) | |
22 | BUILD_INTERRUPT3(invalidate_interrupt2,INVALIDATE_TLB_VECTOR_START+2, | |
23 | smp_invalidate_interrupt) | |
24 | BUILD_INTERRUPT3(invalidate_interrupt3,INVALIDATE_TLB_VECTOR_START+3, | |
25 | smp_invalidate_interrupt) | |
26 | BUILD_INTERRUPT3(invalidate_interrupt4,INVALIDATE_TLB_VECTOR_START+4, | |
27 | smp_invalidate_interrupt) | |
28 | BUILD_INTERRUPT3(invalidate_interrupt5,INVALIDATE_TLB_VECTOR_START+5, | |
29 | smp_invalidate_interrupt) | |
30 | BUILD_INTERRUPT3(invalidate_interrupt6,INVALIDATE_TLB_VECTOR_START+6, | |
31 | smp_invalidate_interrupt) | |
32 | BUILD_INTERRUPT3(invalidate_interrupt7,INVALIDATE_TLB_VECTOR_START+7, | |
33 | smp_invalidate_interrupt) | |
1da177e4 LT |
34 | #endif |
35 | ||
acaabe79 DS |
36 | BUILD_INTERRUPT(generic_interrupt, GENERIC_INTERRUPT_VECTOR) |
37 | ||
1da177e4 LT |
38 | /* |
39 | * every pentium local APIC has two 'local interrupts', with a | |
40 | * soft-definable vector attached to both interrupts, one of | |
41 | * which is a timer interrupt, the other one is error counter | |
42 | * overflow. Linux uses the local APIC timer interrupt to get | |
43 | * a much simpler SMP time architecture: | |
44 | */ | |
45 | #ifdef CONFIG_X86_LOCAL_APIC | |
1164dd00 | 46 | |
1da177e4 LT |
47 | BUILD_INTERRUPT(apic_timer_interrupt,LOCAL_TIMER_VECTOR) |
48 | BUILD_INTERRUPT(error_interrupt,ERROR_APIC_VECTOR) | |
49 | BUILD_INTERRUPT(spurious_interrupt,SPURIOUS_APIC_VECTOR) | |
50 | ||
1164dd00 IM |
51 | #ifdef CONFIG_PERF_COUNTERS |
52 | BUILD_INTERRUPT(perf_counter_interrupt, LOCAL_PERF_VECTOR) | |
53 | #endif | |
54 | ||
1da177e4 LT |
55 | #ifdef CONFIG_X86_MCE_P4THERMAL |
56 | BUILD_INTERRUPT(thermal_interrupt,THERMAL_APIC_VECTOR) | |
57 | #endif | |
58 | ||
59 | #endif |