blob: f4d136228ee15f1dc3491e801a73bdc1cc636b9b [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef __ASM_HARDIRQ_H
2#define __ASM_HARDIRQ_H
3
4/* only non-SMP supported */
5
6#include <linux/threads.h>
7#include <linux/cache.h>
8
9/* entry.S is sensitive to the offsets of these fields */
10typedef struct {
11 unsigned int __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 8
17
18/*
19 * The hardirq mask has to be large enough to have
20 * space for potentially all IRQ sources in the system
21 * nesting on a single CPU:
22 */
23#if (1 << HARDIRQ_BITS) < NR_IRQS
24# error HARDIRQ_BITS is too low!
25#endif
26
27#endif /* __ASM_HARDIRQ_H */