linux/arch/powerpc/include/asm/hardirq.h
<<
>>
Prefs
   1#ifndef _ASM_POWERPC_HARDIRQ_H
   2#define _ASM_POWERPC_HARDIRQ_H
   3
   4#include <linux/threads.h>
   5#include <linux/irq.h>
   6
   7typedef struct {
   8        unsigned int __softirq_pending;
   9        unsigned int timer_irqs_event;
  10        unsigned int timer_irqs_others;
  11        unsigned int pmu_irqs;
  12        unsigned int mce_exceptions;
  13        unsigned int spurious_irqs;
  14        unsigned int hmi_exceptions;
  15#ifdef CONFIG_PPC_DOORBELL
  16        unsigned int doorbell_irqs;
  17#endif
  18} ____cacheline_aligned irq_cpustat_t;
  19
  20DECLARE_PER_CPU_SHARED_ALIGNED(irq_cpustat_t, irq_stat);
  21
  22#define __ARCH_IRQ_STAT
  23
  24#define local_softirq_pending() __this_cpu_read(irq_stat.__softirq_pending)
  25
  26#define __ARCH_SET_SOFTIRQ_PENDING
  27
  28#define set_softirq_pending(x) __this_cpu_write(irq_stat.__softirq_pending, (x))
  29#define or_softirq_pending(x) __this_cpu_or(irq_stat.__softirq_pending, (x))
  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