hardirq.h 795 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #ifndef __M68K_HARDIRQ_H
  2. #define __M68K_HARDIRQ_H
  3. #include <linux/threads.h>
  4. #include <linux/cache.h>
  5. #include <asm/irq.h>
  6. #define HARDIRQ_BITS 8
  7. /*
  8. * The hardirq mask has to be large enough to have
  9. * space for potentially all IRQ sources in the system
  10. * nesting on a single CPU:
  11. */
  12. #if (1 << HARDIRQ_BITS) < NR_IRQS
  13. # error HARDIRQ_BITS is too low!
  14. #endif
  15. #ifdef CONFIG_MMU
  16. static inline void ack_bad_irq(unsigned int irq)
  17. {
  18. pr_crit("unexpected IRQ trap at vector %02x\n", irq);
  19. }
  20. /* entry.S is sensitive to the offsets of these fields */
  21. typedef struct {
  22. unsigned int __softirq_pending;
  23. } ____cacheline_aligned irq_cpustat_t;
  24. #include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */
  25. #else
  26. #include <asm-generic/hardirq.h>
  27. #endif /* !CONFIG_MMU */
  28. #endif