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