| 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 */ |