mirror of
https://github.com/mii443/qemu.git
synced 2025-12-03 11:08:25 +00:00
qmp: generalize watchdog-set-action to -no-reboot/-no-shutdown
Add a QMP command to allow for the behaviors specified by the
-no-reboot and -no-shutdown command line option to be set at runtime.
The new command is named set-action and takes optional arguments, named
after an event, that provide a corresponding action to take.
Example:
-> { "execute": "set-action",
"arguments": {
"reboot": "none",
"shutdown": "poweroff",
"watchdog": "debug" } }
<- { "return": {} }
Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Alejandro Jimenez <alejandro.j.jimenez@oracle.com>
Message-Id: <1607705564-26264-4-git-send-email-alejandro.j.jimenez@oracle.com>
[Split the series differently, with -action based on the QMP command. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
committed by
Paolo Bonzini
parent
ebe3444468
commit
e6dba04813
@@ -325,6 +325,34 @@
|
||||
'data': [ 'reset', 'shutdown', 'poweroff', 'pause', 'debug', 'none',
|
||||
'inject-nmi' ] }
|
||||
|
||||
##
|
||||
# @RebootAction:
|
||||
#
|
||||
# Possible QEMU actions upon guest reboot
|
||||
#
|
||||
# @none: Reset the VM
|
||||
#
|
||||
# @shutdown: Shutdown the VM and exit
|
||||
#
|
||||
# Since: 6.0
|
||||
##
|
||||
{ 'enum': 'RebootAction',
|
||||
'data': [ 'none', 'shutdown' ] }
|
||||
|
||||
##
|
||||
# @ShutdownAction:
|
||||
#
|
||||
# Possible QEMU actions upon guest shutdown
|
||||
#
|
||||
# @poweroff: Shutdown the VM and exit
|
||||
#
|
||||
# @pause: pause the VM#
|
||||
#
|
||||
# Since: 6.0
|
||||
##
|
||||
{ 'enum': 'ShutdownAction',
|
||||
'data': [ 'poweroff', 'pause' ] }
|
||||
|
||||
##
|
||||
# @watchdog-set-action:
|
||||
#
|
||||
@@ -334,6 +362,36 @@
|
||||
##
|
||||
{ 'command': 'watchdog-set-action', 'data' : {'action': 'WatchdogAction'} }
|
||||
|
||||
##
|
||||
# @set-action:
|
||||
#
|
||||
# Set the actions that will be taken by the emulator in response to guest
|
||||
# events.
|
||||
#
|
||||
# @reboot: @RebootAction action taken on guest reboot.
|
||||
#
|
||||
# @shutdown: @ShutdownAction action taken on guest shutdown.
|
||||
#
|
||||
# @watchdog: @WatchdogAction action taken when watchdog timer expires .
|
||||
#
|
||||
# Returns: Nothing on success.
|
||||
#
|
||||
# Since: 6.0
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
# -> { "execute": "set-action",
|
||||
# "arguments": { "reboot": "shutdown",
|
||||
# "shutdown" : "pause",
|
||||
# "watchdog": "inject-nmi" } }
|
||||
# <- { "return": {} }
|
||||
##
|
||||
{ 'command': 'set-action',
|
||||
'data': { '*reboot': 'RebootAction',
|
||||
'*shutdown': 'ShutdownAction',
|
||||
'*watchdog': 'WatchdogAction' },
|
||||
'allow-preconfig': true }
|
||||
|
||||
##
|
||||
# @GUEST_PANICKED:
|
||||
#
|
||||
|
||||
Reference in New Issue
Block a user