target/arm: Change the type of vfp.regs

Backports commit 3f68b8a5a6862f856524bb347bf348ae364dd43c from qemu
This commit is contained in:
Lioncash 2018-02-07 09:57:37 -05:00
parent ef07c136b6
commit dd577f5ea5
No known key found for this signature in database
GPG key ID: 4E3C3CC1031BA9C7
3 changed files with 6 additions and 6 deletions

View file

@ -286,7 +286,7 @@ typedef struct CPUARMState {
* the two execution states, and means we do not need to explicitly * the two execution states, and means we do not need to explicitly
* map these registers when changing states. * map these registers when changing states.
*/ */
float64 regs[64]; uint64_t regs[64];
uint32_t xregs[16]; uint32_t xregs[16];
/* We store these fpcsr fields separately for convenience. */ /* We store these fpcsr fields separately for convenience. */

View file

@ -144,12 +144,12 @@ void aarch64_cpu_dump_state(CPUState *cs, FILE *f,
if (flags & CPU_DUMP_FPU) { if (flags & CPU_DUMP_FPU) {
int numvfpregs = 32; int numvfpregs = 32;
for (i = 0; i < numvfpregs; i += 2) { for (i = 0; i < numvfpregs; i += 2) {
uint64_t vlo = float64_val(env->vfp.regs[i * 2]); uint64_t vlo = env->vfp.regs[i * 2];
uint64_t vhi = float64_val(env->vfp.regs[(i * 2) + 1]); uint64_t vhi = env->vfp.regs[(i * 2) + 1];
cpu_fprintf(f, "q%02d=%016" PRIx64 ":%016" PRIx64 " ", cpu_fprintf(f, "q%02d=%016" PRIx64 ":%016" PRIx64 " ",
i, vhi, vlo); i, vhi, vlo);
vlo = float64_val(env->vfp.regs[(i + 1) * 2]); vlo = env->vfp.regs[(i + 1) * 2];
vhi = float64_val(env->vfp.regs[((i + 1) * 2) + 1]); vhi = env->vfp.regs[((i + 1) * 2) + 1];
cpu_fprintf(f, "q%02d=%016" PRIx64 ":%016" PRIx64 "\n", cpu_fprintf(f, "q%02d=%016" PRIx64 ":%016" PRIx64 "\n",
i + 1, vhi, vlo); i + 1, vhi, vlo);
} }

View file

@ -11731,7 +11731,7 @@ void arm_cpu_dump_state(CPUState *cs, FILE *f, fprintf_function cpu_fprintf,
numvfpregs += 16; numvfpregs += 16;
} }
for (i = 0; i < numvfpregs; i++) { for (i = 0; i < numvfpregs; i++) {
uint64_t v = float64_val(env->vfp.regs[i]); uint64_t v = env->vfp.regs[i];
cpu_fprintf(f, "s%02d=%08x s%02d=%08x d%02d=%016" PRIx64 "\n", cpu_fprintf(f, "s%02d=%08x s%02d=%08x d%02d=%016" PRIx64 "\n",
i * 2, (uint32_t)v, i * 2, (uint32_t)v,
i * 2 + 1, (uint32_t)(v >> 32), i * 2 + 1, (uint32_t)(v >> 32),