From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58873) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bw7NZ-0005wV-MB for qemu-devel@nongnu.org; Mon, 17 Oct 2016 08:50:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bw7NU-0007pJ-QQ for qemu-devel@nongnu.org; Mon, 17 Oct 2016 08:50:57 -0400 Received: from mx5-phx2.redhat.com ([209.132.183.37]:58785) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1bw7NU-0007ov-Hm for qemu-devel@nongnu.org; Mon, 17 Oct 2016 08:50:52 -0400 Date: Mon, 17 Oct 2016 08:50:47 -0400 (EDT) From: Paolo Bonzini Message-ID: <556323133.4026709.1476708647964.JavaMail.zimbra@redhat.com> In-Reply-To: <1476706440-112198-1-git-send-email-borntraeger@de.ibm.com> References: <1476706440-112198-1-git-send-email-borntraeger@de.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH/RFC] vl: add no-panic option List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Christian Borntraeger Cc: qemu-devel@nongnu.org, Markus Armbruster > Some testcase will trigger a guest panic state. For testing purposes > it can be useful to exit QEMU anyway. I wonder if this should be done by default *unless* -no-shutdown is provided. This would require some planning (and delay this to 2.9, in all likelihood), but it probably would be pretty nice for general usage. Paolo > Signed-off-by: Christian Borntraeger > --- > qemu-options.hx | 9 +++++++++ > vl.c | 6 ++++++ > 2 files changed, 15 insertions(+) > > diff --git a/qemu-options.hx b/qemu-options.hx > index 01f01df..ee6d3d0 100644 > --- a/qemu-options.hx > +++ b/qemu-options.hx > @@ -3301,6 +3301,15 @@ This allows for instance switching to monitor to > commit changes to the > disk image. > ETEXI > > +DEF("no-panic", 0, QEMU_OPTION_no_panic, \ > + "-no-panic exit QEMU also in guest panic state\n", QEMU_ARCH_ALL) > +STEXI > +@item -no-panic > +@findex -no-panic > +Exit QEMU on guest panic instead of keeping it alive. This allows for > +instance running tests that are known to panic at the end. > +ETEXI > + > DEF("loadvm", HAS_ARG, QEMU_OPTION_loadvm, \ > "-loadvm [tag|id]\n" \ > " start right away with a saved state (loadvm in > monitor)\n", > diff --git a/vl.c b/vl.c > index f3abd99..57e1d91 100644 > --- a/vl.c > +++ b/vl.c > @@ -164,6 +164,7 @@ int no_hpet = 0; > int fd_bootchk = 1; > static int no_reboot; > int no_shutdown = 0; > +int no_panic = 0; > int cursor_hide = 1; > int graphic_rotate = 0; > const char *watchdog; > @@ -1774,6 +1775,8 @@ void qemu_system_reset(bool report) > > void qemu_system_guest_panicked(void) > { > + if (no_panic) > + return qemu_system_shutdown_request(); > if (current_cpu) { > current_cpu->crash_occurred = true; > } > @@ -3780,6 +3783,9 @@ int main(int argc, char **argv, char **envp) > case QEMU_OPTION_no_shutdown: > no_shutdown = 1; > break; > + case QEMU_OPTION_no_panic: > + no_panic = 1; > + break; > case QEMU_OPTION_show_cursor: > cursor_hide = 0; > break; > -- > 2.5.5 > >