1 /*
2  *
3  * This file is subject to the terms and conditions of the GNU General Public
4  * License.  See the file "COPYING" in the main directory of this archive
5  * for more details.
6  *
7  * Copyright (c) 1992-1997,2001-2003 Silicon Graphics, Inc. All rights reserved.
8  */
9 
10 #ifndef _ASM_IA64_SN_SN2_SLOTNUM_H
11 #define _ASM_IA64_SN_SN2_SLOTNUM_H
12 
13 #define SLOTNUM_MAXLENGTH	16
14 
15 /*
16  * This file defines IO widget to slot/device assignments.
17  */
18 
19 
20 /* This determines module to pnode mapping. */
21 
22 #define NODESLOTS_PER_MODULE		1
23 #define NODESLOTS_PER_MODULE_SHFT	1
24 
25 #define SLOTNUM_NODE_CLASS	0x00	/* Node   */
26 #define SLOTNUM_ROUTER_CLASS	0x10	/* Router */
27 #define SLOTNUM_XTALK_CLASS	0x20	/* Xtalk  */
28 #define SLOTNUM_MIDPLANE_CLASS	0x30	/* Midplane */
29 #define SLOTNUM_XBOW_CLASS	0x40	/* Xbow  */
30 #define SLOTNUM_KNODE_CLASS	0x50	/* Kego node */
31 #define SLOTNUM_PCI_CLASS	0x60	/* PCI widgets on XBridge */
32 #define SLOTNUM_INVALID_CLASS	0xf0	/* Invalid */
33 
34 #define SLOTNUM_CLASS_MASK	0xf0
35 #define SLOTNUM_SLOT_MASK	0x0f
36 
37 #define SLOTNUM_GETCLASS(_sn)	((_sn) & SLOTNUM_CLASS_MASK)
38 #define SLOTNUM_GETSLOT(_sn)	((_sn) & SLOTNUM_SLOT_MASK)
39 
40 
41 #endif /* _ASM_IA64_SN_SN2_SLOTNUM_H */
42