Module Name: src
Committed By: tsutsui
Date: Wed Apr 6 14:04:32 UTC 2011
Modified Files:
src/sys/arch/mips/mips: mipsX_subr.S
Log Message:
Sync with locore_mips1.S:
>> Load pc into ta0 instead of ra and then saving to ta0.
To generate a diff of this commit:
cvs rdiff -u -r1.42 -r1.43 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.42 src/sys/arch/mips/mips/mipsX_subr.S:1.43
--- src/sys/arch/mips/mips/mipsX_subr.S:1.42 Wed Apr 6 05:13:36 2011
+++ src/sys/arch/mips/mips/mipsX_subr.S Wed Apr 6 14:04:32 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: mipsX_subr.S,v 1.42 2011/04/06 05:13:36 matt Exp $ */
+/* $NetBSD: mipsX_subr.S,v 1.43 2011/04/06 14:04:32 tsutsui Exp $ */
/*
* Copyright 2002 Wasabi Systems, Inc.
@@ -823,14 +823,13 @@
/*
* Call the interrupt handler.
*/
- _MFC0 ra, MIPS_COP_0_EXC_PC # grab exception PC
+ _MFC0 ta0, MIPS_COP_0_EXC_PC # grab exception PC
PTR_L s2, L_CPU(MIPS_CURLWP) # delay slot
- REG_S ra, TF_BASE+TF_REG_EPC(sp) # and save it
+ REG_S ta0, TF_BASE+TF_REG_EPC(sp) # and save it
#if defined(DDB) || defined(DEBUG) || defined(KGDB)
- REG_S ra, KERNFRAME_RA(sp) # for debugging
+ REG_S ta0, KERNFRAME_RA(sp) # for debugging
#endif
- move ta0, ra # save across spl* calls
#ifdef PARANOIA
INT_L s0, CPU_INFO_CPL(s2)
@@ -1192,20 +1191,19 @@
REG_S sp, CALLFRAME_SIZ+TF_REG_SP(k0) # $29
REG_S ra, CALLFRAME_SIZ+TF_REG_RA(k0) # $31
REG_S s1, CALLFRAME_SIZ+TF_REG_SR(k0)
- _MFC0 ra, MIPS_COP_0_EXC_PC
+ _MFC0 ta0, MIPS_COP_0_EXC_PC
REG_S v0, CALLFRAME_SIZ+TF_REG_MULLO(k0)
REG_S v1, CALLFRAME_SIZ+TF_REG_MULHI(k0)
- REG_S ra, CALLFRAME_SIZ+TF_REG_EPC(k0)
+ REG_S ta0, CALLFRAME_SIZ+TF_REG_EPC(k0)
REG_S t0, CALLFRAME_SIZ+TF_REG_CAUSE(k0)
move sp, k0 # switch to kernel SP
move MIPS_CURLWP, k1 # set curlwp reg (t8)
#if defined(DDB) || defined(DEBUG) || defined(KGDB)
- REG_S ra, CALLFRAME_RA(sp) # for debugging
+ REG_S ta0, CALLFRAME_RA(sp) # for debugging
#endif
#ifdef __GP_SUPPORT__
PTR_LA gp, _C_LABEL(_gp) # switch to kernel GP
#endif
- move ta0, ra # save across SPL calls
/*
* We first need to get to IPL_HIGH so that interrupts are masked.