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 | 18 | |
3a09fb45 SL |
19 | .irp idx,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, \ |
20 | 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31 | |
21 | .if NUM_INVALIDATE_TLB_VECTORS > \idx | |
3234282f JB |
22 | BUILD_INTERRUPT3(invalidate_interrupt\idx, |
23 | (INVALIDATE_TLB_VECTOR_START)+\idx, | |
02cf94c3 | 24 | smp_invalidate_interrupt) |
3a09fb45 | 25 | .endif |
3234282f | 26 | .endr |
1da177e4 LT |
27 | #endif |
28 | ||
4a4de9c7 | 29 | BUILD_INTERRUPT(x86_platform_ipi, X86_PLATFORM_IPI_VECTOR) |
acaabe79 | 30 | |
1da177e4 LT |
31 | /* |
32 | * every pentium local APIC has two 'local interrupts', with a | |
33 | * soft-definable vector attached to both interrupts, one of | |
34 | * which is a timer interrupt, the other one is error counter | |
35 | * overflow. Linux uses the local APIC timer interrupt to get | |
36 | * a much simpler SMP time architecture: | |
37 | */ | |
38 | #ifdef CONFIG_X86_LOCAL_APIC | |
1164dd00 | 39 | |
1da177e4 LT |
40 | BUILD_INTERRUPT(apic_timer_interrupt,LOCAL_TIMER_VECTOR) |
41 | BUILD_INTERRUPT(error_interrupt,ERROR_APIC_VECTOR) | |
42 | BUILD_INTERRUPT(spurious_interrupt,SPURIOUS_APIC_VECTOR) | |
43 | ||
e360adbe PZ |
44 | #ifdef CONFIG_IRQ_WORK |
45 | BUILD_INTERRUPT(irq_work_interrupt, IRQ_WORK_VECTOR) | |
1164dd00 IM |
46 | #endif |
47 | ||
4efc0670 | 48 | #ifdef CONFIG_X86_THERMAL_VECTOR |
1da177e4 LT |
49 | BUILD_INTERRUPT(thermal_interrupt,THERMAL_APIC_VECTOR) |
50 | #endif | |
51 | ||
7856f6cc AK |
52 | #ifdef CONFIG_X86_MCE_THRESHOLD |
53 | BUILD_INTERRUPT(threshold_interrupt,THRESHOLD_APIC_VECTOR) | |
54 | #endif | |
55 | ||
c1ebf835 | 56 | #ifdef CONFIG_X86_MCE |
ccc3c319 AK |
57 | BUILD_INTERRUPT(mce_self_interrupt,MCE_SELF_VECTOR) |
58 | #endif | |
59 | ||
1da177e4 | 60 | #endif |