diff options
Diffstat (limited to 'vl.c')
-rw-r--r-- | vl.c | 18 |
1 files changed, 8 insertions, 10 deletions
@@ -1724,7 +1724,7 @@ void qemu_system_guest_panicked(GuestPanicInformation *info) if (!no_shutdown) { qapi_event_send_guest_panicked(GUEST_PANIC_ACTION_POWEROFF, !!info, info, &error_abort); - qemu_system_shutdown_request(); + qemu_system_shutdown_request(SHUTDOWN_CAUSE_GUEST_PANIC); } if (info) { @@ -1741,13 +1741,12 @@ void qemu_system_guest_panicked(GuestPanicInformation *info) } } -void qemu_system_reset_request(void) +void qemu_system_reset_request(ShutdownCause reason) { if (no_reboot) { - /* TODO - add a parameter to allow callers to specify reason */ - shutdown_requested = SHUTDOWN_CAUSE_HOST_ERROR; + shutdown_requested = reason; } else { - reset_requested = SHUTDOWN_CAUSE_HOST_ERROR; + reset_requested = reason; } cpu_stop_current(); qemu_notify_event(); @@ -1818,12 +1817,11 @@ void qemu_system_killed(int signal, pid_t pid) qemu_notify_event(); } -void qemu_system_shutdown_request(void) +void qemu_system_shutdown_request(ShutdownCause reason) { - trace_qemu_system_shutdown_request(); - /* TODO - add a parameter to allow callers to specify reason */ - replay_shutdown_request(SHUTDOWN_CAUSE_HOST_ERROR); - shutdown_requested = SHUTDOWN_CAUSE_HOST_ERROR; + trace_qemu_system_shutdown_request(reason); + replay_shutdown_request(reason); + shutdown_requested = reason; qemu_notify_event(); } |