1#ifndef _ASM_X86_HYPERTRANSPORT_H
2#define _ASM_X86_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_X86_HYPERTRANSPORT_H */
46