svn commit: r210625 - head/sys/mips/mips
Jayachandran C.
jchandra at FreeBSD.org
Thu Jul 29 19:14:06 UTC 2010
Author: jchandra
Date: Thu Jul 29 19:14:06 2010
New Revision: 210625
URL: http://svn.freebsd.org/changeset/base/210625
Log:
MIPS 64 bit support. Define fuword64() for n64 compilation, fuword() should
be fuword64() in 64 bit.
Modified:
head/sys/mips/mips/support.S
Modified: head/sys/mips/mips/support.S
==============================================================================
--- head/sys/mips/mips/support.S Thu Jul 29 19:08:22 2010 (r210624)
+++ head/sys/mips/mips/support.S Thu Jul 29 19:14:06 2010 (r210625)
@@ -429,8 +429,9 @@ END(copyerr)
* {fu,su},{byte,sword,word}, fetch or store a byte, short or word to
* user data space.
*/
-LEAF(fuword)
-ALEAF(fuword32)
+#ifdef __mips_n64
+LEAF(fuword64)
+ALEAF(fuword)
ALEAF(fuiword)
PTR_LA v0, fswberr
blt a0, zero, fswberr # make sure address is in user space
@@ -438,10 +439,26 @@ ALEAF(fuiword)
GET_CPU_PCPU(v1)
PTR_L v1, PC_CURPCB(v1)
PTR_S v0, U_PCB_ONFAULT(v1)
+ ld v0, 0(a0) # fetch word
+ j ra
+ PTR_S zero, U_PCB_ONFAULT(v1)
+END(fuword64)
+#endif
+
+LEAF(fuword32)
+#ifndef __mips_n64
+ALEAF(fuword)
+#endif
+ PTR_LA v0, fswberr
+ blt a0, zero, fswberr # make sure address is in user space
+ nop
+ GET_CPU_PCPU(v1)
+ PTR_L v1, PC_CURPCB(v1)
+ PTR_S v0, U_PCB_ONFAULT(v1)
lw v0, 0(a0) # fetch word
j ra
PTR_S zero, U_PCB_ONFAULT(v1)
-END(fuword)
+END(fuword32)
LEAF(fusword)
ALEAF(fuisword)
More information about the svn-src-all
mailing list