ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[linux-2.6.git] / include / asm-ia64 / sn / sn2 / slotnum.h
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 */