summaryrefslogtreecommitdiffstats
path: root/arch/mips64/kernel/head.S
diff options
context:
space:
mode:
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