hardirq.h 683 B

12345678910111213141516171819202122232425262728293031
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef __ASM_UM_HARDIRQ_H
  3. #define __ASM_UM_HARDIRQ_H
  4. #include <linux/cache.h>
  5. #include <linux/threads.h>
  6. #define __ARCH_IRQ_EXIT_IRQS_DISABLED 1
  7. typedef struct {
  8. unsigned int __softirq_pending;
  9. #if IS_ENABLED(CONFIG_SMP)
  10. unsigned int irq_resched_count;
  11. unsigned int irq_call_count;
  12. #endif
  13. } ____cacheline_aligned irq_cpustat_t;
  14. DECLARE_PER_CPU_SHARED_ALIGNED(irq_cpustat_t, irq_stat);
  15. #define __ARCH_IRQ_STAT
  16. #define inc_irq_stat(member) this_cpu_inc(irq_stat.member)
  17. #include <linux/irq.h>
  18. static inline void ack_bad_irq(unsigned int irq)
  19. {
  20. pr_crit("unexpected IRQ trap at vector %02x\n", irq);
  21. }
  22. #endif /* __ASM_UM_HARDIRQ_H */