svn commit: r243203 - head/sys/mips/mips

Juli Mallett jmallett at FreeBSD.org
Sat Nov 17 23:53:12 UTC 2012


Author: jmallett
Date: Sat Nov 17 23:53:12 2012
New Revision: 243203
URL: http://svnweb.freebsd.org/changeset/base/243203

Log:
  Remove one wholly-unused and buggy routine and some nearby alternative symbols.
  
  While here, also correct a comment that seems to imply that this file is
  NetBSD's all-singing, all-dancing locore.S, rather than our conservative set of
  assembly support routines.

Modified:
  head/sys/mips/mips/support.S

Modified: head/sys/mips/mips/support.S
==============================================================================
--- head/sys/mips/mips/support.S	Sat Nov 17 23:52:38 2012	(r243202)
+++ head/sys/mips/mips/support.S	Sat Nov 17 23:53:12 2012	(r243203)
@@ -83,8 +83,7 @@
  */
 
 /*
- *	Contains code that is the first executed at boot time plus
- *	assembly language support routines.
+ *	Contains assembly language support routines.
  */
 
 #include "opt_ddb.h"
@@ -289,7 +288,6 @@ END(copyerr)
 #ifdef __mips_n64
 LEAF(fuword64)
 ALEAF(fuword)
-ALEAF(fuiword)
 	PTR_LA	v0, fswberr
 	blt	a0, zero, fswberr	# make sure address is in user space
 	nop
@@ -305,7 +303,6 @@ END(fuword64)
 LEAF(fuword32)
 #ifndef __mips_n64
 ALEAF(fuword)
-ALEAF(fuiword)
 #endif
 	PTR_LA	v0, fswberr
 	blt	a0, zero, fswberr	# make sure address is in user space
@@ -319,7 +316,6 @@ ALEAF(fuiword)
 END(fuword32)
 
 LEAF(fusword)
-ALEAF(fuisword)
 	PTR_LA	v0, fswberr
 	blt	a0, zero, fswberr	# make sure address is in user space
 	nop
@@ -332,7 +328,6 @@ ALEAF(fuisword)
 END(fusword)
 
 LEAF(fubyte)
-ALEAF(fuibyte)
 	PTR_LA	v0, fswberr
 	blt	a0, zero, fswberr	# make sure address is in user space
 	nop
@@ -441,30 +436,10 @@ XLEAF(casuword)
 END(casuword64)
 #endif
 
-#if 0
-	/* unused in FreeBSD */
-/*
- * Have to flush instruction cache afterwards.
- */
-LEAF(suiword)
-	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)
-	sw	a1, 0(a0)		# store word
-	PTR_S	zero, U_PCB_ONFAULT(v1)
-	j	_C_LABEL(Mips_SyncICache)  # FlushICache sets v0 = 0. (Ugly)
-	li	a1, 4			# size of word
-END(suiword)
-#endif
-
 /*
  * Will have to flush the instruction cache if byte merging is done in hardware.
  */
 LEAF(susword)
-ALEAF(suisword)
 	PTR_LA	v0, fswberr
 	blt	a0, zero, fswberr	# make sure address is in user space
 	nop
@@ -478,7 +453,6 @@ ALEAF(suisword)
 END(susword)
 
 LEAF(subyte)
-ALEAF(suibyte)
 	PTR_LA	v0, fswberr
 	blt	a0, zero, fswberr	# make sure address is in user space
 	nop
@@ -1140,39 +1114,6 @@ LEAF(longjmp)
 	li	v0, 1			# longjmp return
 END(longjmp)
 
-LEAF(fusufault)
-	GET_CPU_PCPU(t0)
-	lw	t0, PC_CURTHREAD(t0)
-	lw	t0, TD_PCB(t0)
-	li	v0, -1
-	j	ra
-END(fusufault)
-
-    /* Define a new md function 'casuptr'.  This atomically compares and sets
-       a pointer that is in user space.	 It will be used as the basic primitive
-       for a kernel supported user space lock implementation. */
-LEAF(casuptr)
-	PTR_LI	t0, VM_MAXUSER_ADDRESS /* verify address validity */
-	blt	a0, t0, fusufault		/* trap faults */
-	nop
-
-	GET_CPU_PCPU(t1)
-	lw	t1, PC_CURTHREAD(t1)
-	lw	t1, TD_PCB(t1)
-
-	PTR_LA	t2, fusufault
-	PTR_S	t2, U_PCB_ONFAULT(t1)
-1:
-	ll	v0, 0(a0)		/* try to load the old value */
-	beq	v0, a1, 2f		/* compare */
-	move	t0, a2			/* setup value to write */
-	sc	t0, 0(a0)		/* write if address still locked */
-	beq	t0, zero, 1b			/* if it failed, spin */
-2:
-	PTR_S	zero, U_PCB_ONFAULT(t1) /* clean up */
-	j	ra
-END(casuptr)
-
 LEAF(mips3_ld)
 	.set push
 	.set noreorder


More information about the svn-src-head mailing list