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 | */ | |
12 | #ifdef CONFIG_X86_SMP | |
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 | ||
36 | /* | |
37 | * every pentium local APIC has two 'local interrupts', with a | |
38 | * soft-definable vector attached to both interrupts, one of | |
39 | * which is a timer interrupt, the other one is error counter | |
40 | * overflow. Linux uses the local APIC timer interrupt to get | |
41 | * a much simpler SMP time architecture: | |
42 | */ | |
43 | #ifdef CONFIG_X86_LOCAL_APIC | |
1164dd00 | 44 | |
1da177e4 LT |
45 | BUILD_INTERRUPT(apic_timer_interrupt,LOCAL_TIMER_VECTOR) |
46 | BUILD_INTERRUPT(error_interrupt,ERROR_APIC_VECTOR) | |
47 | BUILD_INTERRUPT(spurious_interrupt,SPURIOUS_APIC_VECTOR) | |
48 | ||
1164dd00 IM |
49 | #ifdef CONFIG_PERF_COUNTERS |
50 | BUILD_INTERRUPT(perf_counter_interrupt, LOCAL_PERF_VECTOR) | |
51 | #endif | |
52 | ||
1da177e4 LT |
53 | #ifdef CONFIG_X86_MCE_P4THERMAL |
54 | BUILD_INTERRUPT(thermal_interrupt,THERMAL_APIC_VECTOR) | |
55 | #endif | |
56 | ||
57 | #endif |