aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-alpha/hardirq.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-alpha/hardirq.h')
-rw-r--r--include/asm-alpha/hardirq.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/include/asm-alpha/hardirq.h b/include/asm-alpha/hardirq.h
new file mode 100644
index 000000000000..c0593f9b21e1
--- /dev/null
+++ b/include/asm-alpha/hardirq.h
@@ -0,0 +1,29 @@
1#ifndef _ALPHA_HARDIRQ_H
2#define _ALPHA_HARDIRQ_H
3
4#include <linux/config.h>
5#include <linux/threads.h>
6#include <linux/cache.h>
7
8
9/* entry.S is sensitive to the offsets of these fields */
10typedef struct {
11 unsigned long __softirq_pending;
12} ____cacheline_aligned irq_cpustat_t;
13
14#include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */
15
16#define HARDIRQ_BITS 12
17
18/*
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
24 */
25#if (1 << HARDIRQ_BITS) < 16
26#error HARDIRQ_BITS is too low!
27#endif
28
29#endif /* _ALPHA_HARDIRQ_H */