]>
Commit | Line | Data |
---|---|---|
1965aae3 PA |
1 | #ifndef _ASM_X86_IRQ_H |
2 | #define _ASM_X86_IRQ_H | |
22067d45 TG |
3 | /* |
4 | * (C) 1992, 1993 Linus Torvalds, (C) 1997 Ingo Molnar | |
5 | * | |
6 | * IRQ/IPI changes taken from work by Thomas Radke | |
7 | * <tomsoft@informatik.tu-chemnitz.de> | |
8 | */ | |
9 | ||
10 | #include <asm/apicdef.h> | |
11 | #include <asm/irq_vectors.h> | |
12 | ||
13 | static inline int irq_canonicalize(int irq) | |
14 | { | |
15 | return ((irq == 2) ? 9 : irq); | |
16 | } | |
17 | ||
7974891d CH |
18 | #ifdef CONFIG_X86_32 |
19 | extern void irq_ctx_init(int cpu); | |
96a388de | 20 | #else |
22067d45 | 21 | # define irq_ctx_init(cpu) do { } while (0) |
22067d45 TG |
22 | #endif |
23 | ||
7974891d CH |
24 | #define __ARCH_HAS_DO_SOFTIRQ |
25 | ||
90a2282e TG |
26 | struct irq_desc; |
27 | ||
22067d45 TG |
28 | #ifdef CONFIG_HOTPLUG_CPU |
29 | #include <linux/cpumask.h> | |
da6139e4 | 30 | extern int check_irq_vectors_for_cpu_disable(void); |
d7b381bb | 31 | extern void fixup_irqs(void); |
96a388de | 32 | #endif |
22067d45 | 33 | |
f6b3c72c FW |
34 | #ifdef CONFIG_HAVE_KVM |
35 | extern void kvm_set_posted_intr_wakeup_handler(void (*handler)(void)); | |
36 | #endif | |
37 | ||
4a4de9c7 | 38 | extern void (*x86_platform_ipi_callback)(void); |
22067d45 | 39 | extern void native_init_IRQ(void); |
a782a7e4 | 40 | |
a782a7e4 | 41 | extern bool handle_irq(struct irq_desc *desc, struct pt_regs *regs); |
22067d45 | 42 | |
1d9090e2 | 43 | extern __visible unsigned int do_IRQ(struct pt_regs *regs); |
7c1d7cdc | 44 | |
22067d45 TG |
45 | /* Interrupt vector management */ |
46 | extern DECLARE_BITMAP(used_vectors, NR_VECTORS); | |
b77b881f | 47 | extern int vector_used_by_percpu_irq(unsigned int vector); |
22067d45 | 48 | |
d9112f43 TG |
49 | extern void init_ISA_irqs(void); |
50 | ||
b52e0a7c | 51 | #ifdef CONFIG_X86_LOCAL_APIC |
9a01c3ed CM |
52 | void arch_trigger_cpumask_backtrace(const struct cpumask *mask, |
53 | bool exclude_self); | |
54 | #define arch_trigger_cpumask_backtrace arch_trigger_cpumask_backtrace | |
b52e0a7c ML |
55 | #endif |
56 | ||
1965aae3 | 57 | #endif /* _ASM_X86_IRQ_H */ |