提交 d43013e2 编写于 作者: D Dominik Csapak 提交者: Markus Armbruster

qapi: Turn ShutdownCause into QAPI enum

Needed so the patch after next can add ShutdownCause to QMP events
SHUTDOWN and RESET.
Signed-off-by: NDominik Csapak <d.csapak@proxmox.com>
Message-Id: <20181205110131.23049-2-d.csapak@proxmox.com>
Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
上级 f1634485
...@@ -31,26 +31,6 @@ VMChangeStateEntry *qemu_add_vm_change_state_handler(VMChangeStateHandler *cb, ...@@ -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 @@ ...@@ -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:
# #
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册