diff options
author | Yongbok Kim | 2018-06-20 14:06:18 +0200 |
---|---|---|
committer | Aleksandar Markovic | 2018-06-27 20:13:50 +0200 |
commit | 8e0b373f8aa4b9feec7b44029455587e2e3d2b0f (patch) | |
tree | a0dd4b74251580a1130b3e401177919e788cb5c4 | |
parent | target/mips: Fix data type for offset (diff) | |
download | qemu-8e0b373f8aa4b9feec7b44029455587e2e3d2b0f.tar.gz qemu-8e0b373f8aa4b9feec7b44029455587e2e3d2b0f.tar.xz qemu-8e0b373f8aa4b9feec7b44029455587e2e3d2b0f.zip |
target/mips: Fix gdbstub to read/write 64 bit FP registers
Fix gdbstub to read/write 64 bit FP registers
Signed-off-by: Yongbok Kim <yongbok.kim@mips.com>
Reviewed-by: Aleksandar Markovic <aleksandar.markovic@mips.com>
Signed-off-by: Aleksandar Markovic <aleksandar.markovic@mips.com>
-rw-r--r-- | target/mips/gdbstub.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/target/mips/gdbstub.c b/target/mips/gdbstub.c index 6d1fb70f2c..18e0e6dce4 100644 --- a/target/mips/gdbstub.c +++ b/target/mips/gdbstub.c @@ -39,7 +39,7 @@ int mips_cpu_gdb_read_register(CPUState *cs, uint8_t *mem_buf, int n) return gdb_get_regl(mem_buf, (int32_t)env->active_fpu.fcr0); default: if (env->CP0_Status & (1 << CP0St_FR)) { - return gdb_get_regl(mem_buf, + return gdb_get_reg64(mem_buf, env->active_fpu.fpr[n - 38].d); } else { return gdb_get_regl(mem_buf, @@ -100,6 +100,7 @@ int mips_cpu_gdb_write_register(CPUState *cs, uint8_t *mem_buf, int n) break; default: if (env->CP0_Status & (1 << CP0St_FR)) { + uint64_t tmp = ldq_p(mem_buf); env->active_fpu.fpr[n - 38].d = tmp; } else { env->active_fpu.fpr[n - 38].w[FP_ENDIAN_IDX] = tmp; |