2005-04-17 06:20:36 +08:00
|
|
|
#ifndef __ASM_HARDIRQ_H
|
|
|
|
#define __ASM_HARDIRQ_H
|
|
|
|
|
|
|
|
#include <linux/threads.h>
|
|
|
|
#include <linux/irq.h>
|
|
|
|
#include <asm/pda.h>
|
|
|
|
#include <asm/apic.h>
|
|
|
|
|
2006-10-04 17:16:49 +08:00
|
|
|
/* We can have at most NR_VECTORS irqs routed to a cpu at a time */
|
|
|
|
#define MAX_HARDIRQS_PER_CPU NR_VECTORS
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
#define __ARCH_IRQ_STAT 1
|
|
|
|
|
2005-09-13 00:49:24 +08:00
|
|
|
#define local_softirq_pending() read_pda(__softirq_pending)
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2005-09-13 00:49:24 +08:00
|
|
|
#define __ARCH_SET_SOFTIRQ_PENDING 1
|
|
|
|
|
|
|
|
#define set_softirq_pending(x) write_pda(__softirq_pending, (x))
|
|
|
|
#define or_softirq_pending(x) or_pda(__softirq_pending, (x))
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2006-02-04 04:51:53 +08:00
|
|
|
extern void ack_bad_irq(unsigned int irq);
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
#endif /* __ASM_HARDIRQ_H */
|