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 Must need srr0 and srr1 in FRAME_SET...



details:   https://anonhg.NetBSD.org/src/rev/5be27c6e7450
branches:  trunk
changeset: 766597:5be27c6e7450
user:      kiyohara <kiyohara%NetBSD.org@localhost>
date:      Tue Jun 28 11:42:51 2011 +0000

description:
Must need srr0 and srr1 in FRAME_SETUP and trapexit.
parentheses is good.
Remove no-need 'addi FRAME_TF'.

diffstat:

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

diffs (52 lines):

diff -r e968a506917b -r 5be27c6e7450 sys/arch/powerpc/ibm4xx/trap_subr.S
--- a/sys/arch/powerpc/ibm4xx/trap_subr.S       Tue Jun 28 10:32:45 2011 +0000
+++ b/sys/arch/powerpc/ibm4xx/trap_subr.S       Tue Jun 28 11:42:51 2011 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: trap_subr.S,v 1.17 2011/06/24 03:53:46 kiyohara Exp $  */
+/*     $NetBSD: trap_subr.S,v 1.18 2011/06/28 11:42:51 kiyohara Exp $  */
 
 /*
  * Copyright 2001 Wasabi Systems, Inc.
@@ -208,6 +208,9 @@
        stmw    %r28,CI_DDBSAVE(%r1)    /* free r28-r31 */
        mflr    %r28                    /* save LR */
        mfcr    %r29                    /* save CR */
+       mfsrr0  %r30;
+       mfsrr1  %r31;
+       stmw    %r30,(CI_DDBSAVE+CPUSAVE_SRR0)(%r1);    /* save srr0/srr1 */
        lis     %r1,ddbstk+INTSTK-CALLFRAMELEN@ha       /* get new SP */
        addi    %r1,%r1,ddbstk+INTSTK-CALLFRAMELEN@l
        bla     ddbtrap
@@ -228,6 +231,9 @@
        stmw    %r28,CI_IPKDBSAVE(%r1)  /* free r28-r31 */
        mflr    %r28                    /* save LR */
        mfcr    %r29                    /* save CR */
+       mfsrr0  %r30;
+       mfsrr1  %r31;
+       stmw    %r30,(CI_IPKDBSAVE+CPUSAVE_SRR0)(%r1);  /* save srr0/srr1 */
        lis     %r1,ipkdbstk+INTSTK-CALLFRAMELEN@ha     /* get new SP */
        addi    %r1,%r1,ipkdbstk+INTSTK-CALLFRAMELEN@l
        bla     ipkdbtrap
@@ -516,12 +522,12 @@
        mtsprg1 %r1
        GET_CPUINFO(%r4)
        mfmsr   %r3
-       stw     %r3,CI_DDBSAVE+CPUSAVE_SRR1(%r4)
+       stw     %r3,(CI_DDBSAVE+CPUSAVE_SRR1)(%r4)
        wrteei  0                       /* disable interrupts */
        isync
        stmw    %r28,CI_DDBSAVE(%r4)
        mflr    %r28
-       stw     %r28,CI_DDBSAVE+CPUSAVE_SRR0(%r4)
+       stw     %r28,(CI_DDBSAVE+CPUSAVE_SRR0)(%r4)
        li      %r29,EXC_BPT
        mtlr    %r29
        mfcr    %r29
@@ -535,7 +541,6 @@
        addi    %r3,%r1,FRAME_TF
        bl      _C_LABEL(ddb_trap_glue)
        or.     %r3,%r3,%r3
-       addi    %r3,%r1,FRAME_TF
        beq     trapagain
        b       trapexit
 #endif /* DDB || KGDB */



Home | Main Index | Thread Index | Old Index