* [Qemu-devel] [PATCH v2 0/2] qmp/hmp: add support for system_suspend @ 2015-11-28 3:01 Chen Hanxiao 2015-11-28 3:01 ` [Qemu-devel] [PATCH v2 1/2] qmp: " Chen Hanxiao 2015-11-28 3:01 ` [Qemu-devel] [PATCH v2 2/2] hmp: " Chen Hanxiao 0 siblings, 2 replies; 6+ messages in thread From: Chen Hanxiao @ 2015-11-28 3:01 UTC (permalink / raw) To: Luiz Capitulino, Markus Armbruster, eblake; +Cc: qemu-devel, Chen Hanxiao From: Chen Hanxiao <chenhanxiao@gmail.com> Chen Hanxiao (2): qmp: add support for system_suspend hmp: add support for system_suspend hmp-commands.hx | 14 ++++++++++++++ hmp.c | 5 +++++ hmp.h | 1 + qapi-schema.json | 9 +++++++++ qmp-commands.hx | 21 +++++++++++++++++++++ qmp.c | 5 +++++ 6 files changed, 55 insertions(+) -- 1.9.3 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Qemu-devel] [PATCH v2 1/2] qmp: add support for system_suspend 2015-11-28 3:01 [Qemu-devel] [PATCH v2 0/2] qmp/hmp: add support for system_suspend Chen Hanxiao @ 2015-11-28 3:01 ` Chen Hanxiao 2015-11-30 18:10 ` Eric Blake 2015-11-28 3:01 ` [Qemu-devel] [PATCH v2 2/2] hmp: " Chen Hanxiao 1 sibling, 1 reply; 6+ messages in thread From: Chen Hanxiao @ 2015-11-28 3:01 UTC (permalink / raw) To: Luiz Capitulino, Markus Armbruster, eblake; +Cc: qemu-devel, Chen Hanxiao From: Chen Hanxiao <chenhanxiao@gmail.com> This patch add support for system_suspend qmp command. Signed-off-by: Chen Hanxiao <chenhanxiao@gmail.com> --- qapi-schema.json | 9 +++++++++ qmp-commands.hx | 21 +++++++++++++++++++++ qmp.c | 5 +++++ 3 files changed, 35 insertions(+) diff --git a/qapi-schema.json b/qapi-schema.json index 8b1a423..78bbb29 100644 --- a/qapi-schema.json +++ b/qapi-schema.json @@ -3971,3 +3971,12 @@ ## { 'enum': 'ReplayMode', 'data': [ 'none', 'record', 'play' ] } + +## +# @system_suspend: +# +# Performs suspend operation of a guest. +# +# Since: 2.5 +## +{ 'command': 'system_suspend' } diff --git a/qmp-commands.hx b/qmp-commands.hx index 9d8b42f..4edb8bc 100644 --- a/qmp-commands.hx +++ b/qmp-commands.hx @@ -251,6 +251,27 @@ Example: EQMP { + .name = "system_suspend", + .args_type = "", + .mhandler.cmd_new = qmp_marshal_system_suspend, + }, + +SQMP +system_suspend +---------------- + +Send system suspend event. + +Arguments: None. + +Example: + +-> { "execute": "system_suspend" } +<- { "return": {} } + +EQMP + + { .name = "system_powerdown", .args_type = "", .mhandler.cmd_new = qmp_marshal_system_powerdown, diff --git a/qmp.c b/qmp.c index 0a1fa19..408e418 100644 --- a/qmp.c +++ b/qmp.c @@ -119,6 +119,11 @@ void qmp_system_powerdown(Error **erp) qemu_system_powerdown_request(); } +void qmp_system_suspend(Error **erp) +{ + qemu_system_suspend_request(); +} + void qmp_cpu(int64_t index, Error **errp) { /* Just do nothing */ -- 1.9.3 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] [PATCH v2 1/2] qmp: add support for system_suspend 2015-11-28 3:01 ` [Qemu-devel] [PATCH v2 1/2] qmp: " Chen Hanxiao @ 2015-11-30 18:10 ` Eric Blake 2015-12-01 14:41 ` Chen Hanxiao 0 siblings, 1 reply; 6+ messages in thread From: Eric Blake @ 2015-11-30 18:10 UTC (permalink / raw) To: Chen Hanxiao, Luiz Capitulino, Markus Armbruster; +Cc: qemu-devel [-- Attachment #1: Type: text/plain, Size: 1242 bytes --] On 11/27/2015 08:01 PM, Chen Hanxiao wrote: > From: Chen Hanxiao <chenhanxiao@gmail.com> > > This patch add support for system_suspend qmp command. > > Signed-off-by: Chen Hanxiao <chenhanxiao@gmail.com> > --- > qapi-schema.json | 9 +++++++++ > qmp-commands.hx | 21 +++++++++++++++++++++ > qmp.c | 5 +++++ > 3 files changed, 35 insertions(+) > > diff --git a/qapi-schema.json b/qapi-schema.json > index 8b1a423..78bbb29 100644 > --- a/qapi-schema.json > +++ b/qapi-schema.json > @@ -3971,3 +3971,12 @@ > ## > { 'enum': 'ReplayMode', > 'data': [ 'none', 'record', 'play' ] } > + > +## > +# @system_suspend: > +# > +# Performs suspend operation of a guest. > +# > +# Since: 2.5 > +## > +{ 'command': 'system_suspend' } You've missed 2.5; this should be since 2.6. Also, new QMP commands should be named with '-' rather than '_'; so this should be 'system-suspend'. (Yes, I know 'system_wakeup' already exists with the older spelling). How does this command differ from the existing ability to use qemu-guest-agent to request the guest put itself into suspend state? -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 604 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] [PATCH v2 1/2] qmp: add support for system_suspend 2015-11-30 18:10 ` Eric Blake @ 2015-12-01 14:41 ` Chen Hanxiao 0 siblings, 0 replies; 6+ messages in thread From: Chen Hanxiao @ 2015-12-01 14:41 UTC (permalink / raw) To: Eric Blake, Luiz Capitulino, Markus Armbruster; +Cc: qemu-devel On 12/01/2015 02:10 AM, Eric Blake wrote: > On 11/27/2015 08:01 PM, Chen Hanxiao wrote: >> From: Chen Hanxiao <chenhanxiao@gmail.com> >> >> This patch add support for system_suspend qmp command. >> >> Signed-off-by: Chen Hanxiao <chenhanxiao@gmail.com> >> --- >> qapi-schema.json | 9 +++++++++ >> qmp-commands.hx | 21 +++++++++++++++++++++ >> qmp.c | 5 +++++ >> 3 files changed, 35 insertions(+) >> >> diff --git a/qapi-schema.json b/qapi-schema.json >> index 8b1a423..78bbb29 100644 >> --- a/qapi-schema.json >> +++ b/qapi-schema.json >> @@ -3971,3 +3971,12 @@ >> ## >> { 'enum': 'ReplayMode', >> 'data': [ 'none', 'record', 'play' ] } >> + >> +## >> +# @system_suspend: >> +# >> +# Performs suspend operation of a guest. >> +# >> +# Since: 2.5 >> +## >> +{ 'command': 'system_suspend' } > You've missed 2.5; this should be since 2.6. Also, new QMP commands > should be named with '-' rather than '_'; so this should be > 'system-suspend'. (Yes, I know 'system_wakeup' already exists with the > older spelling). > > How does this command differ from the existing ability to use > qemu-guest-agent to request the guest put itself into suspend state? > I tried to add a suspend hmp command which not existed. As your previous comment, I added this for qmp. It duplicates with current qga commands though. So we just need that hmp patch with a qmp_system_suspend. Regards, - Chen ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Qemu-devel] [PATCH v2 2/2] hmp: add support for system_suspend 2015-11-28 3:01 [Qemu-devel] [PATCH v2 0/2] qmp/hmp: add support for system_suspend Chen Hanxiao 2015-11-28 3:01 ` [Qemu-devel] [PATCH v2 1/2] qmp: " Chen Hanxiao @ 2015-11-28 3:01 ` Chen Hanxiao 2015-11-30 18:12 ` Eric Blake 1 sibling, 1 reply; 6+ messages in thread From: Chen Hanxiao @ 2015-11-28 3:01 UTC (permalink / raw) To: Luiz Capitulino, Markus Armbruster, eblake; +Cc: qemu-devel, Chen Hanxiao From: Chen Hanxiao <chenhanxiao@gmail.com> This patch add support for system_suspend hmp command. Signed-off-by: Chen Hanxiao <chenhanxiao@gmail.com> --- hmp-commands.hx | 14 ++++++++++++++ hmp.c | 5 +++++ hmp.h | 1 + 3 files changed, 20 insertions(+) diff --git a/hmp-commands.hx b/hmp-commands.hx index bb52e4d..0ee9733 100644 --- a/hmp-commands.hx +++ b/hmp-commands.hx @@ -619,6 +619,20 @@ Power down the system (if supported). ETEXI { + .name = "system_suspend", + .args_type = "", + .params = "", + .help = "send system suspend event", + .mhandler.cmd = hmp_system_suspend, + }, + +STEXI +@item system_suspend +@findex system_suspend +Suspend the system (if supported). +ETEXI + + { .name = "sum", .args_type = "start:i,size:i", .params = "addr size", diff --git a/hmp.c b/hmp.c index 2140605..de4a5f7 100644 --- a/hmp.c +++ b/hmp.c @@ -885,6 +885,11 @@ void hmp_system_powerdown(Monitor *mon, const QDict *qdict) qmp_system_powerdown(NULL); } +void hmp_system_suspend(Monitor *mon, const QDict *qdict) +{ + qmp_system_suspend(NULL); +} + void hmp_cpu(Monitor *mon, const QDict *qdict) { int64_t cpu_index; diff --git a/hmp.h b/hmp.h index a8c5b5a..0064fa0 100644 --- a/hmp.h +++ b/hmp.h @@ -44,6 +44,7 @@ void hmp_quit(Monitor *mon, const QDict *qdict); void hmp_stop(Monitor *mon, const QDict *qdict); void hmp_system_reset(Monitor *mon, const QDict *qdict); void hmp_system_powerdown(Monitor *mon, const QDict *qdict); +void hmp_system_suspend(Monitor *mon, const QDict *qdict); void hmp_cpu(Monitor *mon, const QDict *qdict); void hmp_memsave(Monitor *mon, const QDict *qdict); void hmp_pmemsave(Monitor *mon, const QDict *qdict); -- 1.9.3 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] [PATCH v2 2/2] hmp: add support for system_suspend 2015-11-28 3:01 ` [Qemu-devel] [PATCH v2 2/2] hmp: " Chen Hanxiao @ 2015-11-30 18:12 ` Eric Blake 0 siblings, 0 replies; 6+ messages in thread From: Eric Blake @ 2015-11-30 18:12 UTC (permalink / raw) To: Chen Hanxiao, Luiz Capitulino, Markus Armbruster; +Cc: qemu-devel [-- Attachment #1: Type: text/plain, Size: 961 bytes --] On 11/27/2015 08:01 PM, Chen Hanxiao wrote: > From: Chen Hanxiao <chenhanxiao@gmail.com> > > This patch add support for system_suspend hmp command. > > Signed-off-by: Chen Hanxiao <chenhanxiao@gmail.com> > --- > hmp-commands.hx | 14 ++++++++++++++ > hmp.c | 5 +++++ > hmp.h | 1 + > 3 files changed, 20 insertions(+) > > +++ b/hmp.c > @@ -885,6 +885,11 @@ void hmp_system_powerdown(Monitor *mon, const QDict *qdict) > qmp_system_powerdown(NULL); > } > > +void hmp_system_suspend(Monitor *mon, const QDict *qdict) > +{ > + qmp_system_suspend(NULL); Why are you ignoring any potential errors? Wouldn't it be better to report an error, if one occurs? Or at least pass &error_abort to assert that no error can occur (matching the current implementation in patch 1/2 that never fails). -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 604 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2015-12-01 14:42 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-11-28 3:01 [Qemu-devel] [PATCH v2 0/2] qmp/hmp: add support for system_suspend Chen Hanxiao 2015-11-28 3:01 ` [Qemu-devel] [PATCH v2 1/2] qmp: " Chen Hanxiao 2015-11-30 18:10 ` Eric Blake 2015-12-01 14:41 ` Chen Hanxiao 2015-11-28 3:01 ` [Qemu-devel] [PATCH v2 2/2] hmp: " Chen Hanxiao 2015-11-30 18:12 ` Eric Blake
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).