Merge tag 'microblaze-v5.6-rc1' of git://git.monstr.eu/linux-2.6-microblaze
[sfrench/cifs-2.6.git] / arch / mips / include / asm / sn / sn0 / hub.h
1 /*
2  * This file is subject to the terms and conditions of the GNU General Public
3  * License.  See the file "COPYING" in the main directory of this archive
4  * for more details.
5  *
6  * Copyright (C) 1992 - 1997, 1999 Silicon Graphics, Inc.
7  * Copyright (C) 1999 by Ralf Baechle
8  */
9 #ifndef _ASM_SN_SN0_HUB_H
10 #define _ASM_SN_SN0_HUB_H
11
12 /* The secret password; used to release protection */
13 #define HUB_PASSWORD            0x53474972756c6573ull
14
15 #define CHIPID_HUB              0
16 #define CHIPID_ROUTER           1
17
18 #define HUB_REV_1_0             1
19 #define HUB_REV_2_0             2
20 #define HUB_REV_2_1             3
21 #define HUB_REV_2_2             4
22 #define HUB_REV_2_3             5
23 #define HUB_REV_2_4             6
24
25 #define MAX_HUB_PATH            80
26
27 #include <asm/sn/sn0/addrs.h>
28 #include <asm/sn/sn0/hubpi.h>
29 #include <asm/sn/sn0/hubmd.h>
30 #include <asm/sn/sn0/hubio.h>
31 #include <asm/sn/sn0/hubni.h>
32 //#include <asm/sn/sn0/hubcore.h>
33
34 /* Translation of uncached attributes */
35 #define UATTR_HSPEC     0
36 #define UATTR_IO        1
37 #define UATTR_MSPEC     2
38 #define UATTR_UNCAC     3
39
40 #ifdef __ASSEMBLY__
41 /*
42  * Returns the local nasid into res.
43  */
44         .macro GET_NASID_ASM res
45         dli     \res, LOCAL_HUB_ADDR(NI_STATUS_REV_ID)
46         ld      \res, (\res)
47         and     \res, NSRI_NODEID_MASK
48         dsrl    \res, NSRI_NODEID_SHFT
49         .endm
50 #else
51
52 /*
53  * get_nasid() returns the physical node id number of the caller.
54  */
55 static inline nasid_t get_nasid(void)
56 {
57         return (nasid_t)((LOCAL_HUB_L(NI_STATUS_REV_ID) & NSRI_NODEID_MASK)
58                          >> NSRI_NODEID_SHFT);
59 }
60 #endif
61
62 #endif /* _ASM_SN_SN0_HUB_H */