xref: /openbmc/linux/arch/powerpc/include/asm/hardirq.h (revision 4b4193256c8d3bc3a5397b5cd9494c2ad386317d)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
28c007bfdSAnton Blanchard #ifndef _ASM_POWERPC_HARDIRQ_H
38c007bfdSAnton Blanchard #define _ASM_POWERPC_HARDIRQ_H
48c007bfdSAnton Blanchard 
58c007bfdSAnton Blanchard #include <linux/threads.h>
68c007bfdSAnton Blanchard #include <linux/irq.h>
78c007bfdSAnton Blanchard 
88c007bfdSAnton Blanchard typedef struct {
98c007bfdSAnton Blanchard 	unsigned int __softirq_pending;
10c041cfa2Sfan.du 	unsigned int timer_irqs_event;
11*e360cd37SNicholas Piggin 	unsigned int broadcast_irqs_event;
12c041cfa2Sfan.du 	unsigned int timer_irqs_others;
1389713ed1SAnton Blanchard 	unsigned int pmu_irqs;
1489713ed1SAnton Blanchard 	unsigned int mce_exceptions;
1517081102SAnton Blanchard 	unsigned int spurious_irqs;
16ca41ad43SNicholas Piggin 	unsigned int sreset_irqs;
1704019bf8SNicholas Piggin #ifdef CONFIG_PPC_WATCHDOG
1804019bf8SNicholas Piggin 	unsigned int soft_nmi_irqs;
1904019bf8SNicholas Piggin #endif
20a6a058e5SIan Munsie #ifdef CONFIG_PPC_DOORBELL
21a6a058e5SIan Munsie 	unsigned int doorbell_irqs;
22a6a058e5SIan Munsie #endif
238c007bfdSAnton Blanchard } ____cacheline_aligned irq_cpustat_t;
248c007bfdSAnton Blanchard 
258c007bfdSAnton Blanchard DECLARE_PER_CPU_SHARED_ALIGNED(irq_cpustat_t, irq_stat);
268c007bfdSAnton Blanchard 
278c007bfdSAnton Blanchard #define __ARCH_IRQ_STAT
28c16bee4bSNicholas Piggin #define __ARCH_IRQ_EXIT_IRQS_DISABLED
2969111bacSChristoph Lameter 
ack_bad_irq(unsigned int irq)308c007bfdSAnton Blanchard static inline void ack_bad_irq(unsigned int irq)
318c007bfdSAnton Blanchard {
328c007bfdSAnton Blanchard 	printk(KERN_CRIT "unexpected IRQ trap at vector %02x\n", irq);
338c007bfdSAnton Blanchard }
348c007bfdSAnton Blanchard 
3589713ed1SAnton Blanchard extern u64 arch_irq_stat_cpu(unsigned int cpu);
3689713ed1SAnton Blanchard #define arch_irq_stat_cpu	arch_irq_stat_cpu
3789713ed1SAnton Blanchard 
388c007bfdSAnton Blanchard #endif /* _ASM_POWERPC_HARDIRQ_H */
39