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 In the LOCKDEBUG case, call exit2() befor...



details:   https://anonhg.NetBSD.org/src/rev/3eaaed9872f8
branches:  trunk
changeset: 526096:3eaaed9872f8
user:      simonb <simonb%NetBSD.org@localhost>
date:      Thu Apr 25 06:55:53 2002 +0000

description:
In the LOCKDEBUG case, call exit2() before sched_lock_idle() so
that the exitting process pointer in a0 doesn't get overwritten by
sched_lock_idle().

diffstat:

 sys/arch/mips/mips/locore.S |  6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diffs (25 lines):

diff -r db05cff59168 -r 3eaaed9872f8 sys/arch/mips/mips/locore.S
--- a/sys/arch/mips/mips/locore.S       Thu Apr 25 01:50:00 2002 +0000
+++ b/sys/arch/mips/mips/locore.S       Thu Apr 25 06:55:53 2002 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: locore.S,v 1.138 2002/04/14 21:52:25 manu Exp $        */
+/*     $NetBSD: locore.S,v 1.139 2002/04/25 06:55:53 simonb Exp $      */
 
 /*
  * Copyright (c) 1992, 1993
@@ -510,12 +510,14 @@
        REG_PROLOGUE
        REG_L   sp, U_PCB_CONTEXT+SF_REG_SP(v0) # restore stack pointer
        REG_EPILOGUE
+       jal     _C_LABEL(exit2)                 # proc already in a0
+       nop
 #if defined(LOCKDEBUG)
        jal     _C_LABEL(sched_lock_idle)       # acquire sched_lock
        nop
 #endif
        la      ra, cpu_switch_queuescan        # rathole to cpu_switch()
-       j       _C_LABEL(exit2)                 # proc already in a0
+       j       ra
        sub     sp, sp, CALLFRAME_SIZ           #BDSlot: set stack call frame
 END(switch_exit)
 



Home | Main Index | Thread Index | Old Index