linux/arch/powerpc/include/asm/hardirq.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2#ifndef _ASM_POWERPC_HARDIRQ_H
   3#define _ASM_POWERPC_HARDIRQ_H
   4
   5#include <linux/threads.h>
   6#include <linux/irq.h>
   7
   8typedef struct {
   9        unsigned int __softirq_pending;
  10        unsigned int timer_irqs_event;
  11        unsigned int broadcast_irqs_event;
  12        unsigned int timer_irqs_others;
  13        unsigned int pmu_irqs;
  14        unsigned int mce_exceptions;
  15        unsigned int spurious_irqs;
  16        unsigned int hmi_exceptions;
  17        unsigned int sreset_irqs;
  18#ifdef CONFIG_PPC_WATCHDOG
  19        unsigned int soft_nmi_irqs;
  20#endif
  21#ifdef CONFIG_PPC_DOORBELL
  22        unsigned int doorbell_irqs;
  23#endif
  24} ____cacheline_aligned irq_cpustat_t;
  25
  26DECLARE_PER_CPU_SHARED_ALIGNED(irq_cpustat_t, irq_stat);
  27
  28#define __ARCH_IRQ_STAT
  29#define __ARCH_IRQ_EXIT_IRQS_DISABLED
  30
  31static inline void ack_bad_irq(unsigned int irq)
  32{
  33        printk(KERN_CRIT "unexpected IRQ trap at vector %02x\n", irq);
  34}
  35
  36extern u64 arch_irq_stat_cpu(unsigned int cpu);
  37#define arch_irq_stat_cpu       arch_irq_stat_cpu
  38
  39#endif /* _ASM_POWERPC_HARDIRQ_H */
  40