saimaa: log DFAR/IFSR/DFSR in vec trap
This commit is contained in:
@@ -193,9 +193,18 @@ static uint64_t saimaa_vec_read(void *opaque, hwaddr off, unsigned size)
|
||||
ARMCPU *cpu = ARM_CPU(current_cpu);
|
||||
uint64_t pc = cpu ? cpu->env.regs[15] : 0;
|
||||
int th = cpu ? cpu->env.thumb : 0;
|
||||
uint32_t dfar = 0, ifsr = 0, dfsr = 0;
|
||||
if (cpu) {
|
||||
/* CP15 DFAR/IFSR/DFSR for abort diagnosis */
|
||||
dfar = cpu->env.cp15.c6_data;
|
||||
ifsr = cpu->env.cp15.c6_insn;
|
||||
dfsr = cpu->env.cp15.c5_data;
|
||||
}
|
||||
fprintf(stderr, "saimaa-vec: %s off=0x%x pc=0x%lx",
|
||||
size == 2 ? "fetch?" : "read",
|
||||
(unsigned)off, (unsigned long)pc - (th ? 4 : 8));
|
||||
fprintf(stderr, " DFAR=0x%x IFSR=0x%x DFSR=0x%x", dfar, ifsr,
|
||||
dfsr);
|
||||
if (cpu) {
|
||||
int b, r;
|
||||
fprintf(stderr, " regs=");
|
||||
|
||||
Reference in New Issue
Block a user