Merge branch 'x86/geode' into x86/urgent
[linux-2.6] / include / asm-x86 / 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)                                            \
13         (((v) << HT_IRQ_LOW_VECTOR_SHIFT) & HT_IRQ_LOW_VECTOR_MASK)
14
15 #define HT_IRQ_LOW_DEST_ID_SHIFT        8
16 #define HT_IRQ_LOW_DEST_ID_MASK         0x0000ff00
17 #define HT_IRQ_LOW_DEST_ID(v)                                           \
18         (((v) << HT_IRQ_LOW_DEST_ID_SHIFT) & HT_IRQ_LOW_DEST_ID_MASK)
19
20 #define HT_IRQ_LOW_DM_PHYSICAL          0x0000000
21 #define HT_IRQ_LOW_DM_LOGICAL           0x0000040
22
23 #define HT_IRQ_LOW_RQEOI_EDGE           0x0000000
24 #define HT_IRQ_LOW_RQEOI_LEVEL          0x0000020
25
26
27 #define HT_IRQ_LOW_MT_FIXED             0x0000000
28 #define HT_IRQ_LOW_MT_ARBITRATED        0x0000004
29 #define HT_IRQ_LOW_MT_SMI               0x0000008
30 #define HT_IRQ_LOW_MT_NMI               0x000000c
31 #define HT_IRQ_LOW_MT_INIT              0x0000010
32 #define HT_IRQ_LOW_MT_STARTUP           0x0000014
33 #define HT_IRQ_LOW_MT_EXTINT            0x0000018
34 #define HT_IRQ_LOW_MT_LINT1             0x000008c
35 #define HT_IRQ_LOW_MT_LINT0             0x0000098
36
37 #define HT_IRQ_LOW_IRQ_MASKED           0x0000001
38
39
40 #define HT_IRQ_HIGH_DEST_ID_SHIFT       0
41 #define HT_IRQ_HIGH_DEST_ID_MASK        0x00ffffff
42 #define HT_IRQ_HIGH_DEST_ID(v)                                          \
43         ((((v) >> 8) << HT_IRQ_HIGH_DEST_ID_SHIFT) & HT_IRQ_HIGH_DEST_ID_MASK)
44
45 #endif /* ASM_HYPERTRANSPORT_H */