xref: /openbmc/linux/arch/powerpc/include/asm/hardirq.h (revision 9ac8d3fb)
1 #ifndef _ASM_POWERPC_HARDIRQ_H
2 #define _ASM_POWERPC_HARDIRQ_H
3 #ifdef __KERNEL__
4 
5 #include <asm/irq.h>
6 #include <asm/bug.h>
7 
8 /* The __last_jiffy_stamp field is needed to ensure that no decrementer
9  * interrupt is lost on SMP machines. Since on most CPUs it is in the same
10  * cache line as local_irq_count, it is cheap to access and is also used on UP
11  * for uniformity.
12  */
13 typedef struct {
14 	unsigned int __softirq_pending;	/* set_bit is used on this */
15 	unsigned int __last_jiffy_stamp;
16 } ____cacheline_aligned irq_cpustat_t;
17 
18 #include <linux/irq_cpustat.h>	/* Standard mappings for irq_cpustat_t above */
19 
20 #define last_jiffy_stamp(cpu) __IRQ_STAT((cpu), __last_jiffy_stamp)
21 
22 static inline void ack_bad_irq(int irq)
23 {
24 	printk(KERN_CRIT "illegal vector %d received!\n", irq);
25 	BUG();
26 }
27 
28 #endif /* __KERNEL__ */
29 #endif /* _ASM_POWERPC_HARDIRQ_H */
30