saimaa: log DFAR/IFSR/DFSR in vec trap

This commit is contained in:
SashegDev
2026-09-13 00:07:29 +00:00
parent 62f32be733
commit 1e271b6d53
+9
View File
@@ -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=");