qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH/RFC] vl: add no-panic option


From: Christian Borntraeger
Subject: [Qemu-devel] [PATCH/RFC] vl: add no-panic option
Date: Mon, 17 Oct 2016 14:14:00 +0200

Some testcase will trigger a guest panic state. For testing purposes
it can be useful to exit QEMU anyway.

Signed-off-by: Christian Borntraeger <address@hidden>
---
 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
address@hidden -no-panic
address@hidden -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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]