This option starts windbg server. Signed-off-by: Mihail Abakumov <mikhail.abaku...@ispras.ru> Signed-off-by: Pavel Dovgalyuk <dovga...@ispras.ru> Signed-off-by: Dmitriy Koltunov <koltu...@ispras.ru> --- qemu-options.hx | 8 ++++++++ vl.c | 8 ++++++++ 2 files changed, 16 insertions(+)
diff --git a/qemu-options.hx b/qemu-options.hx index 9f6e2adfff..1c84eb56d9 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -3544,6 +3544,14 @@ Shorthand for -gdb tcp::1234, i.e. open a gdbserver on TCP port 1234 (@pxref{gdb_usage}). ETEXI +DEF("windbg", HAS_ARG, QEMU_OPTION_windbg, \ + "-windbg wait for windbg connection\n", QEMU_ARCH_I386) +STEXI +@item -windbg +@findex -windbg +Wait for windbg connection. +ETEXI + DEF("d", HAS_ARG, QEMU_OPTION_d, \ "-d item1,... enable logging of specified items (use '-d help' for a list of log items)\n", QEMU_ARCH_ALL) diff --git a/vl.c b/vl.c index 8e247cc2a2..d6378cf03f 100644 --- a/vl.c +++ b/vl.c @@ -80,6 +80,7 @@ int main(int argc, char **argv) #include "sysemu/sysemu.h" #include "sysemu/numa.h" #include "exec/gdbstub.h" +#include "exec/windbgstub.h" #include "qemu/timer.h" #include "chardev/char.h" #include "qemu/bitmap.h" @@ -2436,6 +2437,7 @@ struct device_config { DEV_VIRTCON, /* -virtioconsole */ DEV_DEBUGCON, /* -debugcon */ DEV_GDB, /* -gdb, -s */ + DEV_WINDBG, /* -windbg */ DEV_SCLP, /* s390 sclp */ } type; const char *cmdline; @@ -3445,6 +3447,9 @@ int main(int argc, char **argv, char **envp) case QEMU_OPTION_gdb: add_device_config(DEV_GDB, optarg); break; + case QEMU_OPTION_windbg: + add_device_config(DEV_WINDBG, optarg); + break; case QEMU_OPTION_L: if (is_help_option(optarg)) { list_data_dirs = true; @@ -4586,6 +4591,9 @@ int main(int argc, char **argv, char **envp) exit(1); } + if (foreach_device_config(DEV_WINDBG, windbg_server_start) < 0) { + exit(1); + } if (foreach_device_config(DEV_SERIAL, serial_parse) < 0) exit(1); if (foreach_device_config(DEV_PARALLEL, parallel_parse) < 0)