hc
2024-10-12 a5969cabbb4660eab42b6ef0412cbbd1200cf14d
kernel/arch/x86/include/asm/irq.h
....@@ -11,16 +11,19 @@
1111 #include <asm/apicdef.h>
1212 #include <asm/irq_vectors.h>
1313
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
+
1421 static inline int irq_canonicalize(int irq)
1522 {
1623 return ((irq == 2) ? 9 : irq);
1724 }
1825
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);
2427
2528 #define __ARCH_HAS_DO_SOFTIRQ
2629
....@@ -35,15 +38,18 @@
3538 extern void (*x86_platform_ipi_callback)(void);
3639 extern void native_init_IRQ(void);
3740
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);
3942
40
-extern __visible unsigned int do_IRQ(struct pt_regs *regs);
43
+extern __visible void do_IRQ(struct pt_regs *regs, unsigned long vector);
4144
4245 extern void init_ISA_irqs(void);
46
+
47
+extern void __init init_IRQ(void);
4348
4449 #ifdef CONFIG_X86_LOCAL_APIC
4550 void arch_trigger_cpumask_backtrace(const struct cpumask *mask,
4651 bool exclude_self);
52
+
4753 #define arch_trigger_cpumask_backtrace arch_trigger_cpumask_backtrace
4854 #endif
4955