123456789101112131415161718192021222324252627282930313233343536 |
- #ifdef __KERNEL__
- #ifndef __ASM_HARDIRQ_H
- #define __ASM_HARDIRQ_H
- #include <linux/threads.h>
- #include <linux/irq.h>
- typedef struct {
- unsigned int __softirq_pending;
- } ____cacheline_aligned irq_cpustat_t;
- #include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */
- #if NR_IRQS > 256
- #define HARDIRQ_BITS 9
- #else
- #define HARDIRQ_BITS 8
- #endif
- /*
- * The hardirq mask has to be large enough to have
- * space for potentially all IRQ sources in the system
- * nesting on a single CPU:
- */
- #if (1 << HARDIRQ_BITS) < NR_IRQS
- # error HARDIRQ_BITS is too low!
- #endif
- static inline void ack_bad_irq(int irq)
- {
- printk(KERN_CRIT "unexpected IRQ trap at vector %02x\n", irq);
- BUG();
- }
- #endif /* __ASM_HARDIRQ_H */
- #endif /* __KERNEL__ */
|