Linux-2.6.12-rc2
[linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git] / include / asm-alpha / hardirq.h
blobc0593f9b21e1b5ceb78bd03edad2479a26af41ca
1 #ifndef _ALPHA_HARDIRQ_H
2 #define _ALPHA_HARDIRQ_H
4 #include <linux/config.h>
5 #include <linux/threads.h>
6 #include <linux/cache.h>
9 /* entry.S is sensitive to the offsets of these fields */
10 typedef struct {
11 unsigned long __softirq_pending;
12 } ____cacheline_aligned irq_cpustat_t;
14 #include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */
16 #define HARDIRQ_BITS 12
19 * The hardirq mask has to be large enough to have
20 * space for potentially nestable IRQ sources in the system
21 * to nest on a single CPU. On Alpha, interrupts are masked at the CPU
22 * by IPL as well as at the system level. We only have 8 IPLs (UNIX PALcode)
23 * so we really only have 8 nestable IRQs, but allow some overhead
25 #if (1 << HARDIRQ_BITS) < 16
26 #error HARDIRQ_BITS is too low!
27 #endif
29 #endif /* _ALPHA_HARDIRQ_H */