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 qemu_del_vm_change_state_handler(VMChangeStateEntry *e);
|
||||||
void vm_state_notify(int running, RunState state);
|
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)
|
static inline bool shutdown_caused_by_guest(ShutdownCause cause)
|
||||||
{
|
{
|
||||||
return cause >= SHUTDOWN_CAUSE_GUEST_SHUTDOWN;
|
return cause >= SHUTDOWN_CAUSE_GUEST_SHUTDOWN;
|
||||||
|
|
|
@ -59,6 +59,40 @@
|
||||||
'running', 'save-vm', 'shutdown', 'suspended', 'watchdog',
|
'running', 'save-vm', 'shutdown', 'suspended', 'watchdog',
|
||||||
'guest-panicked', 'colo', 'preconfig' ] }
|
'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:
|
# @StatusInfo:
|
||||||
#
|
#
|
||||||
|
|
Loading…
Reference in New Issue