c16c6ff4bdd739f79a96d4c1e1ee46fcc7441509
[linux-3.10.git] / include / asm-i386 / hypertransport.h
1 #ifndef ASM_HYPERTRANSPORT_H
2 #define ASM_HYPERTRANSPORT_H
3
4 /*
5  * Constants for x86 Hypertransport Interrupts.
6  */
7
8 #define HT_IRQ_LOW_BASE                 0xf8000000
9
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)
13
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)
17
18 #define HT_IRQ_LOW_DM_PHYSICAL          0x0000000
19 #define HT_IRQ_LOW_DM_LOGICAL           0x0000040
20
21 #define HT_IRQ_LOW_RQEOI_EDGE           0x0000000
22 #define HT_IRQ_LOW_RQEOI_LEVEL          0x0000020
23
24
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
34
35 #define HT_IRQ_LOW_IRQ_MASKED           0x0000001
36
37
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)
41
42 #endif /* ASM_HYPERTRANSPORT_H */