1234567891011121314151617181920212223242526272829303132333435363738 |
- /* SPDX-License-Identifier: GPL-2.0 */
- #ifndef _ASM_POWERPC_HARDIRQ_H
- #define _ASM_POWERPC_HARDIRQ_H
- #include <linux/threads.h>
- #include <linux/irq.h>
- typedef struct {
- unsigned int __softirq_pending;
- unsigned int timer_irqs_event;
- unsigned int broadcast_irqs_event;
- unsigned int timer_irqs_others;
- unsigned int pmu_irqs;
- unsigned int mce_exceptions;
- unsigned int spurious_irqs;
- unsigned int sreset_irqs;
- #ifdef CONFIG_PPC_WATCHDOG
- unsigned int soft_nmi_irqs;
- #endif
- #ifdef CONFIG_PPC_DOORBELL
- unsigned int doorbell_irqs;
- #endif
- } ____cacheline_aligned irq_cpustat_t;
- DECLARE_PER_CPU_SHARED_ALIGNED(irq_cpustat_t, irq_stat);
- #define __ARCH_IRQ_STAT
- #define __ARCH_IRQ_EXIT_IRQS_DISABLED
- static inline void ack_bad_irq(unsigned int irq)
- {
- printk(KERN_CRIT "unexpected IRQ trap at vector %02x\n", irq);
- }
- extern u64 arch_irq_stat_cpu(unsigned int cpu);
- #define arch_irq_stat_cpu arch_irq_stat_cpu
- #endif /* _ASM_POWERPC_HARDIRQ_H */
|