Browse Source

Blackfin: fix register dump messages

Make sure we report RETI/IPEND correctly.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger 16 years ago
parent
commit
2de95bb20c
1 changed files with 5 additions and 1 deletions
  1. 5 1
      cpu/blackfin/traps.c

+ 5 - 1
cpu/blackfin/traps.c

@@ -244,6 +244,9 @@ void dump(struct pt_regs *fp)
 	if (!ENABLE_DUMP)
 	if (!ENABLE_DUMP)
 		return;
 		return;
 
 
+	/* fp->ipend is garbage, so load it ourself */
+	fp->ipend = bfin_read_IPEND();
+
 	printf("SEQUENCER STATUS:\n");
 	printf("SEQUENCER STATUS:\n");
 	printf(" SEQSTAT: %08lx  IPEND: %04lx  SYSCFG: %04lx\n",
 	printf(" SEQSTAT: %08lx  IPEND: %04lx  SYSCFG: %04lx\n",
 		fp->seqstat, fp->ipend, fp->syscfg);
 		fp->seqstat, fp->ipend, fp->syscfg);
@@ -263,8 +266,9 @@ void dump(struct pt_regs *fp)
 	printf(" RETX: %s\n", buf);
 	printf(" RETX: %s\n", buf);
 	decode_address(buf, fp->rets);
 	decode_address(buf, fp->rets);
 	printf(" RETS: %s\n", buf);
 	printf(" RETS: %s\n", buf);
+	/* we lie and store RETI in "pc" */
 	decode_address(buf, fp->pc);
 	decode_address(buf, fp->pc);
-	printf(" PC  : %s\n", buf);
+	printf(" RETI: %s\n", buf);
 
 
 	if (fp->seqstat & EXCAUSE) {
 	if (fp->seqstat & EXCAUSE) {
 		decode_address(buf, bfin_read_DCPLB_FAULT_ADDR());
 		decode_address(buf, bfin_read_DCPLB_FAULT_ADDR());