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>
This commit is contained in:
parent
6269086b01
commit
8db1f7be78
@ -462,6 +462,20 @@
|
||||
{ 'event': 'GUEST_CRASHLOADED',
|
||||
'data': { 'action': 'GuestPanicAction', '*info': 'GuestPanicInformation' } }
|
||||
|
||||
##
|
||||
# @GUEST_PVSHUTDOWN:
|
||||
#
|
||||
# Emitted when guest submits a shutdown request via pvpanic interface
|
||||
#
|
||||
# Since: 9.1
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
# <- { "event": "GUEST_PVSHUTDOWN",
|
||||
# "timestamp": { "seconds": 1648245259, "microseconds": 893771 } }
|
||||
##
|
||||
{ 'event': 'GUEST_PVSHUTDOWN' }
|
||||
|
||||
##
|
||||
# @GuestPanicAction:
|
||||
#
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user