On 11/30/19 9:45 AM, Alex Bennée wrote:
Signed-off-by: Alex Bennée <alex.ben...@linaro.org>

---
v2
   - take care of endianess of the whole 128 bit word
---
  include/exec/gdbstub.h | 13 +++++++++++++
  1 file changed, 13 insertions(+)

diff --git a/include/exec/gdbstub.h b/include/exec/gdbstub.h
index 08363969c14..59e366ba3af 100644
--- a/include/exec/gdbstub.h
+++ b/include/exec/gdbstub.h
@@ -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)


Reviewed-by: Philippe Mathieu-Daudé <phi...@redhat.com>


Reply via email to