On 3/25/25 08:40, Philippe Mathieu-Daudé wrote:
CPU registers size is static and depends on the type of CPU.

Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org>
---
  target/mips/gdbstub.c | 7 ++++++-
  1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/target/mips/gdbstub.c b/target/mips/gdbstub.c
index b9fc667373e..84fd3de4137 100644
--- a/target/mips/gdbstub.c
+++ b/target/mips/gdbstub.c
@@ -75,11 +75,16 @@ int mips_cpu_gdb_read_register(CPUState *cs, GByteArray 
*mem_buf, int n)
      return 0;
  }
+static size_t mips_regsize(MIPSCPU *cpu)
+{
+    return mips_cpu_is_64bit(cpu) ? sizeof(uint64_t) : sizeof(uint32_t);
+}
+
  int mips_cpu_gdb_write_register(CPUState *cs, uint8_t *mem_buf, int n)
  {
      CPUMIPSState *env = cpu_env(cs);
      target_ulong tmp;
-    size_t regsize = sizeof(tmp);
+    size_t regsize = mips_regsize(MIPS_CPU(cs));
tmp = ldn_p(mem_buf, regsize);

Reviewed-by: Pierrick Bouvier <pierrick.bouv...@linaro.org>

Reply via email to