diff options
author | jchandra <jchandra@FreeBSD.org> | 2010-07-30 09:38:47 +0000 |
---|---|---|
committer | jchandra <jchandra@FreeBSD.org> | 2010-07-30 09:38:47 +0000 |
commit | 246b8bafcd67430ed75929e96a6c6861c154580d (patch) | |
tree | 0cfe86279df85e278687f1f8b48b22e4b42b7b28 /sys/mips/mips/swtch.S | |
parent | 213ccb3efe4e6990d971d933d865a67c537a1a85 (diff) | |
download | FreeBSD-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.S | 6 |
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 /* |