gdbstub: add helper for 128 bit registers
authorAlex Bennée <alex.bennee@linaro.org>
Mon, 16 Mar 2020 17:21:37 +0000 (17:21 +0000)
committerAlex Bennée <alex.bennee@linaro.org>
Tue, 17 Mar 2020 17:38:38 +0000 (17:38 +0000)
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20200316172155.971-11-alex.bennee@linaro.org>

include/exec/gdbstub.h

index 08363969c14c0a22f90a1d4f18575721d4b11719..59e366ba3afd100efe983506fb3519cda822d978 100644 (file)
@@ -102,6 +102,19 @@ static inline int gdb_get_reg64(uint8_t *mem_buf, uint64_t val)
     return 8;
 }
 
+static inline int gdb_get_reg128(uint8_t *mem_buf, uint64_t val_hi,
+                                 uint64_t val_lo)
+{
+#ifdef TARGET_WORDS_BIGENDIAN
+    stq_p(mem_buf, val_hi);
+    stq_p(mem_buf + 8, val_lo);
+#else
+    stq_p(mem_buf, val_lo);
+    stq_p(mem_buf + 8, val_hi);
+#endif
+    return 16;
+}
+
 #if TARGET_LONG_BITS == 64
 #define gdb_get_regl(buf, val) gdb_get_reg64(buf, val)
 #define ldtul_p(addr) ldq_p(addr)