qapi: Turn ShutdownCause into QAPI enum
Needed so the patch after next can add ShutdownCause to QMP events SHUTDOWN and RESET. Signed-off-by: Dominik Csapak <d.csapak@proxmox.com> Message-Id: <20181205110131.23049-2-d.csapak@proxmox.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
parent
f163448536
commit
d43013e24d
@ -31,26 +31,6 @@ VMChangeStateEntry *qemu_add_vm_change_state_handler(VMChangeStateHandler *cb,
|
||||
void qemu_del_vm_change_state_handler(VMChangeStateEntry *e);
|
||||
void vm_state_notify(int running, RunState state);
|
||||
|
||||
/* Enumeration of various causes for shutdown. */
|
||||
typedef enum ShutdownCause {
|
||||
SHUTDOWN_CAUSE_NONE, /* No shutdown request pending */
|
||||
SHUTDOWN_CAUSE_HOST_ERROR, /* An error prevents further use of guest */
|
||||
SHUTDOWN_CAUSE_HOST_QMP, /* Reaction to a QMP command, like 'quit' */
|
||||
SHUTDOWN_CAUSE_HOST_SIGNAL, /* Reaction to a signal, such as SIGINT */
|
||||
SHUTDOWN_CAUSE_HOST_UI, /* Reaction to UI event, like window close */
|
||||
SHUTDOWN_CAUSE_GUEST_SHUTDOWN,/* Guest shutdown/suspend request, via
|
||||
ACPI or other hardware-specific means */
|
||||
SHUTDOWN_CAUSE_GUEST_RESET, /* Guest reset request, and command line
|
||||
turns that into a shutdown */
|
||||
SHUTDOWN_CAUSE_GUEST_PANIC, /* Guest panicked, and command line turns
|
||||
that into a shutdown */
|
||||
SHUTDOWN_CAUSE_SUBSYSTEM_RESET,/* Partial guest reset that does not trigger
|
||||
QMP events and ignores --no-reboot. This
|
||||
is useful for sanitize hypercalls on s390
|
||||
that are used during kexec/kdump/boot */
|
||||
SHUTDOWN_CAUSE__MAX,
|
||||
} ShutdownCause;
|
||||
|
||||
static inline bool shutdown_caused_by_guest(ShutdownCause cause)
|
||||
{
|
||||
return cause >= SHUTDOWN_CAUSE_GUEST_SHUTDOWN;
|
||||
|
@ -59,6 +59,40 @@
|
||||
'running', 'save-vm', 'shutdown', 'suspended', 'watchdog',
|
||||
'guest-panicked', 'colo', 'preconfig' ] }
|
||||
|
||||
##
|
||||
# @ShutdownCause:
|
||||
#
|
||||
# An enumeration of reasons for a Shutdown.
|
||||
#
|
||||
# @none: No shutdown request pending
|
||||
#
|
||||
# @host-error: An error prevents further use of guest
|
||||
#
|
||||
# @host-qmp: Reaction to a QMP command, like 'quit'
|
||||
#
|
||||
# @host-signal: Reaction to a signal, such as SIGINT
|
||||
#
|
||||
# @host-ui: Reaction to a UI event, like window close
|
||||
#
|
||||
# @guest-shutdown: Guest shutdown/suspend request, via ACPI or other
|
||||
# hardware-specific means
|
||||
#
|
||||
# @guest-reset: Guest reset request, and command line turns that into
|
||||
# a shutdown
|
||||
#
|
||||
# @guest-panic: Guest panicked, and command line turns that into a shutdown
|
||||
#
|
||||
# @subsystem-reset: Partial guest reset that does not trigger QMP events and
|
||||
# ignores --no-reboot. This is useful for sanitizing
|
||||
# hypercalls on s390 that are used during kexec/kdump/boot
|
||||
#
|
||||
##
|
||||
{ 'enum': 'ShutdownCause',
|
||||
# Beware, shutdown_caused_by_guest() depends on enumeration order
|
||||
'data': [ 'none', 'host-error', 'host-qmp', 'host-signal', 'host-ui',
|
||||
'guest-shutdown', 'guest-reset', 'guest-panic',
|
||||
'subsystem-reset'] }
|
||||
|
||||
##
|
||||
# @StatusInfo:
|
||||
#
|
||||
|
Loading…
Reference in New Issue
Block a user