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