Merge git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
[linux-2.6] / include / asm-powerpc / hardirq.h
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 */