Don't resume guest when gdb connection terminates and -S specified.
authorpbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162>
Sun, 21 Jan 2007 16:47:01 +0000 (16:47 +0000)
committerpbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162>
Sun, 21 Jan 2007 16:47:01 +0000 (16:47 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2343 c046a42c-6fe2-441c-8c8c-71466251a162

gdbstub.c
vl.c
vl.h

index 9015d62..2311a6c 100644 (file)
--- 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 9f620cb..f92c989 100644 (file)
--- 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 6bc2d73..543eb72 100644 (file)
--- 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];