2008-10-23 12:26:29 +07:00
|
|
|
#ifndef _ASM_X86_HARDIRQ_64_H
|
|
|
|
#define _ASM_X86_HARDIRQ_64_H
|
2005-04-17 05:20:36 +07:00
|
|
|
|
|
|
|
#include <linux/threads.h>
|
|
|
|
#include <linux/irq.h>
|
|
|
|
#include <asm/pda.h>
|
|
|
|
#include <asm/apic.h>
|
|
|
|
|
2006-10-04 16:16:49 +07: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 05:20:36 +07:00
|
|
|
#define __ARCH_IRQ_STAT 1
|
|
|
|
|
2008-12-09 10:19:26 +07:00
|
|
|
#define inc_irq_stat(member) add_pda(member, 1)
|
|
|
|
|
2005-09-12 23:49:24 +07:00
|
|
|
#define local_softirq_pending() read_pda(__softirq_pending)
|
2005-04-17 05:20:36 +07:00
|
|
|
|
2005-09-12 23:49:24 +07: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 05:20:36 +07:00
|
|
|
|
2006-02-04 03:51:53 +07:00
|
|
|
extern void ack_bad_irq(unsigned int irq);
|
|
|
|
|
2008-10-23 12:26:29 +07:00
|
|
|
#endif /* _ASM_X86_HARDIRQ_64_H */
|