0001
0002 #ifndef _ASM_X86_IRQ_H
0003 #define _ASM_X86_IRQ_H
0004
0005
0006
0007
0008
0009
0010
0011 #include <asm/apicdef.h>
0012 #include <asm/irq_vectors.h>
0013
0014
0015
0016
0017
0018
0019 #define __irq_entry __invalid_section
0020
0021 static inline int irq_canonicalize(int irq)
0022 {
0023 return ((irq == 2) ? 9 : irq);
0024 }
0025
0026 extern int irq_init_percpu_irqstack(unsigned int cpu);
0027
0028 struct irq_desc;
0029
0030 extern void fixup_irqs(void);
0031
0032 #ifdef CONFIG_HAVE_KVM
0033 extern void kvm_set_posted_intr_wakeup_handler(void (*handler)(void));
0034 #endif
0035
0036 extern void (*x86_platform_ipi_callback)(void);
0037 extern void native_init_IRQ(void);
0038
0039 extern void __handle_irq(struct irq_desc *desc, struct pt_regs *regs);
0040
0041 extern void init_ISA_irqs(void);
0042
0043 extern void __init init_IRQ(void);
0044
0045 #ifdef CONFIG_X86_LOCAL_APIC
0046 void arch_trigger_cpumask_backtrace(const struct cpumask *mask,
0047 bool exclude_self);
0048
0049 #define arch_trigger_cpumask_backtrace arch_trigger_cpumask_backtrace
0050 #endif
0051
0052 #endif