| .. | .. |
|---|
| 11 | 11 | #include <asm/apicdef.h> |
|---|
| 12 | 12 | #include <asm/irq_vectors.h> |
|---|
| 13 | 13 | |
|---|
| 14 | +/* |
|---|
| 15 | + * The irq entry code is in the noinstr section and the start/end of |
|---|
| 16 | + * __irqentry_text is emitted via labels. Make the build fail if |
|---|
| 17 | + * something moves a C function into the __irq_entry section. |
|---|
| 18 | + */ |
|---|
| 19 | +#define __irq_entry __invalid_section |
|---|
| 20 | + |
|---|
| 14 | 21 | static inline int irq_canonicalize(int irq) |
|---|
| 15 | 22 | { |
|---|
| 16 | 23 | return ((irq == 2) ? 9 : irq); |
|---|
| 17 | 24 | } |
|---|
| 18 | 25 | |
|---|
| 19 | | -#ifdef CONFIG_X86_32 |
|---|
| 20 | | -extern void irq_ctx_init(int cpu); |
|---|
| 21 | | -#else |
|---|
| 22 | | -# define irq_ctx_init(cpu) do { } while (0) |
|---|
| 23 | | -#endif |
|---|
| 26 | +extern int irq_init_percpu_irqstack(unsigned int cpu); |
|---|
| 24 | 27 | |
|---|
| 25 | 28 | #define __ARCH_HAS_DO_SOFTIRQ |
|---|
| 26 | 29 | |
|---|
| .. | .. |
|---|
| 35 | 38 | extern void (*x86_platform_ipi_callback)(void); |
|---|
| 36 | 39 | extern void native_init_IRQ(void); |
|---|
| 37 | 40 | |
|---|
| 38 | | -extern bool handle_irq(struct irq_desc *desc, struct pt_regs *regs); |
|---|
| 41 | +extern void __handle_irq(struct irq_desc *desc, struct pt_regs *regs); |
|---|
| 39 | 42 | |
|---|
| 40 | | -extern __visible unsigned int do_IRQ(struct pt_regs *regs); |
|---|
| 43 | +extern __visible void do_IRQ(struct pt_regs *regs, unsigned long vector); |
|---|
| 41 | 44 | |
|---|
| 42 | 45 | extern void init_ISA_irqs(void); |
|---|
| 46 | + |
|---|
| 47 | +extern void __init init_IRQ(void); |
|---|
| 43 | 48 | |
|---|
| 44 | 49 | #ifdef CONFIG_X86_LOCAL_APIC |
|---|
| 45 | 50 | void arch_trigger_cpumask_backtrace(const struct cpumask *mask, |
|---|
| 46 | 51 | bool exclude_self); |
|---|
| 52 | + |
|---|
| 47 | 53 | #define arch_trigger_cpumask_backtrace arch_trigger_cpumask_backtrace |
|---|
| 48 | 54 | #endif |
|---|
| 49 | 55 | |
|---|