On 25.05.20 17:06, Philippe Mathieu-Daudé wrote: > Signed-off-by: Philippe Mathieu-Daudé <phi...@redhat.com> > --- > qapi/machine.json | 90 ++++++++++++++++++++++++++++++++++++++ > qapi/misc.json | 90 -------------------------------------- > include/sysemu/balloon.h | 2 +- > balloon.c | 2 +- > hw/virtio/virtio-balloon.c | 2 +- > monitor/hmp-cmds.c | 1 + > 6 files changed, 94 insertions(+), 93 deletions(-) > > diff --git a/qapi/machine.json b/qapi/machine.json > index ca7d58f0c9..ae42d69495 100644 > --- a/qapi/machine.json > +++ b/qapi/machine.json > @@ -921,3 +921,93 @@ > 'data': 'NumaOptions', > 'allow-preconfig': true > } > + > +## > +# @balloon: > +# > +# Request the balloon driver to change its balloon size. > +# > +# @value: the target logical size of the VM in bytes > +# We can deduce the size of the balloon using this formula: > +# logical_vm_size = vm_ram_size - balloon_size > +# From it we have: balloon_size = vm_ram_size - @value > +# > +# Returns: - Nothing on success > +# - If the balloon driver is enabled but not functional because the > KVM > +# kernel module cannot support it, KvmMissingCap > +# - If no balloon device is present, DeviceNotActive > +# > +# Notes: This command just issues a request to the guest. When it returns, > +# the balloon size may not have changed. A guest can change the > balloon > +# size independent of this command. > +# > +# Since: 0.14.0 > +# > +# Example: > +# > +# -> { "execute": "balloon", "arguments": { "value": 536870912 } } > +# <- { "return": {} } > +# > +# With a 2.5GiB guest this command inflated the ballon to 3GiB. > +# > +## > +{ 'command': 'balloon', 'data': {'value': 'int'} } > + > +## > +# @BalloonInfo: > +# > +# Information about the guest balloon device. > +# > +# @actual: the logical size of the VM in bytes > +# Formula used: logical_vm_size = vm_ram_size - balloon_size > +# > +# Since: 0.14.0 > +# > +## > +{ 'struct': 'BalloonInfo', 'data': {'actual': 'int' } } > + > +## > +# @query-balloon: > +# > +# Return information about the balloon device. > +# > +# Returns: - @BalloonInfo on success > +# - If the balloon driver is enabled but not functional because the > KVM > +# kernel module cannot support it, KvmMissingCap > +# - If no balloon device is present, DeviceNotActive > +# > +# Since: 0.14.0 > +# > +# Example: > +# > +# -> { "execute": "query-balloon" } > +# <- { "return": { > +# "actual": 1073741824, > +# } > +# } > +# > +## > +{ 'command': 'query-balloon', 'returns': 'BalloonInfo' } > + > +## > +# @BALLOON_CHANGE: > +# > +# Emitted when the guest changes the actual BALLOON level. This value is > +# equivalent to the @actual field return by the 'query-balloon' command > +# > +# @actual: the logical size of the VM in bytes > +# Formula used: logical_vm_size = vm_ram_size - balloon_size > +# > +# Note: this event is rate-limited. > +# > +# Since: 1.2 > +# > +# Example: > +# > +# <- { "event": "BALLOON_CHANGE", > +# "data": { "actual": 944766976 }, > +# "timestamp": { "seconds": 1267020223, "microseconds": 435656 } } > +# > +## > +{ 'event': 'BALLOON_CHANGE', > + 'data': { 'actual': 'int' } } > diff --git a/qapi/misc.json b/qapi/misc.json > index 446fc8ff83..26b5115638 100644 > --- a/qapi/misc.json > +++ b/qapi/misc.json > @@ -186,65 +186,6 @@ > { 'command': 'query-iothreads', 'returns': ['IOThreadInfo'], > 'allow-preconfig': true } > > -## > -# @BalloonInfo: > -# > -# Information about the guest balloon device. > -# > -# @actual: the logical size of the VM in bytes > -# Formula used: logical_vm_size = vm_ram_size - balloon_size > -# > -# Since: 0.14.0 > -# > -## > -{ 'struct': 'BalloonInfo', 'data': {'actual': 'int' } } > - > -## > -# @query-balloon: > -# > -# Return information about the balloon device. > -# > -# Returns: - @BalloonInfo on success > -# - If the balloon driver is enabled but not functional because the > KVM > -# kernel module cannot support it, KvmMissingCap > -# - If no balloon device is present, DeviceNotActive > -# > -# Since: 0.14.0 > -# > -# Example: > -# > -# -> { "execute": "query-balloon" } > -# <- { "return": { > -# "actual": 1073741824, > -# } > -# } > -# > -## > -{ 'command': 'query-balloon', 'returns': 'BalloonInfo' } > - > -## > -# @BALLOON_CHANGE: > -# > -# Emitted when the guest changes the actual BALLOON level. This value is > -# equivalent to the @actual field return by the 'query-balloon' command > -# > -# @actual: the logical size of the VM in bytes > -# Formula used: logical_vm_size = vm_ram_size - balloon_size > -# > -# Note: this event is rate-limited. > -# > -# Since: 1.2 > -# > -# Example: > -# > -# <- { "event": "BALLOON_CHANGE", > -# "data": { "actual": 944766976 }, > -# "timestamp": { "seconds": 1267020223, "microseconds": 435656 } } > -# > -## > -{ 'event': 'BALLOON_CHANGE', > - 'data': { 'actual': 'int' } } > - > ## > # @PciMemoryRange: > # > @@ -753,37 +694,6 @@ > ## > { 'command': 'inject-nmi' } > > -## > -# @balloon: > -# > -# Request the balloon driver to change its balloon size. > -# > -# @value: the target logical size of the VM in bytes > -# We can deduce the size of the balloon using this formula: > -# logical_vm_size = vm_ram_size - balloon_size > -# From it we have: balloon_size = vm_ram_size - @value > -# > -# Returns: - Nothing on success > -# - If the balloon driver is enabled but not functional because the > KVM > -# kernel module cannot support it, KvmMissingCap > -# - If no balloon device is present, DeviceNotActive > -# > -# Notes: This command just issues a request to the guest. When it returns, > -# the balloon size may not have changed. A guest can change the > balloon > -# size independent of this command. > -# > -# Since: 0.14.0 > -# > -# Example: > -# > -# -> { "execute": "balloon", "arguments": { "value": 536870912 } } > -# <- { "return": {} } > -# > -# With a 2.5GiB guest this command inflated the ballon to 3GiB. > -# > -## > -{ 'command': 'balloon', 'data': {'value': 'int'} } > - > ## > # @human-monitor-command: > # > diff --git a/include/sysemu/balloon.h b/include/sysemu/balloon.h > index aea0c44985..b3de4b92b9 100644 > --- a/include/sysemu/balloon.h > +++ b/include/sysemu/balloon.h > @@ -15,7 +15,7 @@ > #define QEMU_BALLOON_H > > #include "exec/cpu-common.h" > -#include "qapi/qapi-types-misc.h" > +#include "qapi/qapi-types-machine.h" > > typedef void (QEMUBalloonEvent)(void *opaque, ram_addr_t target); > typedef void (QEMUBalloonStatus)(void *opaque, BalloonInfo *info); > diff --git a/balloon.c b/balloon.c > index f104b42961..ee9c59252d 100644 > --- a/balloon.c > +++ b/balloon.c > @@ -30,7 +30,7 @@ > #include "sysemu/balloon.h" > #include "trace-root.h" > #include "qapi/error.h" > -#include "qapi/qapi-commands-misc.h" > +#include "qapi/qapi-commands-machine.h" > #include "qapi/qmp/qerror.h" > > static QEMUBalloonEvent *balloon_event_fn; > diff --git a/hw/virtio/virtio-balloon.c b/hw/virtio/virtio-balloon.c > index 065cd450f1..ec3aac1e80 100644 > --- a/hw/virtio/virtio-balloon.c > +++ b/hw/virtio/virtio-balloon.c > @@ -24,7 +24,7 @@ > #include "hw/virtio/virtio-balloon.h" > #include "exec/address-spaces.h" > #include "qapi/error.h" > -#include "qapi/qapi-events-misc.h" > +#include "qapi/qapi-events-machine.h" > #include "qapi/visitor.h" > #include "trace.h" > #include "qemu/error-report.h" > diff --git a/monitor/hmp-cmds.c b/monitor/hmp-cmds.c > index 9c61e769ca..376590c073 100644 > --- a/monitor/hmp-cmds.c > +++ b/monitor/hmp-cmds.c > @@ -32,6 +32,7 @@ > #include "qapi/qapi-commands-block.h" > #include "qapi/qapi-commands-char.h" > #include "qapi/qapi-commands-control.h" > +#include "qapi/qapi-commands-machine.h" > #include "qapi/qapi-commands-migration.h" > #include "qapi/qapi-commands-misc.h" > #include "qapi/qapi-commands-net.h" >
Reviewed-by: David Hildenbrand <da...@redhat.com> I yet have to craft a patch to fixup the wrong documentation :) -- Thanks, David / dhildenb