diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2008-08-17 21:05:42 -0400 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2008-10-23 01:55:20 -0400 |
commit | bb8985586b7a906e116db835c64773b7a7d51663 (patch) | |
tree | de93ae58e88cc563d95cc124a73f3930594c6100 /include/asm-x86/hw_irq.h | |
parent | 8ede0bdb63305d3353efd97e9af6210afb05734e (diff) |
x86, um: ... and asm-x86 move
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'include/asm-x86/hw_irq.h')
-rw-r--r-- | include/asm-x86/hw_irq.h | 131 |
1 files changed, 0 insertions, 131 deletions
diff --git a/include/asm-x86/hw_irq.h b/include/asm-x86/hw_irq.h deleted file mode 100644 index 749d042f0556..000000000000 --- a/include/asm-x86/hw_irq.h +++ /dev/null | |||
@@ -1,131 +0,0 @@ | |||
1 | #ifndef ASM_X86__HW_IRQ_H | ||
2 | #define ASM_X86__HW_IRQ_H | ||
3 | |||
4 | /* | ||
5 | * (C) 1992, 1993 Linus Torvalds, (C) 1997 Ingo Molnar | ||
6 | * | ||
7 | * moved some of the old arch/i386/kernel/irq.h to here. VY | ||
8 | * | ||
9 | * IRQ/IPI changes taken from work by Thomas Radke | ||
10 | * <tomsoft@informatik.tu-chemnitz.de> | ||
11 | * | ||
12 | * hacked by Andi Kleen for x86-64. | ||
13 | * unified by tglx | ||
14 | */ | ||
15 | |||
16 | #include <asm/irq_vectors.h> | ||
17 | |||
18 | #ifndef __ASSEMBLY__ | ||
19 | |||
20 | #include <linux/percpu.h> | ||
21 | #include <linux/profile.h> | ||
22 | #include <linux/smp.h> | ||
23 | |||
24 | #include <asm/atomic.h> | ||
25 | #include <asm/irq.h> | ||
26 | #include <asm/sections.h> | ||
27 | |||
28 | #define platform_legacy_irq(irq) ((irq) < 16) | ||
29 | |||
30 | /* Interrupt handlers registered during init_IRQ */ | ||
31 | extern void apic_timer_interrupt(void); | ||
32 | extern void error_interrupt(void); | ||
33 | extern void spurious_interrupt(void); | ||
34 | extern void thermal_interrupt(void); | ||
35 | extern void reschedule_interrupt(void); | ||
36 | |||
37 | extern void invalidate_interrupt(void); | ||
38 | extern void invalidate_interrupt0(void); | ||
39 | extern void invalidate_interrupt1(void); | ||
40 | extern void invalidate_interrupt2(void); | ||
41 | extern void invalidate_interrupt3(void); | ||
42 | extern void invalidate_interrupt4(void); | ||
43 | extern void invalidate_interrupt5(void); | ||
44 | extern void invalidate_interrupt6(void); | ||
45 | extern void invalidate_interrupt7(void); | ||
46 | |||
47 | extern void irq_move_cleanup_interrupt(void); | ||
48 | extern void threshold_interrupt(void); | ||
49 | |||
50 | extern void call_function_interrupt(void); | ||
51 | extern void call_function_single_interrupt(void); | ||
52 | |||
53 | /* PIC specific functions */ | ||
54 | extern void disable_8259A_irq(unsigned int irq); | ||
55 | extern void enable_8259A_irq(unsigned int irq); | ||
56 | extern int i8259A_irq_pending(unsigned int irq); | ||
57 | extern void make_8259A_irq(unsigned int irq); | ||
58 | extern void init_8259A(int aeoi); | ||
59 | |||
60 | /* IOAPIC */ | ||
61 | #define IO_APIC_IRQ(x) (((x) >= 16) || ((1<<(x)) & io_apic_irqs)) | ||
62 | extern unsigned long io_apic_irqs; | ||
63 | |||
64 | extern void init_VISWS_APIC_irqs(void); | ||
65 | extern void setup_IO_APIC(void); | ||
66 | extern void disable_IO_APIC(void); | ||
67 | extern int IO_APIC_get_PCI_irq_vector(int bus, int slot, int fn); | ||
68 | extern void setup_ioapic_dest(void); | ||
69 | |||
70 | #ifdef CONFIG_X86_64 | ||
71 | extern void enable_IO_APIC(void); | ||
72 | #endif | ||
73 | |||
74 | /* IPI functions */ | ||
75 | #ifdef CONFIG_X86_32 | ||
76 | extern void send_IPI_self(int vector); | ||
77 | #endif | ||
78 | extern void send_IPI(int dest, int vector); | ||
79 | |||
80 | /* Statistics */ | ||
81 | extern atomic_t irq_err_count; | ||
82 | extern atomic_t irq_mis_count; | ||
83 | |||
84 | /* EISA */ | ||
85 | extern void eisa_set_level_irq(unsigned int irq); | ||
86 | |||
87 | /* Voyager functions */ | ||
88 | extern asmlinkage void vic_cpi_interrupt(void); | ||
89 | extern asmlinkage void vic_sys_interrupt(void); | ||
90 | extern asmlinkage void vic_cmn_interrupt(void); | ||
91 | extern asmlinkage void qic_timer_interrupt(void); | ||
92 | extern asmlinkage void qic_invalidate_interrupt(void); | ||
93 | extern asmlinkage void qic_reschedule_interrupt(void); | ||
94 | extern asmlinkage void qic_enable_irq_interrupt(void); | ||
95 | extern asmlinkage void qic_call_function_interrupt(void); | ||
96 | |||
97 | /* SMP */ | ||
98 | extern void smp_apic_timer_interrupt(struct pt_regs *); | ||
99 | extern void smp_spurious_interrupt(struct pt_regs *); | ||
100 | extern void smp_error_interrupt(struct pt_regs *); | ||
101 | #ifdef CONFIG_X86_SMP | ||
102 | extern void smp_reschedule_interrupt(struct pt_regs *); | ||
103 | extern void smp_call_function_interrupt(struct pt_regs *); | ||
104 | extern void smp_call_function_single_interrupt(struct pt_regs *); | ||
105 | #ifdef CONFIG_X86_32 | ||
106 | extern void smp_invalidate_interrupt(struct pt_regs *); | ||
107 | #else | ||
108 | extern asmlinkage void smp_invalidate_interrupt(struct pt_regs *); | ||
109 | #endif | ||
110 | #endif | ||
111 | |||
112 | #ifdef CONFIG_X86_32 | ||
113 | extern void (*const interrupt[NR_VECTORS])(void); | ||
114 | #endif | ||
115 | |||
116 | typedef int vector_irq_t[NR_VECTORS]; | ||
117 | DECLARE_PER_CPU(vector_irq_t, vector_irq); | ||
118 | |||
119 | #ifdef CONFIG_X86_IO_APIC | ||
120 | extern void lock_vector_lock(void); | ||
121 | extern void unlock_vector_lock(void); | ||
122 | extern void __setup_vector_irq(int cpu); | ||
123 | #else | ||
124 | static inline void lock_vector_lock(void) {} | ||
125 | static inline void unlock_vector_lock(void) {} | ||
126 | static inline void __setup_vector_irq(int cpu) {} | ||
127 | #endif | ||
128 | |||
129 | #endif /* !ASSEMBLY_ */ | ||
130 | |||
131 | #endif /* ASM_X86__HW_IRQ_H */ | ||