Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[linux-2.6/linux-mips/linux-dm7025.git] / include / asm-alpha / hardirq.h
blobd953e234daa8ff694ced89b3af4f24f155b3b058
1 #ifndef _ALPHA_HARDIRQ_H
2 #define _ALPHA_HARDIRQ_H
4 #include <linux/threads.h>
5 #include <linux/cache.h>
8 /* entry.S is sensitive to the offsets of these fields */
9 typedef struct {
10 unsigned long __softirq_pending;
11 } ____cacheline_aligned irq_cpustat_t;
13 #include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */
15 void ack_bad_irq(unsigned int irq);
17 #define HARDIRQ_BITS 12
20 * The hardirq mask has to be large enough to have
21 * space for potentially nestable IRQ sources in the system
22 * to nest on a single CPU. On Alpha, interrupts are masked at the CPU
23 * by IPL as well as at the system level. We only have 8 IPLs (UNIX PALcode)
24 * so we really only have 8 nestable IRQs, but allow some overhead
26 #if (1 << HARDIRQ_BITS) < 16
27 #error HARDIRQ_BITS is too low!
28 #endif
30 #endif /* _ALPHA_HARDIRQ_H */