x86: provide a native_init_IRQ function on 64-bit
[sfrench/cifs-2.6.git] / include / asm-x86 / hw_irq_64.h
index 09dfc18a6dd05cb95e80e2459abbf967271fa736..312a58d6dac65cc96e4b4e0fd519650143c6c58a 100644 (file)
 /*
  * Vectors 0x30-0x3f are used for ISA interrupts.
  */
-#define IRQ0_VECTOR            FIRST_EXTERNAL_VECTOR + 0x10
-#define IRQ1_VECTOR            IRQ0_VECTOR + 1
-#define IRQ2_VECTOR            IRQ0_VECTOR + 2
-#define IRQ3_VECTOR            IRQ0_VECTOR + 3
-#define IRQ4_VECTOR            IRQ0_VECTOR + 4
-#define IRQ5_VECTOR            IRQ0_VECTOR + 5 
-#define IRQ6_VECTOR            IRQ0_VECTOR + 6
-#define IRQ7_VECTOR            IRQ0_VECTOR + 7
-#define IRQ8_VECTOR            IRQ0_VECTOR + 8
-#define IRQ9_VECTOR            IRQ0_VECTOR + 9
-#define IRQ10_VECTOR           IRQ0_VECTOR + 10
-#define IRQ11_VECTOR           IRQ0_VECTOR + 11
-#define IRQ12_VECTOR           IRQ0_VECTOR + 12
-#define IRQ13_VECTOR           IRQ0_VECTOR + 13
-#define IRQ14_VECTOR           IRQ0_VECTOR + 14
-#define IRQ15_VECTOR           IRQ0_VECTOR + 15
+#define IRQ0_VECTOR            (FIRST_EXTERNAL_VECTOR + 0x10)
+#define IRQ1_VECTOR            (IRQ0_VECTOR + 1)
+#define IRQ2_VECTOR            (IRQ0_VECTOR + 2)
+#define IRQ3_VECTOR            (IRQ0_VECTOR + 3)
+#define IRQ4_VECTOR            (IRQ0_VECTOR + 4)
+#define IRQ5_VECTOR            (IRQ0_VECTOR + 5)
+#define IRQ6_VECTOR            (IRQ0_VECTOR + 6)
+#define IRQ7_VECTOR            (IRQ0_VECTOR + 7)
+#define IRQ8_VECTOR            (IRQ0_VECTOR + 8)
+#define IRQ9_VECTOR            (IRQ0_VECTOR + 9)
+#define IRQ10_VECTOR           (IRQ0_VECTOR + 10)
+#define IRQ11_VECTOR           (IRQ0_VECTOR + 11)
+#define IRQ12_VECTOR           (IRQ0_VECTOR + 12)
+#define IRQ13_VECTOR           (IRQ0_VECTOR + 13)
+#define IRQ14_VECTOR           (IRQ0_VECTOR + 14)
+#define IRQ15_VECTOR           (IRQ0_VECTOR + 15)
 
 /*
  * Special IRQ vectors used by the SMP architecture, 0xf0-0xff
@@ -135,11 +135,13 @@ extern void init_8259A(int aeoi);
 extern void send_IPI_self(int vector);
 extern void init_VISWS_APIC_irqs(void);
 extern void setup_IO_APIC(void);
+extern void enable_IO_APIC(void);
 extern void disable_IO_APIC(void);
 extern void print_IO_APIC(void);
 extern int IO_APIC_get_PCI_irq_vector(int bus, int slot, int fn);
 extern void send_IPI(int dest, int vector);
 extern void setup_ioapic_dest(void);
+extern void native_init_IRQ(void);
 
 extern unsigned long io_apic_irqs;
 
@@ -148,9 +150,6 @@ extern atomic_t irq_mis_count;
 
 #define IO_APIC_IRQ(x) (((x) >= 16) || ((1<<(x)) & io_apic_irqs))
 
-#define __STR(x) #x
-#define STR(x) __STR(x)
-
 #include <asm/ptrace.h>
 
 #define IRQ_NAME2(nr) nr##_interrupt(void)