Module Name: src
Committed By: matt
Date: Fri Jul 1 02:04:15 UTC 2011
Modified Files:
src/sys/arch/mips/mips [matt-nb5-mips64]: mipsX_subr.S
Log Message:
Some RMI TLB locking fixes.
To generate a diff of this commit:
cvs rdiff -u -r1.26.36.1.2.45 -r1.26.36.1.2.46 \
src/sys/arch/mips/mips/mipsX_subr.S
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/mips/mips/mipsX_subr.S
diff -u src/sys/arch/mips/mips/mipsX_subr.S:1.26.36.1.2.45 src/sys/arch/mips/mips/mipsX_subr.S:1.26.36.1.2.46
--- src/sys/arch/mips/mips/mipsX_subr.S:1.26.36.1.2.45 Mon Jun 6 21:53:42 2011
+++ src/sys/arch/mips/mips/mipsX_subr.S Fri Jul 1 02:04:15 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: mipsX_subr.S,v 1.26.36.1.2.45 2011/06/06 21:53:42 matt Exp $ */
+/* $NetBSD: mipsX_subr.S,v 1.26.36.1.2.46 2011/07/01 02:04:15 matt Exp $ */
/*
* Copyright 2002 Wasabi Systems, Inc.
@@ -1662,7 +1662,7 @@
_MFC0 k1, MIPS_COP_0_OSSCRATCH, 2 # get tlblock addr
li k0, __SIMPLELOCK_LOCKED
1: swapw k0, k1 # set it to locked
- bnez k1, 1b # was it locked?
+ bnez k0, 1b # was it locked?
nop # if it was, try again
#else
#define TLB_INVALID_EXCEPTION_EXIT _C_LABEL(MIPSX(kern_gen_exception))
@@ -1736,6 +1736,10 @@
nop
nop
#endif
+#if defined(MULTIPROCESSOR) && (MIPS64_RMIXL + MIPS64R2_RMIXL) > 0
+ _MFC0 k1, MIPS_COP_0_OSSCRATCH, 2 # get tlblock addr
+ INT_S zero, 0(k1) # clear lock
+#endif
eret
MIPSX(kern_tlbi_odd):