summaryrefslogtreecommitdiffstats
path: root/arch/mips64/kernel/head.S
diff options
context:
space:
mode:
authorKanoj Sarcar <kanoj@engr.sgi.com>2000-06-09 06:04:43 +0000
committerKanoj Sarcar <kanoj@engr.sgi.com>2000-06-09 06:04:43 +0000
commitd664fc3c7e5dfcff2bf348050ace5894c7648b3a (patch)
tree244409f22c55a564677e77fa920855a006a791f3 /arch/mips64/kernel/head.S
parent513bee05b74dd15729a240b6b0ce4a6c695e73bc (diff)
Have the slave bootstrap code actually look at the text and data server
nasids that the master nasid found for it. Sanitize the replication procedures.
Diffstat (limited to 'arch/mips64/kernel/head.S')
-rw-r--r--arch/mips64/kernel/head.S9
1 files changed, 7 insertions, 2 deletions
diff --git a/arch/mips64/kernel/head.S b/arch/mips64/kernel/head.S
index 88133ae40..29b7e17c0 100644
--- a/arch/mips64/kernel/head.S
+++ b/arch/mips64/kernel/head.S
@@ -21,6 +21,7 @@
#include <asm/pgtable.h>
#include <asm/sn/addrs.h>
#include <asm/sn/sn0/hubni.h>
+#include <asm/sn/klkernvars.h>
.macro ARC64_TWIDDLE_PC
#if defined(CONFIG_ARC64) || defined(CONFIG_MAPPED_KERNEL)
@@ -130,8 +131,12 @@ NESTED(kernel_entry, 16, sp) # kernel entry point
NESTED(bootstrap, 16, sp)
GET_NASID_ASM
- move t1, zero # till we know who is master
- move t2, zero # till we know who is master
+ li t0, KLDIR_OFFSET + (KLI_KERN_VARS * KLDIR_ENT_SIZE) + KLDIR_OFF_POINTER + K0BASE
+ dsll t1, NASID_SHFT
+ or t0, t0, t1
+ ld t0, 0(t0) # t0 points to kern_vars struct
+ lh t1, KV_RO_NASID_OFFSET(t0)
+ lh t2, KV_RW_NASID_OFFSET(t0)
MAPPED_KERNEL_SETUP_TLB
ARC64_TWIDDLE_PC
CLI