summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorKanoj Sarcar <kanoj@engr.sgi.com>2000-02-05 21:36:19 +0000
committerKanoj Sarcar <kanoj@engr.sgi.com>2000-02-05 21:36:19 +0000
commit08787df154c978f87e8066c074582adac542d305 (patch)
tree0f8dbd520fd8d5c56b9809b97f85219619403a1c /arch
parent99a7e12f34b3661a0d1354eef83a0eef4df5e34c (diff)
Reduce calias protection to access remote node memory completely.
Diffstat (limited to 'arch')
-rw-r--r--arch/mips64/sgi-ip27/TODO2
-rw-r--r--arch/mips64/sgi-ip27/ip27-init.c4
-rw-r--r--arch/mips64/sgi-ip27/ip27-memory.c8
3 files changed, 5 insertions, 9 deletions
diff --git a/arch/mips64/sgi-ip27/TODO b/arch/mips64/sgi-ip27/TODO
index e6fcd7c86..7f9c63a5d 100644
--- a/arch/mips64/sgi-ip27/TODO
+++ b/arch/mips64/sgi-ip27/TODO
@@ -5,3 +5,5 @@ not to write to the IOC3 ever.
Qlogic scsi controllers.
4. Need to integrate ip27-klconfig.c:find_lboard and
ip27-init.c:find_lbaord_real.
+5. Is it okay to set calias space on all nodes as 0, instead of 8k as
+in irix?
diff --git a/arch/mips64/sgi-ip27/ip27-init.c b/arch/mips64/sgi-ip27/ip27-init.c
index b3d0bf7e2..f6b3d6e09 100644
--- a/arch/mips64/sgi-ip27/ip27-init.c
+++ b/arch/mips64/sgi-ip27/ip27-init.c
@@ -1,4 +1,5 @@
#include <linux/kernel.h>
+#include <linux/mmzone.h> /* for numnodes */
#include <asm/sn/types.h>
#include <asm/sn/sn0/addrs.h>
#include <asm/sn/sn0/hubni.h>
@@ -184,7 +185,6 @@ cpuid_t cpu_node_probe(cpumask_t *boot_cpumask, int *numnodes)
void mlreset (void)
{
- extern int numnodes;
int i, maxcpus;
fine_mode = is_fine_dirmode();
@@ -212,7 +212,7 @@ void mlreset (void)
* thinks it is a node 0 address.
*/
REMOTE_HUB_S(nasid, PI_REGION_PRESENT, (region_mask | 1));
- REMOTE_HUB_S(nasid, PI_CALIAS_SIZE, PI_CALIAS_SIZE_8K);
+ REMOTE_HUB_S(nasid, PI_CALIAS_SIZE, PI_CALIAS_SIZE_0);
#ifdef LATER
/*
diff --git a/arch/mips64/sgi-ip27/ip27-memory.c b/arch/mips64/sgi-ip27/ip27-memory.c
index 368a0d209..b8a55dcfd 100644
--- a/arch/mips64/sgi-ip27/ip27-memory.c
+++ b/arch/mips64/sgi-ip27/ip27-memory.c
@@ -171,15 +171,10 @@ void __init prom_meminit(void)
mlreset();
numpages = szmem(0, 0);
- for (node = 0; node < numnodes; node++) {
+ for (node = (numnodes - 1); node >= 0; node--) {
slot_firstpfn = slot_getbasepfn(node, 0);
slot_lastpfn = slot_firstpfn + slot_getsize(node, 0);
slot_freepfn = node_getfirstfree(node);
- printk("Node %d slot 0: 0x%lx 0x%lx 0x%lx\n", node,
- slot_firstpfn<<PAGE_SHIFT, slot_lastpfn<<PAGE_SHIFT,
- slot_freepfn<<PAGE_SHIFT);
- /* delete next 2 lines when we have numa support */
- if (node == 0) {
max_low_pfn = (slot_lastpfn - slot_firstpfn);
bootmap_size = init_bootmem_node(node, slot_freepfn,
slot_firstpfn, slot_lastpfn);
@@ -187,7 +182,6 @@ void __init prom_meminit(void)
(slot_lastpfn - slot_firstpfn) << PAGE_SHIFT);
reserve_bootmem_node(node, slot_firstpfn << PAGE_SHIFT,
((slot_freepfn - slot_firstpfn) << PAGE_SHIFT) + bootmap_size);
- }
}
printk("Total memory probed : 0x%lx pages\n", numpages);
}