aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2020-05-06 14:06:00 +0100
committerPeter Maydell <peter.maydell@linaro.org>2020-05-06 14:06:00 +0100
commita36d64f43325fa503075cc9408ddabb69b32f829 (patch)
tree8760274204624178bdf051f53afdf7edc7880546 /include
parentea1329bb3a8d5cd25b70e3dbf73e7ded4d5ad756 (diff)
parenta976ed3ffdede7f64c89ac235d0154d048981b5f (diff)
Merge remote-tracking branch 'remotes/stsquad/tags/pull-testing-and-gdbstub-060520-1' into staging
Testing and gdbstub updates: - travis: drop macosx, tweak ppc64 native - cirrus: fix FreeBSD, guard against future breakage - gdbstub: support socket debug for linux-user - gdbstub: add multiarch tests - gdbstub: fixes for m68k # gpg: Signature made Wed 06 May 2020 09:33:17 BST # gpg: using RSA key 6685AE99E75167BCAFC8DF35FBD0DB095A9E2A44 # gpg: Good signature from "Alex Bennée (Master Work Key) <alex.bennee@linaro.org>" [full] # Primary key fingerprint: 6685 AE99 E751 67BC AFC8 DF35 FBD0 DB09 5A9E 2A44 * remotes/stsquad/tags/pull-testing-and-gdbstub-060520-1: target/m68k: fix gdb for m68xxx tests/tcg: add a multiarch linux-user gdb test tests/guest-debug: use the unix socket for linux-user tests gdbstub/linux-user: support debugging over a unix socket gdbstub: eliminate gdbserver_fd global tests/tcg: drop inferior.was_attached() test tests/tcg: better trap gdb failures gdbstub: Introduce gdb_get_float64() to get 64-bit float registers configure: favour gdb-multiarch if we have it .travis.yml: reduce the load on [ppc64] GCC check-tcg .cirrus.yml: bootstrap pkg unconditionally .cirrus.yml: bump FreeBSD to the current stable release .travis.yml: drop MacOSX .travis.yml: show free disk space at end of run Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'include')
-rw-r--r--include/exec/gdbstub.h25
1 files changed, 20 insertions, 5 deletions
diff --git a/include/exec/gdbstub.h b/include/exec/gdbstub.h
index 20e1072692..94d8f83e92 100644
--- a/include/exec/gdbstub.h
+++ b/include/exec/gdbstub.h
@@ -134,6 +134,17 @@ static inline int gdb_get_float32(GByteArray *array, float32 val)
return sizeof(buf);
}
+
+static inline int gdb_get_float64(GByteArray *array, float64 val)
+{
+ uint8_t buf[sizeof(CPU_DoubleU)];
+
+ stfq_p(buf, val);
+ g_byte_array_append(array, buf, sizeof(buf));
+
+ return sizeof(buf);
+}
+
static inline int gdb_get_zeroes(GByteArray *array, size_t len)
{
guint oldlen = array->len;
@@ -166,11 +177,15 @@ static inline uint8_t * gdb_get_reg_ptr(GByteArray *buf, int len)
#endif
-#ifdef CONFIG_USER_ONLY
-int gdbserver_start(int);
-#else
-int gdbserver_start(const char *port);
-#endif
+/**
+ * gdbserver_start: start the gdb server
+ * @port_or_device: connection spec for gdb
+ *
+ * For CONFIG_USER this is either a tcp port or a path to a fifo. For
+ * system emulation you can use a full chardev spec for your gdbserver
+ * port.
+ */
+int gdbserver_start(const char *port_or_device);
void gdbserver_cleanup(void);