Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | #ifndef __ASM_HARDIRQ_H |
| 2 | #define __ASM_HARDIRQ_H |
| 3 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 4 | #include <linux/threads.h> |
| 5 | #include <linux/irq.h> |
| 6 | #include <asm/pda.h> |
| 7 | #include <asm/apic.h> |
| 8 | |
Eric W. Biederman | 23d0b8b | 2006-10-04 02:16:49 -0700 | [diff] [blame] | 9 | /* We can have at most NR_VECTORS irqs routed to a cpu at a time */ |
| 10 | #define MAX_HARDIRQS_PER_CPU NR_VECTORS |
| 11 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 12 | #define __ARCH_IRQ_STAT 1 |
| 13 | |
Andi Kleen | 3f74478 | 2005-09-12 18:49:24 +0200 | [diff] [blame] | 14 | #define local_softirq_pending() read_pda(__softirq_pending) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 15 | |
Andi Kleen | 3f74478 | 2005-09-12 18:49:24 +0200 | [diff] [blame] | 16 | #define __ARCH_SET_SOFTIRQ_PENDING 1 |
| 17 | |
| 18 | #define set_softirq_pending(x) write_pda(__softirq_pending, (x)) |
| 19 | #define or_softirq_pending(x) or_pda(__softirq_pending, (x)) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 20 | |
Andi Kleen | 3777a95 | 2006-02-03 21:51:53 +0100 | [diff] [blame] | 21 | extern void ack_bad_irq(unsigned int irq); |
| 22 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 23 | #endif /* __ASM_HARDIRQ_H */ |