x86_64: Move functions declarations to header file
[sfrench/cifs-2.6.git] / include / asm-x86_64 / hw_irq.h
index 552df5f10a6d462026eb10414766efd42a76a347..09dfc18a6dd05cb95e80e2459abbf967271fa736 100644 (file)
 #define IA32_SYSCALL_VECTOR    0x80
 
 
+/* Reserve the lowest usable priority level 0x20 - 0x2f for triggering
+ * cleanup after irq migration.
+ */
+#define IRQ_MOVE_CLEANUP_VECTOR        FIRST_EXTERNAL_VECTOR
 /*
- * Vectors 0x20-0x2f are used for ISA interrupts.
+ * 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
 
 /*
  * Special IRQ vectors used by the SMP architecture, 0xf0-0xff
 
 /*
  * First APIC vector available to drivers: (vectors 0x30-0xee)
- * we start at 0x31 to spread out vectors evenly between priority
+ * we start at 0x41 to spread out vectors evenly between priority
  * levels. (0x80 is the syscall vector)
  */
-#define FIRST_DEVICE_VECTOR    0x31
+#define FIRST_DEVICE_VECTOR    (IRQ15_VECTOR + 2)
 #define FIRST_SYSTEM_VECTOR    0xef   /* duplicated in irq.h */
 
 
 #ifndef __ASSEMBLY__
+
+/* Interrupt handlers registered during init_IRQ */
+void apic_timer_interrupt(void);
+void spurious_interrupt(void);
+void error_interrupt(void);
+void reschedule_interrupt(void);
+void call_function_interrupt(void);
+void irq_move_cleanup_interrupt(void);
+void invalidate_interrupt0(void);
+void invalidate_interrupt1(void);
+void invalidate_interrupt2(void);
+void invalidate_interrupt3(void);
+void invalidate_interrupt4(void);
+void invalidate_interrupt5(void);
+void invalidate_interrupt6(void);
+void invalidate_interrupt7(void);
+void thermal_interrupt(void);
+void threshold_interrupt(void);
+void i8254_timer_resume(void);
+
 typedef int vector_irq_t[NR_VECTORS];
 DECLARE_PER_CPU(vector_irq_t, vector_irq);
 extern void __setup_vector_irq(int cpu);