0001
0002 #ifndef __ASM_GENERIC_HARDIRQ_H
0003 #define __ASM_GENERIC_HARDIRQ_H
0004
0005 #include <linux/cache.h>
0006 #include <linux/threads.h>
0007
0008 typedef struct {
0009 unsigned int __softirq_pending;
0010 #ifdef ARCH_WANTS_NMI_IRQSTAT
0011 unsigned int __nmi_count;
0012 #endif
0013 } ____cacheline_aligned irq_cpustat_t;
0014
0015 DECLARE_PER_CPU_ALIGNED(irq_cpustat_t, irq_stat);
0016
0017 #include <linux/irq.h>
0018
0019 #ifndef ack_bad_irq
0020 static inline void ack_bad_irq(unsigned int irq)
0021 {
0022 printk(KERN_CRIT "unexpected IRQ trap at vector %02x\n", irq);
0023 }
0024 #endif
0025
0026 #endif