[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
- [Qemu-devel] [PATCH/RFC] vl: add no-panic option,
Christian Borntraeger <=