From: Gleb Natapov <gleb@redhat.com>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: xen-devel@lists.xensource.com, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v3 3/6] suspend: add system_wakeup monitor command
Date: Thu, 9 Feb 2012 10:54:19 +0200 [thread overview]
Message-ID: <20120209085419.GD18866@redhat.com> (raw)
In-Reply-To: <1328698819-31269-4-git-send-email-kraxel@redhat.com>
On Wed, Feb 08, 2012 at 12:00:16PM +0100, Gerd Hoffmann wrote:
> This patch adds the system_wakeup monitor command which will simply
> wake up suspended guests.
>
We can report this one as power button wakeup.
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
> hmp-commands.hx | 14 ++++++++++++++
> hmp.c | 5 +++++
> hmp.h | 1 +
> qapi-schema.json | 11 +++++++++++
> qmp-commands.hx | 21 +++++++++++++++++++++
> qmp.c | 5 +++++
> 6 files changed, 57 insertions(+), 0 deletions(-)
>
> diff --git a/hmp-commands.hx b/hmp-commands.hx
> index 573b823..64b3656 100644
> --- a/hmp-commands.hx
> +++ b/hmp-commands.hx
> @@ -352,6 +352,20 @@ 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
> +
> + {
> .name = "gdbserver",
> .args_type = "device:s?",
> .params = "[device]",
> diff --git a/hmp.c b/hmp.c
> index 8ff8c94..3a54455 100644
> --- a/hmp.c
> +++ b/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)
> {
> Error *errp = NULL;
> diff --git a/hmp.h b/hmp.h
> index 18eecbd..5409464 100644
> --- a/hmp.h
> +++ b/hmp.h
> @@ -41,6 +41,7 @@ void hmp_cpu(Monitor *mon, const QDict *qdict);
> void hmp_memsave(Monitor *mon, const QDict *qdict);
> void hmp_pmemsave(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_set_link(Monitor *mon, const QDict *qdict);
> void hmp_block_passwd(Monitor *mon, const QDict *qdict);
> diff --git a/qapi-schema.json b/qapi-schema.json
> index d02ee86..226c1da 100644
> --- a/qapi-schema.json
> +++ b/qapi-schema.json
> @@ -999,6 +999,17 @@
> { 'command': 'cont' }
>
> ##
> +# @system_wakeup:
> +#
> +# Wakeup guest from suspend
> +#
> +# Since: 1.1
> +#
> +# Returns: nothing.
> +##
> +{ 'command': 'system_wakeup' }
> +
> +##
> # @inject-nmi:
> #
> # Injects an Non-Maskable Interrupt into all guest's VCPUs.
> diff --git a/qmp-commands.hx b/qmp-commands.hx
> index b5e2ab8..f5081e2 100644
> --- a/qmp-commands.hx
> +++ b/qmp-commands.hx
> @@ -212,6 +212,27 @@ Example:
> 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
> +
> + {
> .name = "system_reset",
> .args_type = "",
> .mhandler.cmd_new = qmp_marshal_input_system_reset,
> diff --git a/qmp.c b/qmp.c
> index 45052cc..9ff5ec3 100644
> --- a/qmp.c
> +++ b/qmp.c
> @@ -164,6 +164,11 @@ void qmp_cont(Error **errp)
> vm_start();
> }
>
> +void qmp_system_wakeup(Error **errp)
> +{
> + qemu_system_wakeup_request();
> +}
> +
> ObjectPropertyInfoList *qmp_qom_list(const char *path, Error **errp)
> {
> Object *obj;
> --
> 1.7.1
>
>
--
Gleb.
next prev parent reply other threads:[~2012-02-09 8:54 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-08 11:00 [Qemu-devel] [PATCH v3 0/6] initial suspend support Gerd Hoffmann
2012-02-08 11:00 ` [Qemu-devel] [PATCH v3 1/6] suspend: add infrastructure Gerd Hoffmann
2012-02-09 8:48 ` Gleb Natapov
2012-02-09 10:45 ` Gerd Hoffmann
2012-02-09 11:19 ` Gleb Natapov
2012-02-09 12:02 ` Gerd Hoffmann
2012-02-09 12:37 ` Gleb Natapov
2012-02-09 12:46 ` Gerd Hoffmann
2012-02-09 13:17 ` Gleb Natapov
2012-02-09 13:29 ` Gerd Hoffmann
2012-02-09 16:00 ` Gerd Hoffmann
2012-02-09 16:05 ` Gleb Natapov
2012-02-08 11:00 ` [Qemu-devel] [PATCH v3 2/6] suspend: switch acpi s3 to new infrastructure Gerd Hoffmann
2012-02-09 8:53 ` Gleb Natapov
2012-02-09 10:51 ` Gerd Hoffmann
2012-02-09 11:14 ` Gleb Natapov
2012-02-09 11:13 ` [Qemu-devel] [Xen-devel] " Stefano Stabellini
2012-02-09 11:17 ` [Qemu-devel] " Paolo Bonzini
2012-02-09 12:31 ` Gleb Natapov
2012-02-09 12:47 ` Paolo Bonzini
2012-02-09 12:53 ` Gleb Natapov
2012-02-08 11:00 ` [Qemu-devel] [PATCH v3 3/6] suspend: add system_wakeup monitor command Gerd Hoffmann
2012-02-09 8:54 ` Gleb Natapov [this message]
2012-02-08 11:00 ` [Qemu-devel] [PATCH v3 4/6] suspend: make ps/2 devices wakeup the guest Gerd Hoffmann
2012-02-08 11:00 ` [Qemu-devel] [PATCH v3 5/6] suspend: make serial ports " Gerd Hoffmann
2012-02-08 11:00 ` [Qemu-devel] [PATCH v3 6/6] suspend: make rtc alarm " Gerd Hoffmann
2012-02-09 8:56 ` Gleb Natapov
2012-02-09 12:00 ` Gerd Hoffmann
2012-02-09 12:24 ` Gleb Natapov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120209085419.GD18866@redhat.com \
--to=gleb@redhat.com \
--cc=kraxel@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).