Merge from Linus' tree
[linux-2.6] / include / asm-ia64 / hardirq.h
1 #ifndef _ASM_IA64_HARDIRQ_H
2 #define _ASM_IA64_HARDIRQ_H
3
4 /*
5  * Modified 1998-2002, 2004 Hewlett-Packard Co
6  *      David Mosberger-Tang <davidm@hpl.hp.com>
7  */
8
9 #include <linux/config.h>
10
11 #include <linux/threads.h>
12 #include <linux/irq.h>
13
14 #include <asm/processor.h>
15
16 /*
17  * No irq_cpustat_t for IA-64.  The data is held in the per-CPU data structure.
18  */
19
20 #define __ARCH_IRQ_STAT 1
21
22 #define local_softirq_pending()         (local_cpu_data->softirq_pending)
23
24 #define HARDIRQ_BITS    14
25
26 /*
27  * The hardirq mask has to be large enough to have space for potentially all IRQ sources
28  * in the system nesting on a single CPU:
29  */
30 #if (1 << HARDIRQ_BITS) < NR_IRQS
31 # error HARDIRQ_BITS is too low!
32 #endif
33
34 extern void __iomem *ipi_base_addr;
35
36 void ack_bad_irq(unsigned int irq);
37
38 #endif /* _ASM_IA64_HARDIRQ_H */