From 3c07f8e89488c208391863cc7e26d106d7c0e46e Mon Sep 17 00:00:00 2001 From: pbrook Date: Sun, 21 Jan 2007 16:47:01 +0000 Subject: [PATCH] Don't resume guest when gdb connection terminates and -S specified. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2343 c046a42c-6fe2-441c-8c8c-71466251a162 --- gdbstub.c | 3 ++- vl.c | 6 +++--- vl.h | 1 + 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/gdbstub.c b/gdbstub.c index 9015d625ce..2311a6c017 100644 --- a/gdbstub.c +++ b/gdbstub.c @@ -987,7 +987,8 @@ static void gdb_read(void *opaque) qemu_del_vm_stop_handler(gdb_vm_stopped, s); qemu_set_fd_handler(s->fd, NULL, NULL, NULL); qemu_free(s); - vm_start(); + if (autostart) + vm_start(); } else { for(i = 0; i < size; i++) gdb_read_byte(s, buf[i]); diff --git a/vl.c b/vl.c index 9f620cb1de..f92c989d48 100644 --- a/vl.c +++ b/vl.c @@ -172,6 +172,7 @@ int daemonize = 0; const char *option_rom[MAX_OPTION_ROMS]; int nb_option_roms; int semihosting_enabled = 0; +int autostart = 1; /***********************************************************/ /* x86 ISA bus support */ @@ -6530,7 +6531,6 @@ int main(int argc, char **argv) const char *kernel_filename, *kernel_cmdline; DisplayState *ds = &display_state; int cyls, heads, secs, translation; - int start_emulation = 1; char net_clients[MAX_NET_CLIENTS][256]; int nb_net_clients; int optind; @@ -6838,7 +6838,7 @@ int main(int argc, char **argv) bios_dir = optarg; break; case QEMU_OPTION_S: - start_emulation = 0; + autostart = 0; break; case QEMU_OPTION_k: keyboard_layout = optarg; @@ -7254,7 +7254,7 @@ int main(int argc, char **argv) { /* XXX: simplify init */ read_passwords(); - if (start_emulation) { + if (autostart) { vm_start(); } } diff --git a/vl.h b/vl.h index 6bc2d73f6a..543eb722c4 100644 --- a/vl.h +++ b/vl.h @@ -160,6 +160,7 @@ extern int usb_enabled; extern int smp_cpus; extern int no_quit; extern int semihosting_enabled; +extern int autostart; #define MAX_OPTION_ROMS 16 extern const char *option_rom[MAX_OPTION_ROMS];