/* * 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 * for more details. * * SGI specific setup. * * Copyright (C) 1995 - 1997, 1999 Silcon Graphics, Inc. * Copyright (C) 1999 Ralf Baechle (ralf@gnu.org) */ #ifndef _ASM_SN_ARCH_H #define _ASM_SN_ARCH_H #include <linux/types.h> #include <asm/sn/types.h> #ifdef CONFIG_SGI_IP27 #include <asm/sn/sn0/arch.h> #endif typedef u64 hubreg_t; #define cputonasid(cpu) (sn_cpu_info[(cpu)].p_nasid) #define cputoslice(cpu) (sn_cpu_info[(cpu)].p_slice) #define makespnum(_nasid, _slice) \ (((_nasid) << CPUS_PER_NODE_SHFT) | (_slice)) #define INVALID_NASID (nasid_t)-1 #define INVALID_CNODEID (cnodeid_t)-1 #define INVALID_PNODEID (pnodeid_t)-1 #define INVALID_MODULE (moduleid_t)-1 #define INVALID_PARTID (partid_t)-1 extern nasid_t get_nasid(void); extern cnodeid_t get_cpu_cnode(cpuid_t); extern int get_cpu_slice(cpuid_t); /* * NO ONE should access these arrays directly. The only reason we refer to * them here is to avoid the procedure call that would be required in the * macros below. (Really want private data members here :-) */ extern cnodeid_t nasid_to_compact_node[MAX_NASIDS]; extern nasid_t compact_to_nasid_node[MAX_COMPACT_NODES]; /* * These macros are used by various parts of the kernel to convert * between the three different kinds of node numbering. At least some * of them may change to procedure calls in the future, but the macros * will continue to work. Don't use the arrays above directly. */ #define NASID_TO_REGION(nnode) \ ((nnode) >> \ (is_fine_dirmode() ? NASID_TO_FINEREG_SHFT : NASID_TO_COARSEREG_SHFT)) extern cnodeid_t nasid_to_compact_node[MAX_NASIDS]; extern nasid_t compact_to_nasid_node[MAX_COMPACT_NODES]; extern cnodeid_t cpuid_to_compact_node[MAXCPUS]; #define NASID_TO_COMPACT_NODEID(nnode) (nasid_to_compact_node[nnode]) #define COMPACT_TO_NASID_NODEID(cnode) (compact_to_nasid_node[cnode]) #define CPUID_TO_COMPACT_NODEID(cpu) (cpuid_to_compact_node[(cpu)]) #endif /* _ASM_SN_ARCH_H */
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
sn0 | Folder | 0755 |
|
|
addrs.h | File | 14.41 KB | 0644 |
|
agent.h | File | 1.13 KB | 0644 |
|
arch.h | File | 2.08 KB | 0644 |
|
fru.h | File | 1.45 KB | 0644 |
|
gda.h | File | 3.17 KB | 0644 |
|
hub.h | File | 455 B | 0644 |
|
intr.h | File | 3.02 KB | 0644 |
|
io.h | File | 1.83 KB | 0644 |
|
ioc3.h | File | 24.53 KB | 0644 |
|
klconfig.h | File | 30.02 KB | 0644 |
|
kldir.h | File | 7.87 KB | 0644 |
|
klkernvars.h | File | 612 B | 0644 |
|
launch.h | File | 3.34 KB | 0644 |
|
mapped_kernel.h | File | 1.95 KB | 0644 |
|
nmi.h | File | 3.31 KB | 0644 |
|
sn_private.h | File | 585 B | 0644 |
|
types.h | File | 890 B | 0644 |
|