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 */ 63