diff options
author | Jack Steiner <steiner@sgi.com> | 2005-09-12 13:15:43 -0400 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2005-09-15 19:31:12 -0400 |
commit | 24ee0a6d7b0a52b140c880aae24c255de3b4a9a1 (patch) | |
tree | b57e06db620c9de7143baa58fc24a36ac24d5a79 /include/asm-ia64/sn/sn_sal.h | |
parent | 1619cca2921f6927f4240e03f413d4165c7002fc (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.h | 12 |
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 | ||
201 | static inline char * | 201 | static inline void * |
202 | ia64_sn_get_klconfig_addr(nasid_t nasid) | 202 | ia64_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 | ||