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