[PATCH] x86-64: Fix interrupt race in idle callback (3rd try)
[linux-2.6/mini2440.git] / include / asm-x86_64 / hypertransport.h
blobc16c6ff4bdd739f79a96d4c1e1ee46fcc7441509
1 #ifndef ASM_HYPERTRANSPORT_H
2 #define ASM_HYPERTRANSPORT_H
4 /*
5 * Constants for x86 Hypertransport Interrupts.
6 */
8 #define HT_IRQ_LOW_BASE 0xf8000000
10 #define HT_IRQ_LOW_VECTOR_SHIFT 16
11 #define HT_IRQ_LOW_VECTOR_MASK 0x00ff0000
12 #define HT_IRQ_LOW_VECTOR(v) (((v) << HT_IRQ_LOW_VECTOR_SHIFT) & HT_IRQ_LOW_VECTOR_MASK)
14 #define HT_IRQ_LOW_DEST_ID_SHIFT 8
15 #define HT_IRQ_LOW_DEST_ID_MASK 0x0000ff00
16 #define HT_IRQ_LOW_DEST_ID(v) (((v) << HT_IRQ_LOW_DEST_ID_SHIFT) & HT_IRQ_LOW_DEST_ID_MASK)
18 #define HT_IRQ_LOW_DM_PHYSICAL 0x0000000
19 #define HT_IRQ_LOW_DM_LOGICAL 0x0000040
21 #define HT_IRQ_LOW_RQEOI_EDGE 0x0000000
22 #define HT_IRQ_LOW_RQEOI_LEVEL 0x0000020
25 #define HT_IRQ_LOW_MT_FIXED 0x0000000
26 #define HT_IRQ_LOW_MT_ARBITRATED 0x0000004
27 #define HT_IRQ_LOW_MT_SMI 0x0000008
28 #define HT_IRQ_LOW_MT_NMI 0x000000c
29 #define HT_IRQ_LOW_MT_INIT 0x0000010
30 #define HT_IRQ_LOW_MT_STARTUP 0x0000014
31 #define HT_IRQ_LOW_MT_EXTINT 0x0000018
32 #define HT_IRQ_LOW_MT_LINT1 0x000008c
33 #define HT_IRQ_LOW_MT_LINT0 0x0000098
35 #define HT_IRQ_LOW_IRQ_MASKED 0x0000001
38 #define HT_IRQ_HIGH_DEST_ID_SHIFT 0
39 #define HT_IRQ_HIGH_DEST_ID_MASK 0x00ffffff
40 #define HT_IRQ_HIGH_DEST_ID(v) ((((v) >> 8) << HT_IRQ_HIGH_DEST_ID_SHIFT) & HT_IRQ_HIGH_DEST_ID_MASK)
42 #endif /* ASM_HYPERTRANSPORT_H */