summaryrefslogtreecommitdiffstats
path: root/sys/mips/mips/swtch.S
diff options
context:
space:
mode:
authorjchandra <jchandra@FreeBSD.org>2010-07-30 09:38:47 +0000
committerjchandra <jchandra@FreeBSD.org>2010-07-30 09:38:47 +0000
commit246b8bafcd67430ed75929e96a6c6861c154580d (patch)
tree0cfe86279df85e278687f1f8b48b22e4b42b7b28 /sys/mips/mips/swtch.S
parent213ccb3efe4e6990d971d933d865a67c537a1a85 (diff)
downloadFreeBSD-src-246b8bafcd67430ed75929e96a6c6861c154580d.zip
FreeBSD-src-246b8bafcd67430ed75929e96a6c6861c154580d.tar.gz
MIPS n64 support - support kstack in XKSEG.
- enable KX on entry from user-space, we need KX set to save to XKSEG addresses. - add MIPS_XKSEG_START to genassym.c - Add n64 case for swth.S
Diffstat (limited to 'sys/mips/mips/swtch.S')
-rw-r--r--sys/mips/mips/swtch.S6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/mips/mips/swtch.S b/sys/mips/mips/swtch.S
index b6412db..9e1f39d 100644
--- a/sys/mips/mips/swtch.S
+++ b/sys/mips/mips/swtch.S
@@ -278,10 +278,12 @@ blocked_loop:
PTR_L a2, TD_PCB(a1)
PTR_S a2, PC_CURPCB(a3)
PTR_L v0, TD_KSTACK(a1)
-#if !defined(__mips_n64)
+#if defined(__mips_n64)
+ PTR_LI s0, MIPS_XKSEG_START
+#else
PTR_LI s0, MIPS_KSEG2_START # If Uarea addr is below kseg2,
- bltu v0, s0, sw2 # no need to insert in TLB.
#endif
+ bltu v0, s0, sw2 # no need to insert in TLB.
lw a1, TD_UPTE + 0(s7) # a1 = u. pte #0
lw a2, TD_UPTE + 4(s7) # a2 = u. pte #1
/*
OpenPOWER on IntegriCloud