In preparation for moving user/softmmu specific bits from the main
gdbstub file we need to separate the connection details to what will
eventually become an anonymous pointer.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
gdbstub/gdbstub.c | 99 +++++++++++++++++++++++++++--------------------
1 file changed, 58 insertions(+), 41 deletions(-)
diff --git a/gdbstub/gdbstub.c b/gdbstub/gdbstub.c
index be88ca0d71..14ce911bf2 100644
--- a/gdbstub/gdbstub.c
+++ b/gdbstub/gdbstub.c
@@ -342,6 +342,20 @@ enum RSState {
RS_CHKSUM1,
RS_CHKSUM2,
};
+
+#ifdef CONFIG_USER_ONLY
+typedef struct {
+ int fd;
+ char *socket_path;
+ int running_state;
+} GDBConnection;
+#else
+typedef struct {
+ CharBackend chr;
+ Chardev *mon_chr;
+} GDBConnection;
+#endif
+ GDBConnection *connection;
bool multiprocess;
GDBProcess *processes;
int process_num;
@@ -392,6 +399,12 @@ static void init_gdbserver_state(void)
gdbserver_state.supported_sstep_flags =
accel_supported_gdbstub_sstep_flags();
gdbserver_state.sstep_flags = SSTEP_ENABLE | SSTEP_NOIRQ | SSTEP_NOTIMER;
gdbserver_state.sstep_flags &= gdbserver_state.supported_sstep_flags;
+
+ /*
+ * The following is differs depending on USER/SOFTMMU, we just
+ * hid it in the typedef.
+ */
+ gdbserver_state.connection = g_new(GDBConnection, 1);