Skip to content

Commit 0047ca1

Browse files
committed
aarch32: On Data Abort, print DFSR and DFAR
1 parent 98d3dd1 commit 0047ca1

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

src/cpu/aarch32/exc.c

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,18 @@ data_abort(uint32_t pc, uint32_t psr, uint32_t *regs)
1717
return;
1818
printf("\n*** Exception: Data Abort\n");
1919
for(int i = 0; i < 13; i++) {
20-
printf("R%-2d 0x%08x\n", i, regs[i]);
20+
printf("R%-2d 0x%08x\n", i, regs[i]);
2121
}
22-
printf("PC 0x%08x\nPSR 0x%08x\n", pc, psr);
22+
printf("PC 0x%08x\nPSR 0x%08x\n", pc, psr);
23+
24+
uint32_t dfsr;
25+
asm volatile("mrc p15, 0, %0, c5, c0, 0" : "=r"(dfsr));
26+
printf("DFSR 0x%08x\n", dfsr);
27+
28+
uint32_t dfar;
29+
asm volatile("mrc p15, 0, %0, c6, c0, 0" : "=r"(dfar));
30+
printf("DFAR 0x%08x\n", dfar);
31+
2332
panic("Data abort");
2433
}
2534

0 commit comments

Comments
 (0)