xref: /linux/include/asm-generic/hardirq.h (revision a36e9f5cfe9eb3a1dce8769c7058251c42705357)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __ASM_GENERIC_HARDIRQ_H
3 #define __ASM_GENERIC_HARDIRQ_H
4 
5 #include <linux/cache.h>
6 #include <linux/threads.h>
7 
8 typedef struct {
9 	unsigned int __softirq_pending;
10 #ifdef ARCH_WANTS_NMI_IRQSTAT
11 	unsigned int __nmi_count;
12 #endif
13 } ____cacheline_aligned irq_cpustat_t;
14 
15 DECLARE_PER_CPU_ALIGNED(irq_cpustat_t, irq_stat);
16 
17 #include <linux/irq.h>
18 
19 #ifndef ack_bad_irq
20 static inline void ack_bad_irq(unsigned int irq)
21 {
22 	printk(KERN_CRIT "unexpected IRQ trap at vector %02x\n", irq);
23 }
24 #endif
25 
26 #endif /* __ASM_GENERIC_HARDIRQ_H */
27