|
|
@ -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()); |
|
|
|