Source-Changes-HG archive

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

[src/trunk]: src/sys/arch/powerpc/ibm4xx - FRAME_SAVE_CALLEE() starts at r14 ...



details:   https://anonhg.NetBSD.org/src/rev/b934c5a1e7f8
branches:  trunk
changeset: 766085:b934c5a1e7f8
user:      cliff <cliff%NetBSD.org@localhost>
date:      Wed Jun 15 06:28:39 2011 +0000

description:
- FRAME_SAVE_CALLEE() starts at r14 (not r13, which is curlwp) (from matt@)
- INTR_SAVE() must also save r13 (from matt@).
- fitint must pass clock frame, not trap frame
- fix comment in pitint and fitint to indicate passing clock frame, not intr frame

diffstat:

 sys/arch/powerpc/ibm4xx/trap_subr.S |  9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diffs (44 lines):

diff -r 78971472e7ff -r b934c5a1e7f8 sys/arch/powerpc/ibm4xx/trap_subr.S
--- a/sys/arch/powerpc/ibm4xx/trap_subr.S       Wed Jun 15 06:09:21 2011 +0000
+++ b/sys/arch/powerpc/ibm4xx/trap_subr.S       Wed Jun 15 06:28:39 2011 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: trap_subr.S,v 1.15 2011/06/05 16:52:25 matt Exp $      */
+/*     $NetBSD: trap_subr.S,v 1.16 2011/06/15 06:28:39 cliff Exp $     */
 
 /*
  * Copyright 2001 Wasabi Systems, Inc.
@@ -287,7 +287,7 @@
        stw     %r31,FRAME_SRR1(%r1)
 
 #define        FRAME_SAVE_CALLEE                                               \
-       stmw    %r13, FRAME_R13(%r1)
+       stmw    %r14, FRAME_R14(%r1)
 
 #define        FRAME_RESTORE                                                   \
        lwz     %r6,FRAME_LR(%r1);                                      \
@@ -439,6 +439,7 @@
        stw     %r10,FRAME_R10(%r1);                                    \
        stw     %r11,FRAME_R11(%r1);                                    \
        stw     %r12,FRAME_R12(%r1);                                    \
+       stw     %r13,FRAME_R13(%r1);                                    \
        mfctr   %r31;                                                   \
        stmw    %r28,FRAME_LR(%r1);     /* save LR, CR, XER, CTR */     \
        GET_CPUINFO(%r5);                                               \
@@ -491,7 +492,7 @@
 _C_LABEL(pitint):
        INTR_PROLOG(CI_TEMPSAVE)
        INTR_SAVE(CI_TEMPSAVE)
-       addi    %r3,%r1,FRAME_CF        /* intr frame */
+       addi    %r3,%r1,FRAME_CF        /* clock frame */
        bl      _C_LABEL(decr_intr)
        b       intr_exit
 
@@ -502,7 +503,7 @@
 _C_LABEL(fitint):
        INTR_PROLOG(CI_TEMPSAVE)
        INTR_SAVE(CI_TEMPSAVE)
-       addi    %r3,%r1,FRAME_TF        /* intr frame */
+       addi    %r3,%r1,FRAME_CF        /* clock frame */
        bl      _C_LABEL(stat_intr)
        b       intr_exit
 



Home | Main Index | Thread Index | Old Index