From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JjjDg-0005Ub-Q5 for qemu-devel@nongnu.org; Wed, 09 Apr 2008 18:56:44 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JjjDf-0005Tq-H8 for qemu-devel@nongnu.org; Wed, 09 Apr 2008 18:56:44 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JjjDf-0005TY-3s for qemu-devel@nongnu.org; Wed, 09 Apr 2008 18:56:43 -0400 Received: from wa-out-1112.google.com ([209.85.146.181]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1JjjDe-0003vY-L1 for qemu-devel@nongnu.org; Wed, 09 Apr 2008 18:56:42 -0400 Received: by wa-out-1112.google.com with SMTP id k22so2622414waf.18 for ; Wed, 09 Apr 2008 15:56:39 -0700 (PDT) Message-ID: <83a4d4ca0804091556i7e16f460j3cec0afe9f2ccbaa@mail.gmail.com> Date: Thu, 10 Apr 2008 00:56:38 +0200 From: "Eduardo Felipe" MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_12102_10593841.1207781798726" Subject: [Qemu-devel] [PATCH] Stop before shutdown Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel ------=_Part_12102_10593841.1207781798726 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi, Attached patch adds a new option to stop the emulation just before shutdown. This allows switching to monitor for selective committing of snapshoted devices and such. Regards, Edu --- vl.c Thu Apr 10 00:36:35 2008 +++ vl.c Thu Apr 10 00:36:45 2008 @@ -215,6 +215,7 @@ int acpi_enabled = 1; int fd_bootchk = 1; int no_reboot = 0; +int stop_shutdown = 0; int cursor_hide = 1; int graphic_rotate = 0; int daemonize = 0; @@ -7570,7 +7571,12 @@ if (shutdown_requested) { ret = EXCP_INTERRUPT; - break; + if (stop_shutdown) { + vm_stop(0); + stop_shutdown = 0; + } + else + break; } if (reset_requested) { reset_requested = 0; @@ -7729,6 +7735,7 @@ "-curses use a curses/ncurses interface instead of SDL\n" #endif "-no-reboot exit instead of rebooting\n" + "-stop-shutdown stop before shutdown\n" "-loadvm file start right away with a saved state (loadvm in monitor)\n" "-vnc display start a VNC server on display\n" #ifndef _WIN32 @@ -7835,6 +7842,7 @@ QEMU_OPTION_no_acpi, QEMU_OPTION_curses, QEMU_OPTION_no_reboot, + QEMU_OPTION_stop_shutdown, QEMU_OPTION_show_cursor, QEMU_OPTION_daemonize, QEMU_OPTION_option_rom, @@ -7940,6 +7948,7 @@ { "vmwarevga", 0, QEMU_OPTION_vmsvga }, { "no-acpi", 0, QEMU_OPTION_no_acpi }, { "no-reboot", 0, QEMU_OPTION_no_reboot }, + { "stop-shutdown", 0, QEMU_OPTION_stop_shutdown }, { "show-cursor", 0, QEMU_OPTION_show_cursor }, { "daemonize", 0, QEMU_OPTION_daemonize }, { "option-rom", HAS_ARG, QEMU_OPTION_option_rom }, @@ -8728,6 +8737,9 @@ break; case QEMU_OPTION_no_reboot: no_reboot = 1; + break; + case QEMU_OPTION_stop_shutdown: + stop_shutdown = 1; break; case QEMU_OPTION_show_cursor: cursor_hide = 0; ------=_Part_12102_10593841.1207781798726 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi,

Attached patch adds a new option to stop the emulation just before shutdown. This allows switching to monitor for selective committing of snapshoted devices and such.

Regards,
Edu



--- vl.c    Thu Apr 10 00:36:35 2008
+++ vl.c    Thu Apr 10 00:36:45 2008
@@ -215,6 +215,7 @@
 int acpi_enabled = 1;
 int fd_bootchk = 1;
 int no_reboot = 0;
+int stop_shutdown = 0;
 int cursor_hide = 1;
 int graphic_rotate = 0;
 int daemonize = 0;
@@ -7570,7 +7571,12 @@
 
             if (shutdown_requested) {
                 ret = EXCP_INTERRUPT;
-                break;
+                if (stop_shutdown) {
+                    vm_stop(0);
+                    stop_shutdown = 0;
+                }
+                else
+                    break;
             }
             if (reset_requested) {
                 reset_requested = 0;
@@ -7729,6 +7735,7 @@
            "-curses         use a curses/ncurses interface instead of SDL\n"
 #endif
            "-no-reboot      exit instead of rebooting\n"
+           "-stop-shutdown  stop before shutdown\n"
            "-loadvm file    start right away with a saved state (loadvm in monitor)\n"
        "-vnc display    start a VNC server on display\n"
 #ifndef _WIN32
@@ -7835,6 +7842,7 @@
     QEMU_OPTION_no_acpi,
     QEMU_OPTION_curses,
     QEMU_OPTION_no_reboot,
+    QEMU_OPTION_stop_shutdown,
     QEMU_OPTION_show_cursor,
     QEMU_OPTION_daemonize,
     QEMU_OPTION_option_rom,
@@ -7940,6 +7948,7 @@
     { "vmwarevga", 0, QEMU_OPTION_vmsvga },
     { "no-acpi", 0, QEMU_OPTION_no_acpi },
     { "no-reboot", 0, QEMU_OPTION_no_reboot },
+    { "stop-shutdown", 0, QEMU_OPTION_stop_shutdown },
     { "show-cursor", 0, QEMU_OPTION_show_cursor },
     { "daemonize", 0, QEMU_OPTION_daemonize },
     { "option-rom", HAS_ARG, QEMU_OPTION_option_rom },
@@ -8728,6 +8737,9 @@
                 break;
             case QEMU_OPTION_no_reboot:
                 no_reboot = 1;
+                break;
+            case QEMU_OPTION_stop_shutdown:
+                stop_shutdown = 1;
                 break;
             case QEMU_OPTION_show_cursor:
                 cursor_hide = 0;


------=_Part_12102_10593841.1207781798726--