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