diff options
author | ths <ths@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-09-18 11:57:27 +0000 |
---|---|---|
committer | ths <ths@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-09-18 11:57:27 +0000 |
commit | f01be154589f6e137195d9cc28d1296d885e4eea (patch) | |
tree | b8effdfbfaddddcbbd81e876a62ff18da6686c0f /gdbstub.c | |
parent | a1cf28f469883f89e83d6026986254806e88c235 (diff) | |
download | qemu-f01be154589f6e137195d9cc28d1296d885e4eea.zip qemu-f01be154589f6e137195d9cc28d1296d885e4eea.tar.gz qemu-f01be154589f6e137195d9cc28d1296d885e4eea.tar.bz2 |
Move the active FPU registers into env again, and use more TCG registers
to access them.
Signed-off-by: Thiemo Seufer <ths@networkno.de>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5252 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'gdbstub.c')
-rw-r--r-- | gdbstub.c | 16 |
1 files changed, 8 insertions, 8 deletions
@@ -731,16 +731,16 @@ static int cpu_gdb_read_registers(CPUState *env, uint8_t *mem_buf) for (i = 0; i < 32; i++) { if (env->CP0_Status & (1 << CP0St_FR)) - *(target_ulong *)ptr = tswapl(env->fpu->fpr[i].d); + *(target_ulong *)ptr = tswapl(env->active_fpu.fpr[i].d); else - *(target_ulong *)ptr = tswap32(env->fpu->fpr[i].w[FP_ENDIAN_IDX]); + *(target_ulong *)ptr = tswap32(env->active_fpu.fpr[i].w[FP_ENDIAN_IDX]); ptr += sizeof(target_ulong); } - *(target_ulong *)ptr = (int32_t)tswap32(env->fpu->fcr31); + *(target_ulong *)ptr = (int32_t)tswap32(env->active_fpu.fcr31); ptr += sizeof(target_ulong); - *(target_ulong *)ptr = (int32_t)tswap32(env->fpu->fcr0); + *(target_ulong *)ptr = (int32_t)tswap32(env->active_fpu.fcr0); ptr += sizeof(target_ulong); } @@ -771,7 +771,7 @@ static unsigned int ieee_rm[] = float_round_down }; #define RESTORE_ROUNDING_MODE \ - set_float_rounding_mode(ieee_rm[env->fpu->fcr31 & 3], &env->fpu->fp_status) + set_float_rounding_mode(ieee_rm[env->active_fpu.fcr31 & 3], &env->active_fpu.fp_status) static void cpu_gdb_write_registers(CPUState *env, uint8_t *mem_buf, int size) { @@ -808,13 +808,13 @@ static void cpu_gdb_write_registers(CPUState *env, uint8_t *mem_buf, int size) for (i = 0; i < 32; i++) { if (env->CP0_Status & (1 << CP0St_FR)) - env->fpu->fpr[i].d = tswapl(*(target_ulong *)ptr); + env->active_fpu.fpr[i].d = tswapl(*(target_ulong *)ptr); else - env->fpu->fpr[i].w[FP_ENDIAN_IDX] = tswapl(*(target_ulong *)ptr); + env->active_fpu.fpr[i].w[FP_ENDIAN_IDX] = tswapl(*(target_ulong *)ptr); ptr += sizeof(target_ulong); } - env->fpu->fcr31 = tswapl(*(target_ulong *)ptr) & 0xFF83FFFF; + env->active_fpu.fcr31 = tswapl(*(target_ulong *)ptr) & 0xFF83FFFF; ptr += sizeof(target_ulong); /* The remaining registers are assumed to be read-only. */ |