mirror of
https://github.com/qemu/qemu.git
synced 2025-08-06 21:55:58 +00:00
Fix ARM VFP debugging dumps.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2201 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
c688a6eb18
commit
a94a6abff4
@ -2542,6 +2542,12 @@ void cpu_dump_state(CPUState *env, FILE *f,
|
|||||||
float s;
|
float s;
|
||||||
} s0, s1;
|
} s0, s1;
|
||||||
CPU_DoubleU d;
|
CPU_DoubleU d;
|
||||||
|
/* ??? This assumes float64 and double have the same layout.
|
||||||
|
Oh well, it's only debug dumps. */
|
||||||
|
union {
|
||||||
|
float64 f64;
|
||||||
|
double d;
|
||||||
|
} d0;
|
||||||
uint32_t psr;
|
uint32_t psr;
|
||||||
|
|
||||||
for(i=0;i<16;i++) {
|
for(i=0;i<16;i++) {
|
||||||
@ -2565,11 +2571,12 @@ void cpu_dump_state(CPUState *env, FILE *f,
|
|||||||
d.d = env->vfp.regs[i];
|
d.d = env->vfp.regs[i];
|
||||||
s0.i = d.l.lower;
|
s0.i = d.l.lower;
|
||||||
s1.i = d.l.upper;
|
s1.i = d.l.upper;
|
||||||
cpu_fprintf(f, "s%02d=%08x(%8f) s%02d=%08x(%8f) d%02d=%08x%08x(%8f)\n",
|
d0.f64 = d.d;
|
||||||
|
cpu_fprintf(f, "s%02d=%08x(%8g) s%02d=%08x(%8g) d%02d=%08x%08x(%8g)\n",
|
||||||
i * 2, (int)s0.i, s0.s,
|
i * 2, (int)s0.i, s0.s,
|
||||||
i * 2 + 1, (int)s0.i, s0.s,
|
i * 2 + 1, (int)s1.i, s1.s,
|
||||||
i, (int)(uint32_t)d.l.upper, (int)(uint32_t)d.l.lower,
|
i, (int)(uint32_t)d.l.upper, (int)(uint32_t)d.l.lower,
|
||||||
d.d);
|
d0.d);
|
||||||
}
|
}
|
||||||
cpu_fprintf(f, "FPSCR: %08x\n", (int)env->vfp.xregs[ARM_VFP_FPSCR]);
|
cpu_fprintf(f, "FPSCR: %08x\n", (int)env->vfp.xregs[ARM_VFP_FPSCR]);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user