hardirq.h 661 B

123456789101112131415161718192021222324252627282930313233
  1. #ifndef __ASM_HARDIRQ_H
  2. #define __ASM_HARDIRQ_H
  3. #include <linux/config.h>
  4. #include <linux/cache.h>
  5. #include <linux/threads.h>
  6. #include <asm/irq.h>
  7. typedef struct {
  8. unsigned int __softirq_pending;
  9. } ____cacheline_aligned irq_cpustat_t;
  10. #include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */
  11. #define HARDIRQ_BITS 8
  12. /*
  13. * The hardirq mask has to be large enough to have space
  14. * for potentially all IRQ sources in the system nesting
  15. * on a single CPU:
  16. */
  17. #if (1 << HARDIRQ_BITS) < NR_IRQS
  18. # error HARDIRQ_BITS is too low!
  19. #endif
  20. #ifndef CONFIG_SMP
  21. extern asmlinkage void __do_softirq(void);
  22. #endif
  23. #endif /* __ASM_HARDIRQ_H */