From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1GEiVv-0005o7-Tj for qemu-devel@nongnu.org; Sun, 20 Aug 2006 04:18:35 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1GEiVt-0005nn-4q for qemu-devel@nongnu.org; Sun, 20 Aug 2006 04:18:35 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GEiVs-0005nh-Vi for qemu-devel@nongnu.org; Sun, 20 Aug 2006 04:18:33 -0400 Received: from [203.190.192.17] (helo=wasp.net.au) by monty-python.gnu.org with esmtp (Exim 4.52) id 1GEid0-0001mi-25 for qemu-devel@nongnu.org; Sun, 20 Aug 2006 04:25:54 -0400 Message-ID: <44E81AC4.8060008@wasp.net.au> Date: Sun, 20 Aug 2006 12:18:12 +0400 From: Brad Campbell MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] -no-reboot 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@nongnu.org G'day all, I'm developing a series of automated tests for win2k and winxp installs with varying features enabled/disabled. One thing I've found *really* handy is the ability to stop qemu rebooting and just have it exit every time the vm tries to reboot. (Enables me to use different command line options for different parts of the install). I've knocked up a rough and ready patch for this to vl.c, I just wonder if I cleaned it up and made it conform more to the actual qemu coding style whether anyone else would find this feature useful. (No help text for this yet) Anyway, included here for comment Index: vl.c =================================================================== RCS file: /cvsroot/qemu/qemu/vl.c,v retrieving revision 1.210 diff -u -r1.210 vl.c --- vl.c 19 Aug 2006 12:37:52 -0000 1.210 +++ vl.c 20 Aug 2006 08:15:04 -0000 @@ -161,6 +161,7 @@ #endif int acpi_enabled = 1; int fd_bootchk = 1; +int no_reboot = 0; /***********************************************************/ /* x86 ISA bus support */ @@ -5611,7 +5612,12 @@ void qemu_system_reset_request(void) { - reset_requested = 1; + printf("Qemu_system_reset_requested\n"); + if ( no_reboot ) { + shutdown_requested = 1; + } else { + reset_requested = 1; + } if (cpu_single_env) cpu_interrupt(cpu_single_env, CPU_INTERRUPT_EXIT); } @@ -5989,6 +5995,7 @@ QEMU_OPTION_smp, QEMU_OPTION_vnc, QEMU_OPTION_no_acpi, + QEMU_OPTION_no_reboot, }; typedef struct QEMUOption { @@ -6065,6 +6072,7 @@ { "usb", 0, QEMU_OPTION_usb }, { "cirrusvga", 0, QEMU_OPTION_cirrusvga }, { "no-acpi", 0, QEMU_OPTION_no_acpi }, + { "no-reboot", 0, QEMU_OPTION_no_reboot }, { NULL }, }; @@ -6708,6 +6716,10 @@ case QEMU_OPTION_no_acpi: acpi_enabled = 0; break; + case QEMU_OPTION_no_reboot: + printf("Rebooting Disabled\n"); + no_reboot = 1; + break; } } } Brad -- "Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so." -- Douglas Adams