suspend: add system_wakeup monitor command
This patch adds the system_wakeup monitor command which will simply wake up suspended guests. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
da98c8eb4c
commit
9b9df25a47
|
@ -349,6 +349,20 @@ STEXI
|
||||||
@item c or cont
|
@item c or cont
|
||||||
@findex cont
|
@findex cont
|
||||||
Resume emulation.
|
Resume emulation.
|
||||||
|
ETEXI
|
||||||
|
|
||||||
|
{
|
||||||
|
.name = "system_wakeup",
|
||||||
|
.args_type = "",
|
||||||
|
.params = "",
|
||||||
|
.help = "wakeup guest from suspend",
|
||||||
|
.mhandler.cmd = hmp_system_wakeup,
|
||||||
|
},
|
||||||
|
|
||||||
|
STEXI
|
||||||
|
@item system_wakeup
|
||||||
|
@findex system_wakeup
|
||||||
|
Wakeup guest from suspend.
|
||||||
ETEXI
|
ETEXI
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
5
hmp.c
5
hmp.c
|
@ -632,6 +632,11 @@ void hmp_cont(Monitor *mon, const QDict *qdict)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void hmp_system_wakeup(Monitor *mon, const QDict *qdict)
|
||||||
|
{
|
||||||
|
qmp_system_wakeup(NULL);
|
||||||
|
}
|
||||||
|
|
||||||
void hmp_inject_nmi(Monitor *mon, const QDict *qdict)
|
void hmp_inject_nmi(Monitor *mon, const QDict *qdict)
|
||||||
{
|
{
|
||||||
Error *errp = NULL;
|
Error *errp = NULL;
|
||||||
|
|
1
hmp.h
1
hmp.h
|
@ -41,6 +41,7 @@ void hmp_cpu(Monitor *mon, const QDict *qdict);
|
||||||
void hmp_memsave(Monitor *mon, const QDict *qdict);
|
void hmp_memsave(Monitor *mon, const QDict *qdict);
|
||||||
void hmp_pmemsave(Monitor *mon, const QDict *qdict);
|
void hmp_pmemsave(Monitor *mon, const QDict *qdict);
|
||||||
void hmp_cont(Monitor *mon, const QDict *qdict);
|
void hmp_cont(Monitor *mon, const QDict *qdict);
|
||||||
|
void hmp_system_wakeup(Monitor *mon, const QDict *qdict);
|
||||||
void hmp_inject_nmi(Monitor *mon, const QDict *qdict);
|
void hmp_inject_nmi(Monitor *mon, const QDict *qdict);
|
||||||
void hmp_set_link(Monitor *mon, const QDict *qdict);
|
void hmp_set_link(Monitor *mon, const QDict *qdict);
|
||||||
void hmp_block_passwd(Monitor *mon, const QDict *qdict);
|
void hmp_block_passwd(Monitor *mon, const QDict *qdict);
|
||||||
|
|
|
@ -998,6 +998,17 @@
|
||||||
##
|
##
|
||||||
{ 'command': 'cont' }
|
{ 'command': 'cont' }
|
||||||
|
|
||||||
|
##
|
||||||
|
# @system_wakeup:
|
||||||
|
#
|
||||||
|
# Wakeup guest from suspend. Does nothing in case the guest isn't suspended.
|
||||||
|
#
|
||||||
|
# Since: 1.1
|
||||||
|
#
|
||||||
|
# Returns: nothing.
|
||||||
|
##
|
||||||
|
{ 'command': 'system_wakeup' }
|
||||||
|
|
||||||
##
|
##
|
||||||
# @inject-nmi:
|
# @inject-nmi:
|
||||||
#
|
#
|
||||||
|
|
|
@ -209,6 +209,27 @@ Example:
|
||||||
-> { "execute": "cont" }
|
-> { "execute": "cont" }
|
||||||
<- { "return": {} }
|
<- { "return": {} }
|
||||||
|
|
||||||
|
EQMP
|
||||||
|
|
||||||
|
{
|
||||||
|
.name = "system_wakeup",
|
||||||
|
.args_type = "",
|
||||||
|
.mhandler.cmd_new = qmp_marshal_input_system_wakeup,
|
||||||
|
},
|
||||||
|
|
||||||
|
SQMP
|
||||||
|
system_wakeup
|
||||||
|
-------------
|
||||||
|
|
||||||
|
Wakeup guest from suspend.
|
||||||
|
|
||||||
|
Arguments: None.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
-> { "execute": "system_wakeup" }
|
||||||
|
<- { "return": {} }
|
||||||
|
|
||||||
EQMP
|
EQMP
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
5
qmp.c
5
qmp.c
|
@ -163,6 +163,11 @@ void qmp_cont(Error **errp)
|
||||||
vm_start();
|
vm_start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void qmp_system_wakeup(Error **errp)
|
||||||
|
{
|
||||||
|
qemu_system_wakeup_request(QEMU_WAKEUP_REASON_OTHER);
|
||||||
|
}
|
||||||
|
|
||||||
ObjectPropertyInfoList *qmp_qom_list(const char *path, Error **errp)
|
ObjectPropertyInfoList *qmp_qom_list(const char *path, Error **errp)
|
||||||
{
|
{
|
||||||
Object *obj;
|
Object *obj;
|
||||||
|
|
Loading…
Reference in a new issue