diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-mips64/sn/addrs.h | 187 | ||||
-rw-r--r-- | include/asm-mips64/sn/agent.h | 4 | ||||
-rw-r--r-- | include/asm-mips64/sn/arch.h | 49 | ||||
-rw-r--r-- | include/asm-mips64/sn/io.h | 2 | ||||
-rw-r--r-- | include/asm-mips64/sn/klconfig.h | 14 | ||||
-rw-r--r-- | include/asm-mips64/sn/launch.h | 6 |
6 files changed, 3 insertions, 259 deletions
diff --git a/include/asm-mips64/sn/addrs.h b/include/asm-mips64/sn/addrs.h index 6740f3f65..7f1138105 100644 --- a/include/asm-mips64/sn/addrs.h +++ b/include/asm-mips64/sn/addrs.h @@ -51,8 +51,6 @@ #define NASID_GET_META(_n) ((_n) >> NASID_LOCAL_BITS) #ifdef CONFIG_SGI_IP27 #define NASID_GET_LOCAL(_n) ((_n) & 0xf) -#elif defined CONFIG_SGI_IP35 -#define NASID_GET_LOCAL(_n) ((_n) & 0x7f) #endif #define NASID_MAKE(_m, _l) (((_m) << NASID_LOCAL_BITS) | (_l)) @@ -157,14 +155,6 @@ #define LBOOT_LIMIT (LBOOT_BASE + LBOOT_SIZE) #define LBOOT_STRIDE 0 /* IP27 has only one CPU PROM */ -#elif defined CONFIG_SGI_IP35 -#define LREG_BASE (HSPEC_BASE + 0x10000000) -#define LREG_SIZE 0x8000000 /* 128 MB */ -#define LREG_LIMIT (LREG_BASE + LREG_SIZE) -#define LBOOT_BASE (LREG_LIMIT) -#define LBOOT_SIZE 0x8000000 /* 128 MB */ -#define LBOOT_LIMIT (LBOOT_BASE + LBOOT_SIZE) -#define LBOOT_STRIDE 0x2000000 /* two PROMs, on 32M boundaries */ #endif #define HUB_REGISTER_WIDGET 1 @@ -182,16 +172,6 @@ #define NODE_RBOOT_BASE(_n) (NODE_HSPEC_BASE(_n) + 0x30000000) #define NODE_RBOOT_LIMIT(_n) (NODE_RBOOT_BASE(_n) + RBOOT_SIZE) -#elif defined CONFIG_SGI_IP35 - -#define NODE_LREG_BASE(_n) (NODE_HSPEC_BASE(_n) + 0x30000000) -#define NODE_LREG_LIMIT(_n) (NODE_LREG_BASE(_n) + LREG_SIZE) -#define RREG_BASE(_n) (NODE_LREG_BASE(_n)) -#define RREG_LIMIT(_n) (NODE_LREG_LIMIT(_n)) -#define RBOOT_SIZE 0x8000000 /* 128 Megabytes */ -#define NODE_RBOOT_BASE(_n) (NODE_HSPEC_BASE(_n) + 0x38000000) -#define NODE_RBOOT_LIMIT(_n) (NODE_RBOOT_BASE(_n) + RBOOT_SIZE) - #endif /* @@ -263,146 +243,7 @@ #define BDECC_TO_MEM(_ba) (UINT64_CAST (_ba) & NASID_MASK | \ (UINT64_CAST (_ba) & BDECC_UPPER_MASK)<<2 | \ (UINT64_CAST (_ba) & 3) << 3) - -#elif defined CONFIG_SGI_IP35 -/* - * Bedrock's directory entries are a single word: no low/high - */ - -#define BDDIR_ENTRY(_pa) (HSPEC_BASE + \ - NODE_ADDRSPACE_SIZE * 7 / 8 | \ - UINT64_CAST (_pa) & NASID_MASK | \ - UINT64_CAST (_pa) >> 3 & BDDIR_UPPER_MASK) - -#ifdef BRINGUP - /* minimize source changes by mapping *_LO() & *_HI() */ -#define BDDIR_ENTRY_LO(_pa) BDDIR_ENTRY(_pa) -#define BDDIR_ENTRY_HI(_pa) BDDIR_ENTRY(_pa) -#endif /* BRINGUP */ - -#define BDDIR_PAGE_MASK (BDDIR_UPPER_MASK & 0x7ffff << 11) -#define BDDIR_PAGE_BASE_MASK (UINT64_CAST 0xfffffffffffff800) - -#ifdef _LANGUAGE_C - -#define BDPRT_ENTRY_ADDR(_pa, _rgn) ((__uint64_t *) ( (HSPEC_BASE + \ - NODE_ADDRSPACE_SIZE * 7 / 8 + 0x408) | \ - (UINT64_CAST (_pa) & NASID_MASK) | \ - (UINT64_CAST (_pa) >> 3 & BDDIR_PAGE_MASK) | \ - (UINT64_CAST (_pa) >> 3 & 0x3 << 4) | \ - ((_rgn) & 0x1e) << 5)) - -static __inline __uint64_t BDPRT_ENTRY_L(paddr_t pa,__uint32_t rgn) { - __uint64_t word=*BDPRT_ENTRY_ADDR(pa,rgn); - - if(rgn&0x20) /*If the region is > 32, move it down*/ - word = word >> 32; - if(rgn&0x1) /*If the region is odd, get that part */ - word = word >> 16; - word = word & 0xffff; /*Get the 16 bits we are interested in*/ - - return word; -} - -static __inline void BDPRT_ENTRY_S(paddr_t pa,__uint32_t rgn,__uint64_t val) { - __uint64_t *addr=(__uint64_t *)BDPRT_ENTRY_ADDR(pa,rgn); - __uint64_t word,mask; - - word=*addr; - mask=0; - if(rgn&0x1) { - mask|=0x0000ffff0000ffff; - val=val<<16; - } - else - mask|=0xffff0000ffff0000; - if(rgn&0x20) { - mask|=0x00000000ffffffff; - val=val<<32; - } - else - mask|=0xffffffff00000000; - word &= mask; - word |= val; - - *(addr++)=word; - addr++; - *(addr++)=word; - addr++; - *(addr++)=word; - addr++; - *addr=word; -} -#endif /*_LANGUAGE_C*/ - -#define BDCNT_ENTRY(_pa) (HSPEC_BASE + \ - NODE_ADDRSPACE_SIZE * 7 / 8 + 0x8 | \ - UINT64_CAST (_pa) & NASID_MASK | \ - UINT64_CAST (_pa) >> 3 & BDDIR_PAGE_MASK | \ - UINT64_CAST (_pa) >> 3 & 0x3 << 4) - - -#ifdef BRINGUP - /* little endian packing of ecc bytes requires a swizzle */ - /* this is problemmatic for memory_init_ecc */ -#endif /* BRINGUP */ -#define BDECC_ENTRY(_pa) (HSPEC_BASE + \ - NODE_ADDRSPACE_SIZE * 5 / 8 | \ - UINT64_CAST (_pa) & NASID_MASK | \ - UINT64_CAST (_pa) >> 3 & BDECC_UPPER_MASK \ - ^ 0x7ULL) - -#define BDECC_SCRUB(_pa) (HSPEC_BASE + \ - NODE_ADDRSPACE_SIZE / 2 | \ - UINT64_CAST (_pa) & NASID_MASK | \ - UINT64_CAST (_pa) >> 3 & BDECC_UPPER_MASK \ - ^ 0x7ULL) - - /* address for Halfword backdoor ecc access. Note that */ - /* ecc bytes are packed in little endian order */ -#define BDECC_ENTRY_H(_pa) (HSPEC_BASE + \ - NODE_ADDRSPACE_SIZE * 5 / 8 | \ - UINT64_CAST (_pa) & NASID_MASK | \ - UINT64_CAST (_pa) >> 3 & BDECC_UPPER_MASK \ - ^ 0x6ULL) - -/* - * Macro to convert a back door directory, protection, page counter, or ecc - * address into the raw physical address of the associated cache line - * or protection page. - */ - -#define BDDIR_TO_MEM(_ba) (UINT64_CAST (_ba) & NASID_MASK | \ - (UINT64_CAST (_ba) & BDDIR_UPPER_MASK) << 3) - -#ifdef BRINGUP -/* - * This can't be done since there are 4 entries per address so you'd end up - * mapping back to 4 different physical addrs. - */ - -#define BDPRT_TO_MEM(_ba) (UINT64_CAST (_ba) & NASID_MASK | \ - (UINT64_CAST (_ba) & BDDIR_PAGE_MASK) << 3 | \ - (UINT64_CAST (_ba) & 0x3 << 4) << 3) -#endif - -#define BDCNT_TO_MEM(_ba) (UINT64_CAST (_ba) & NASID_MASK | \ - (UINT64_CAST (_ba) & BDDIR_PAGE_MASK) << 3 | \ - (UINT64_CAST (_ba) & 0x3 << 4) << 3) - -#define BDECC_TO_MEM(_ba) (UINT64_CAST (_ba) & NASID_MASK | \ - ((UINT64_CAST (_ba) ^ 0x7ULL) \ - & BDECC_UPPER_MASK) << 3 ) - -#define BDECC_H_TO_MEM(_ba) (UINT64_CAST (_ba) & NASID_MASK | \ - ((UINT64_CAST (_ba) ^ 0x6ULL) \ - & BDECC_UPPER_MASK) << 3 ) - -#define BDADDR_IS_DIR(_ba) ((UINT64_CAST (_ba) & 0x8) == 0) -#define BDADDR_IS_PRT(_ba) ((UINT64_CAST (_ba) & 0x408) == 0x408) -#define BDADDR_IS_CNT(_ba) ((UINT64_CAST (_ba) & 0x8) == 0x8) - -#endif /* CONFIG_SGI_IP35 */ +#endif /* CONFIG_SGI_IP27 */ /* @@ -420,11 +261,6 @@ static __inline void BDPRT_ENTRY_S(paddr_t pa,__uint32_t rgn,__uint64_t val) { #define LOCAL_HUB(_x) (HUBREG_CAST (IALIAS_BASE + (_x))) #define REMOTE_HUB(_n, _x) (HUBREG_CAST (NODE_SWIN_BASE(_n, 1) + \ 0x800000 + (_x))) -#ifdef CONFIG_SGI_IP35 -#define LOCAL_HSPEC(_x) (HUBREG_CAST (LREG_BASE + (_x))) -#define REMOTE_HSPEC(_n, _x) (HUBREG_CAST (RREG_BASE(_n) + (_x))) -#endif /* CONFIG_SGI_IP35 */ - #endif /* _STANDALONE */ /* @@ -441,11 +277,7 @@ static __inline void BDPRT_ENTRY_S(paddr_t pa,__uint32_t rgn,__uint64_t val) { #ifdef CONFIG_SGI_IP27 #define REMOTE_HUB_PI_ADDR(_n, _sn, _x) (HUBREG_CAST (NODE_SWIN_BASE(_n, 1) + \ 0x800000 + (_x))) -#elif CONFIG_SGI_IP35 -#define REMOTE_HUB_PI_ADDR(_n, _sn, _x) (HUBREG_CAST (NODE_SWIN_BASE(_n, 1) + \ -#define LOCAL_HSPEC_ADDR(_x) (HUBREG_CAST (LREG_BASE + (_x))) -#define REMOTE_HSPEC_ADDR(_n, _x) (HUBREG_CAST (RREG_BASE(_n) + (_x))) -#endif /* CONFIG_SGI_IP35 */ +#endif /* CONFIG_SGI_IP27 */ #if _LANGUAGE_C @@ -459,13 +291,6 @@ static __inline void BDPRT_ENTRY_S(paddr_t pa,__uint32_t rgn,__uint64_t val) { #define REMOTE_HUB_PI_L(_n, _sn, _r) HUB_L(REMOTE_HUB_PI_ADDR((_n), (_sn), (_r))) #define REMOTE_HUB_PI_S(_n, _sn, _r, _d) HUB_S(REMOTE_HUB_PI_ADDR((_n), (_sn), (_r)), (_d)) -#ifdef CONFIG_SGI_IP35 -#define LOCAL_HSPEC_L(_r) HUB_L(LOCAL_HSPEC_ADDR(_r)) -#define LOCAL_HSPEC_S(_r, _d) HUB_S(LOCAL_HSPEC_ADDR(_r), (_d)) -#define REMOTE_HSPEC_L(_n, _r) HUB_L(REMOTE_HSPEC_ADDR((_n), (_r))) -#define REMOTE_HSPEC_S(_n, _r, _d) HUB_S(REMOTE_HSPEC_ADDR((_n), (_r)), (_d)) -#endif /* CONFIG_SGI_IP35 */ - #endif /* _LANGUAGE_C */ /* @@ -594,15 +419,7 @@ static __inline void BDPRT_ENTRY_S(paddr_t pa,__uint32_t rgn,__uint64_t val) { /* loading symmon 4k below UNIX. the arcs loader needs the topaddr for a * relocatable program */ -#if defined(CONFIG_SGI_IP35) -/* update master.d/sn1_elspec.dbg, SN1/addrs.h/DEBUGUNIX_ADDR, and - * DBGLOADADDR in symmon's Makefile when changing this */ -#define UNIX_DEBUG_LOADADDR 0x310000 -#elif defined(SN0XXL) -#define UNIX_DEBUG_LOADADDR 0x360000 -#else #define UNIX_DEBUG_LOADADDR 0x300000 -#endif #define SYMMON_LOADADDR(nasid) \ TO_NODE(nasid, PHYS_TO_K0(UNIX_DEBUG_LOADADDR - 0x1000)) diff --git a/include/asm-mips64/sn/agent.h b/include/asm-mips64/sn/agent.h index 3d025b55d..f9115805e 100644 --- a/include/asm-mips64/sn/agent.h +++ b/include/asm-mips64/sn/agent.h @@ -30,10 +30,6 @@ #define HUB_NIC_ADDR(_cpuid) \ REMOTE_HUB_ADDR(COMPACT_TO_NASID_NODEID(cputocnode(_cpuid)), \ MD_MLAN_CTL) -#elif CONFIG_SGI_IP35 -#define HUB_NIC_ADDR(_cpuid) \ - REMOTE_HUB_ADDR(COMPACT_TO_NASID_NODEID(cputocnode(_cpuid)), \ - LB_MICROLAN_CTL) #endif #define SET_HUB_NIC(_my_cpuid, _val) \ diff --git a/include/asm-mips64/sn/arch.h b/include/asm-mips64/sn/arch.h index f86863a03..b6f59b232 100644 --- a/include/asm-mips64/sn/arch.h +++ b/include/asm-mips64/sn/arch.h @@ -33,11 +33,6 @@ typedef u64 nic_t; #define CPUS_PER_NODE_SHFT 1 /* Bits to shift in the node number */ #define CPUS_PER_SUBNODE 2 /* CPUs on a single hub PI */ #endif -#ifdef CONFIG_SGI_IP35 -#define CPUS_PER_NODE 4 /* CPUs on a single hub */ -#define CPUS_PER_NODE_SHFT 2 /* Bits to shift in the node number */ -#define CPUS_PER_SUBNODE 2 /* CPUs on a single hub PI */ -#endif #define CNODE_NUM_CPUS(_cnode) (NODEPDA(_cnode)->node_num_cpus) #define CNODE_TO_CPU_BASE(_cnode) (NODEPDA(_cnode)->node_first_cpu) @@ -50,39 +45,6 @@ typedef u64 nic_t; #define makespnum(_nasid, _slice) \ (((_nasid) << CPUS_PER_NODE_SHFT) | (_slice)) -#ifdef CONFIG_SGI_IP35 - -/* - * There are 2 very similar macros for dealing with "slices". Make sure - * you use the right one. - * Unfortunately, on all platforms except IP35 (currently), the 2 macros - * are interchangible. - * - * On IP35, there are 4 cpus per node. Each cpu is refered to by it's slice. - * The slices are numbered 0 thru 3. - * - * There are also 2 PI interfaces per node. Each PI interface supports 2 cpus. - * The term "local slice" specifies the cpu number relative to the PI. - * - * The cpus on the node are numbered: - * slice localslice - * 0 0 - * 1 1 - * 2 0 - * 3 1 - * - * cputoslice - returns a number 0..3 that is the slice of the specified cpu. - * cputolocalslice - returns a number 0..1 that identifies the local slice of - * the cpu within it's PI interface. - */ -#define cputoslice(cpu) \ - (ASSERT(pdaindr[(cpu)].pda), (pdaindr[(cpu)].pda->p_slice)) -#define cputolocalslice(cpu) \ - (ASSERT(pdaindr[(cpu)].pda), (LOCALCPU(pdaindr[(cpu)].pda->p_slice))) -#define cputosubnode(cpu) \ - (ASSERT(pdaindr[(cpu)].pda), (SUBNODE(pdaindr[(cpu)].pda->p_slice))) -#endif /* CONFIG_SGI_IP35 */ - #if defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS) #define INVALID_NASID (nasid_t)-1 @@ -91,17 +53,6 @@ typedef u64 nic_t; #define INVALID_MODULE (moduleid_t)-1 #define INVALID_PARTID (partid_t)-1 -#ifdef CONFIG_SGI_IP35 -extern int get_slice(void); -extern cpuid_t get_cnode_cpu(cnodeid_t); -extern int get_cpu_slice(cpuid_t); -extern cpuid_t cnodetocpu(cnodeid_t); -extern cpuid_t cnode_slice_to_cpuid(cnodeid_t, int); - -extern int cnode_exists(cnodeid_t cnode); -extern cnodeid_t cpuid_to_compact_node[MAXCPUS]; -#endif /* CONFIG_IP35 */ - extern nasid_t get_nasid(void); extern cnodeid_t get_cpu_cnode(int); extern int get_cpu_slice(cpuid_t); diff --git a/include/asm-mips64/sn/io.h b/include/asm-mips64/sn/io.h index a757b686e..4c95ae1d8 100644 --- a/include/asm-mips64/sn/io.h +++ b/include/asm-mips64/sn/io.h @@ -67,8 +67,6 @@ #if defined (CONFIG_SGI_IP27) #include <asm/sn/sn0/hubio.h> -#elif defined (CONFIG_SGI_IP35) -#include <asm/sn/sn1/hubio.h> #endif #endif /* CONFIG_SGI_IO */ diff --git a/include/asm-mips64/sn/klconfig.h b/include/asm-mips64/sn/klconfig.h index e3e6b5b0b..46433db7f 100644 --- a/include/asm-mips64/sn/klconfig.h +++ b/include/asm-mips64/sn/klconfig.h @@ -84,20 +84,11 @@ typedef s32 klconf_off_t; #define MAX_MODULE_ID 255 #define SIZE_PAD 4096 /* 4k padding for structures */ -#if defined(CONFIG_SGI_IP35) && defined(BRINGUP) /* MAX_SLOTS_PER_NODE??? */ -/* - * 1 NODE brick, 2 Router bricks (1 local, 1 meta), 6 XIO Widgets, - * 1 Midplane (midplane will likely become IO brick when Bruce cleans - * up IP35 klconfig) - */ -#define MAX_SLOTS_PER_NODE (1 + 2 + 6 + 1) -#else /* * 1 NODE brd, 2 Router brd (1 8p, 1 meta), 6 Widgets, * 2 Midplanes assuming no pci card cages */ #define MAX_SLOTS_PER_NODE (1 + 2 + 6 + 2) -#endif /* XXX if each node is guranteed to have some memory */ @@ -374,8 +365,6 @@ typedef struct kl_config_hdr { * hw ifc to xtalk and are not gfx * class for sw purposes */ -#define KLCLASS_IOBRICK 0x70 /* IP35 iobrick */ - #define KLCLASS_MAX 7 /* Bump this if a new CLASS is added */ #define KLTYPE_MAX 10 /* Bump this if a new CLASS is added */ @@ -393,9 +382,6 @@ typedef struct kl_config_hdr { #define KLTYPE_WEIRDCPU (KLCLASS_CPU | 0x0) #define KLTYPE_IP27 (KLCLASS_CPU | 0x1) /* 2 CPUs(R10K) per board */ -#ifdef CONFIG_SGI_IP35 -#define KLTYPE_IP35 KLTYPE_IP27 -#endif #define KLTYPE_WEIRDIO (KLCLASS_IO | 0x0) #define KLTYPE_BASEIO (KLCLASS_IO | 0x1) /* IOC3, SuperIO, Bridge, SCSI */ diff --git a/include/asm-mips64/sn/launch.h b/include/asm-mips64/sn/launch.h index 29249949f..14f087604 100644 --- a/include/asm-mips64/sn/launch.h +++ b/include/asm-mips64/sn/launch.h @@ -1,4 +1,4 @@ -/* $Id$ +/* $Id: launch.h,v 1.2 2000/04/11 15:21:07 pfg Exp $ * * This file is subject to the terms and conditions of the GNU General Public * License. See the file "COPYING" in the main directory of this archive @@ -33,10 +33,6 @@ #ifdef CONFIG_SGI_IP27 #define LAUNCH_SIZEOF 0x100 #define LAUNCH_PADSZ 0xa0 -#elif defined(CONFIG_SGI_IP35) -/* IP35 puts four launch structures in the space IP27 used for two */ -#define LAUNCH_SIZEOF 0x80 -#define LAUNCH_PADSZ 0x30 #endif #define LAUNCH_OFF_MAGIC 0x00 /* Struct offsets for assembly */ |