]>
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) |
4ef702c1 | 17 | BUILD_INTERRUPT(reboot_interrupt,REBOOT_VECTOR) |
02cf94c3 TH |
18 | |
19 | BUILD_INTERRUPT3(invalidate_interrupt0,INVALIDATE_TLB_VECTOR_START+0, | |
20 | smp_invalidate_interrupt) | |
21 | BUILD_INTERRUPT3(invalidate_interrupt1,INVALIDATE_TLB_VECTOR_START+1, | |
22 | smp_invalidate_interrupt) | |
23 | BUILD_INTERRUPT3(invalidate_interrupt2,INVALIDATE_TLB_VECTOR_START+2, | |
24 | smp_invalidate_interrupt) | |
25 | BUILD_INTERRUPT3(invalidate_interrupt3,INVALIDATE_TLB_VECTOR_START+3, | |
26 | smp_invalidate_interrupt) | |
27 | BUILD_INTERRUPT3(invalidate_interrupt4,INVALIDATE_TLB_VECTOR_START+4, | |
28 | smp_invalidate_interrupt) | |
29 | BUILD_INTERRUPT3(invalidate_interrupt5,INVALIDATE_TLB_VECTOR_START+5, | |
30 | smp_invalidate_interrupt) | |
31 | BUILD_INTERRUPT3(invalidate_interrupt6,INVALIDATE_TLB_VECTOR_START+6, | |
32 | smp_invalidate_interrupt) | |
33 | BUILD_INTERRUPT3(invalidate_interrupt7,INVALIDATE_TLB_VECTOR_START+7, | |
34 | smp_invalidate_interrupt) | |
1da177e4 LT |
35 | #endif |
36 | ||
4a4de9c7 | 37 | BUILD_INTERRUPT(x86_platform_ipi, X86_PLATFORM_IPI_VECTOR) |
acaabe79 | 38 | |
1da177e4 LT |
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 | |
1164dd00 | 47 | |
1da177e4 LT |
48 | BUILD_INTERRUPT(apic_timer_interrupt,LOCAL_TIMER_VECTOR) |
49 | BUILD_INTERRUPT(error_interrupt,ERROR_APIC_VECTOR) | |
50 | BUILD_INTERRUPT(spurious_interrupt,SPURIOUS_APIC_VECTOR) | |
51 | ||
cdd6c482 | 52 | #ifdef CONFIG_PERF_EVENTS |
b6276f35 | 53 | BUILD_INTERRUPT(perf_pending_interrupt, LOCAL_PENDING_VECTOR) |
1164dd00 IM |
54 | #endif |
55 | ||
4efc0670 | 56 | #ifdef CONFIG_X86_THERMAL_VECTOR |
1da177e4 LT |
57 | BUILD_INTERRUPT(thermal_interrupt,THERMAL_APIC_VECTOR) |
58 | #endif | |
59 | ||
7856f6cc AK |
60 | #ifdef CONFIG_X86_MCE_THRESHOLD |
61 | BUILD_INTERRUPT(threshold_interrupt,THRESHOLD_APIC_VECTOR) | |
62 | #endif | |
63 | ||
c1ebf835 | 64 | #ifdef CONFIG_X86_MCE |
ccc3c319 AK |
65 | BUILD_INTERRUPT(mce_self_interrupt,MCE_SELF_VECTOR) |
66 | #endif | |
67 | ||
1da177e4 | 68 | #endif |