aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-ia64/sn/sn_sal.h
diff options
context:
space:
mode:
authorJack Steiner <steiner@sgi.com>2005-09-12 13:15:43 -0400
committerTony Luck <tony.luck@intel.com>2005-09-15 19:31:12 -0400
commit24ee0a6d7b0a52b140c880aae24c255de3b4a9a1 (patch)
treeb57e06db620c9de7143baa58fc24a36ac24d5a79 /include/asm-ia64/sn/sn_sal.h
parent1619cca2921f6927f4240e03f413d4165c7002fc (diff)
[IA64] Cleanup use of various #defines related to nodes
Some of the SN code & #defines related to compact nodes & IO discovery have gotten stale over the years. This patch attempts to clean them up. Some of the various SN MAX_xxx #defines were also unclear & misused. The primary changes are: - use MAX_NUMNODES. This is the generic linux #define for the number of nodes that are known to the generic kernel. Arrays & loops for constructs that are 1:1 with linux-defined nodes should use the linux #define - not an SN equivalent. - use MAX_COMPACT_NODES for MAX_NUMNODES + NUM_TIOS. This is the number of nodes in the SSI system. Compact nodes are a hack to get around the IA64 architectural limit of 256 nodes. Large SGI systems have more than 256 nodes. When we upgrade to ACPI3.0, I _hope_ that all nodes will be real nodes that are known to the generic kernel. That will allow us to delete the notion of "compact nodes". - add MAX_NUMALINK_NODES for the total number of nodes that are in the numalink domain - all partitions. - simplified (understandable) scan_for_ionodes() - small amount of cleanup related to cnodes Signed-off-by: Jack Steiner <steiner@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'include/asm-ia64/sn/sn_sal.h')
-rw-r--r--include/asm-ia64/sn/sn_sal.h12
1 files changed, 1 insertions, 11 deletions
diff --git a/include/asm-ia64/sn/sn_sal.h b/include/asm-ia64/sn/sn_sal.h
index fea35b33d4e4..5ad855db8464 100644
--- a/include/asm-ia64/sn/sn_sal.h
+++ b/include/asm-ia64/sn/sn_sal.h
@@ -198,26 +198,16 @@ ia64_sn_get_master_baseio_nasid(void)
198 return ret_stuff.v0; 198 return ret_stuff.v0;
199} 199}
200 200
201static inline char * 201static inline void *
202ia64_sn_get_klconfig_addr(nasid_t nasid) 202ia64_sn_get_klconfig_addr(nasid_t nasid)
203{ 203{
204 struct ia64_sal_retval ret_stuff; 204 struct ia64_sal_retval ret_stuff;
205 int cnodeid;
206 205
207 cnodeid = nasid_to_cnodeid(nasid);
208 ret_stuff.status = 0; 206 ret_stuff.status = 0;
209 ret_stuff.v0 = 0; 207 ret_stuff.v0 = 0;
210 ret_stuff.v1 = 0; 208 ret_stuff.v1 = 0;
211 ret_stuff.v2 = 0; 209 ret_stuff.v2 = 0;
212 SAL_CALL(ret_stuff, SN_SAL_GET_KLCONFIG_ADDR, (u64)nasid, 0, 0, 0, 0, 0, 0); 210 SAL_CALL(ret_stuff, SN_SAL_GET_KLCONFIG_ADDR, (u64)nasid, 0, 0, 0, 0, 0, 0);
213
214 /*
215 * We should panic if a valid cnode nasid does not produce
216 * a klconfig address.
217 */
218 if (ret_stuff.status != 0) {
219 panic("ia64_sn_get_klconfig_addr: Returned error %lx\n", ret_stuff.status);
220 }
221 return ret_stuff.v0 ? __va(ret_stuff.v0) : NULL; 211 return ret_stuff.v0 ? __va(ret_stuff.v0) : NULL;
222} 212}
223 213