Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/mips/mips Put NOPs to avoid load delay hazard on R3...



details:   https://anonhg.NetBSD.org/src/rev/8d5bdfa2f502
branches:  trunk
changeset: 763020:8d5bdfa2f502
user:      tsutsui <tsutsui%NetBSD.org@localhost>
date:      Tue Mar 08 15:01:02 2011 +0000

description:
Put NOPs to avoid load delay hazard on R3000.
Fixes TLB miss panic in ras_mutex_spin_exit() on NWS-3470D.

diffstat:

 sys/arch/mips/mips/lock_stubs_ras.S |  5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diffs (33 lines):

diff -r 858305af01fe -r 8d5bdfa2f502 sys/arch/mips/mips/lock_stubs_ras.S
--- a/sys/arch/mips/mips/lock_stubs_ras.S       Tue Mar 08 14:53:03 2011 +0000
+++ b/sys/arch/mips/mips/lock_stubs_ras.S       Tue Mar 08 15:01:02 2011 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: lock_stubs_ras.S,v 1.1 2011/02/20 07:45:47 matt Exp $  */
+/*     $NetBSD: lock_stubs_ras.S,v 1.2 2011/03/08 15:01:02 tsutsui Exp $       */
 
 /*-
  * Copyright (c) 2007 The NetBSD Foundation, Inc.
@@ -377,6 +377,7 @@
  */
 LEAF(ras_mutex_spin_exit)
        PTR_L   t2, L_CPU(MIPS_CURLWP)
+       nop
 #if defined(DIAGNOSTIC)
        INT_L   t0, MTX_LOCK(a0)
        nop
@@ -392,7 +393,6 @@
         */
 #ifdef PARANOIA
        INT_L   a2, MTX_IPL(a0)
-       nop
 #endif
        INT_L   a0, CPU_INFO_MTX_OLDSPL(t2)
 
@@ -408,6 +408,7 @@
         * If the IPL doesn't change, nothing to do
         */
        INT_L   a1, CPU_INFO_CPL(t2)
+       nop
 
 #ifdef PARANOIA
        sltu    v0, a1, a2              # v0 = cpl < mtx_ipl



Home | Main Index | Thread Index | Old Index