aboutsummaryrefslogtreecommitdiff
path: root/system
diff options
context:
space:
mode:
authorAlejandro Jimenez <alejandro.j.jimenez@oracle.com>2024-05-27 08:27:52 +0200
committerMichael S. Tsirkin <mst@redhat.com>2024-07-01 17:16:04 -0400
commit8db1f7be788b23f8eca189fe4546298ed387e9cb (patch)
treef6d33bad23cadad45c1fd2668f0c483f3ff241c0 /system
parent6269086b0179e3d70750672174ed7fbd29ac7eaa (diff)
downloadqemu-8db1f7be788b23f8eca189fe4546298ed387e9cb.zip
qemu-8db1f7be788b23f8eca189fe4546298ed387e9cb.tar.gz
qemu-8db1f7be788b23f8eca189fe4546298ed387e9cb.tar.bz2
pvpanic: Emit GUEST_PVSHUTDOWN QMP event on pvpanic shutdown signal
Emit a QMP event on receiving a PVPANIC_SHUTDOWN event. Even though a typical SHUTDOWN event will be sent, it will be indistinguishable from a shutdown originating from other cases (e.g. KVM exit due to KVM_SYSTEM_EVENT_SHUTDOWN) that also issue the guest-shutdown cause. A management layer application can detect the new GUEST_PVSHUTDOWN event to determine if the guest is using the pvpanic interface to request shutdowns. Signed-off-by: Alejandro Jimenez <alejandro.j.jimenez@oracle.com> Message-Id: <20240527-pvpanic-shutdown-v8-6-5a28ec02558b@t-8ch.de> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'system')
-rw-r--r--system/runstate.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/system/runstate.c b/system/runstate.c
index fc49fd3..c833316 100644
--- a/system/runstate.c
+++ b/system/runstate.c
@@ -586,6 +586,7 @@ void qemu_system_guest_crashloaded(GuestPanicInformation *info)
void qemu_system_guest_pvshutdown(void)
{
+ qapi_event_send_guest_pvshutdown();
qemu_system_shutdown_request(SHUTDOWN_CAUSE_GUEST_SHUTDOWN);
}