linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / include / asm-i386 / hw_irq.h
index 87e5a35..622815b 100644 (file)
@@ -12,6 +12,7 @@
  *     <tomsoft@informatik.tu-chemnitz.de>
  */
 
+#include <linux/config.h>
 #include <linux/profile.h>
 #include <asm/atomic.h>
 #include <asm/irq.h>
@@ -19,8 +20,6 @@
 
 struct hw_interrupt_type;
 
-#define NMI_VECTOR             0x02
-
 /*
  * Various low-level irq details needed by irq.c, process.c,
  * time.c, io_apic.c and smp.c
@@ -69,4 +68,14 @@ extern atomic_t irq_mis_count;
 
 #define IO_APIC_IRQ(x) (((x) >= 16) || ((1<<(x)) & io_apic_irqs))
 
+#if defined(CONFIG_X86_IO_APIC)
+static inline void hw_resend_irq(struct hw_interrupt_type *h, unsigned int i)
+{
+       if (IO_APIC_IRQ(i))
+               send_IPI_self(IO_APIC_VECTOR(i));
+}
+#else
+static inline void hw_resend_irq(struct hw_interrupt_type *h, unsigned int i) {}
+#endif
+
 #endif /* _ASM_HW_IRQ_H */