QAPI patches patches for 2023-04-28

-----BEGIN PGP SIGNATURE-----
 
 iQJGBAABCAAwFiEENUvIs9frKmtoZ05fOHC0AOuRhlMFAmRLlpsSHGFybWJydUBy
 ZWRoYXQuY29tAAoJEDhwtADrkYZTTjwP/iezbnBFv55HxaRFisEpBom7skXakV1r
 0KTyYNo0BatS01yVlX7IOh37ZVmoBHrpbs0SLb2V5/uVALQBvmlnhUCCQ+BJwhJF
 JON6yjZRKUikVKn8CGj0ql9KDF6bC/T1ByFEotGc7SBMCx+FWuGXnmVzwOKOK2O3
 XAHG1P04wlxuyHMt3V7qqbc5IyzZIEHLbEitDhQM/6quQmwx4NzFR+JwvzUXCok1
 F7cEt0cKbE3JZHSXWIVTOuseeZR8vnk3giKBgFOetqhVorGusiTPMQwpDPvvgKGn
 fkg2l5SZQz9hSDfuzCKpJSQDqO8ji+62fHci9+PPpG10raoMiwCiuhP9yYECYekM
 7BcAY7fItrUB+x+vjm8JRY15JxOT8ouHLfyknNLOwow8QwtsiNn35VlRJU7O+k+D
 gk9qvwl1RoLUSXzOo6Ye1NvzF8oMZ8o8f0vmYC+W3sdg89U9QnRrpCaX8YCytLnd
 rEXJiL26mg54yXrWShIzLvC33//sz7AvH6IjwrRt0ZQu7ANRJsNmYY9S1THAJBKW
 b9hY3Aosw8Advt0RUFkYr/PndZp/gxDpbtOCIkKZkti6XRkY89ExPk6zVmeo8miw
 DeEo1kRtzKYDC7ZU0yp73MZDSmUt17L1AfdgS0QuCQCfPHsa8LwtZoQmRIihT/Bo
 GZTLIZPiVC79
 =mkwX
 -----END PGP SIGNATURE-----

Merge tag 'pull-qapi-2023-04-28' of https://repo.or.cz/qemu/armbru into staging

QAPI patches patches for 2023-04-28

# -----BEGIN PGP SIGNATURE-----
#
# iQJGBAABCAAwFiEENUvIs9frKmtoZ05fOHC0AOuRhlMFAmRLlpsSHGFybWJydUBy
# ZWRoYXQuY29tAAoJEDhwtADrkYZTTjwP/iezbnBFv55HxaRFisEpBom7skXakV1r
# 0KTyYNo0BatS01yVlX7IOh37ZVmoBHrpbs0SLb2V5/uVALQBvmlnhUCCQ+BJwhJF
# JON6yjZRKUikVKn8CGj0ql9KDF6bC/T1ByFEotGc7SBMCx+FWuGXnmVzwOKOK2O3
# XAHG1P04wlxuyHMt3V7qqbc5IyzZIEHLbEitDhQM/6quQmwx4NzFR+JwvzUXCok1
# F7cEt0cKbE3JZHSXWIVTOuseeZR8vnk3giKBgFOetqhVorGusiTPMQwpDPvvgKGn
# fkg2l5SZQz9hSDfuzCKpJSQDqO8ji+62fHci9+PPpG10raoMiwCiuhP9yYECYekM
# 7BcAY7fItrUB+x+vjm8JRY15JxOT8ouHLfyknNLOwow8QwtsiNn35VlRJU7O+k+D
# gk9qvwl1RoLUSXzOo6Ye1NvzF8oMZ8o8f0vmYC+W3sdg89U9QnRrpCaX8YCytLnd
# rEXJiL26mg54yXrWShIzLvC33//sz7AvH6IjwrRt0ZQu7ANRJsNmYY9S1THAJBKW
# b9hY3Aosw8Advt0RUFkYr/PndZp/gxDpbtOCIkKZkti6XRkY89ExPk6zVmeo8miw
# DeEo1kRtzKYDC7ZU0yp73MZDSmUt17L1AfdgS0QuCQCfPHsa8LwtZoQmRIihT/Bo
# GZTLIZPiVC79
# =mkwX
# -----END PGP SIGNATURE-----
# gpg: Signature made Fri 28 Apr 2023 10:49:15 AM BST
# gpg:                using RSA key 354BC8B3D7EB2A6B68674E5F3870B400EB918653
# gpg:                issuer "armbru@redhat.com"
# gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" [undefined]
# gpg:                 aka "Markus Armbruster <armbru@pond.sub.org>" [undefined]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867  4E5F 3870 B400 EB91 8653

* tag 'pull-qapi-2023-04-28' of https://repo.or.cz/qemu/armbru:
  docs/devel/qapi-code-gen: Describe some doc markup pitfalls
  qapi storage-daemon/qapi: Fix documentation section structure
  qapi: Format since information the conventional way: (since X.Y)
  qapi: Fix misspelled section tags in doc comments
  qapi: Replace ad hoc "since" documentation by member documentation
  qapi: Fix argument documentation markup
  qga/qapi-schema: Fix member documentation markup
  qapi: Fix unintended definition lists in documentation
  qapi: Fix bullet list markup in documentation
  qapi: Delete largely misleading "Stability Considerations"
  qapi: Tidy up examples
  qapi: @foo should be used to reference, not ``foo``
  qapi/block-core: Clean up after removal of dirty bitmap @status
  qapi: Fix up references to long gone error classes
  qapi: Fix misspelled references
  qga/qapi-schema: Fix a misspelled reference
  qga/qapi-schema: Tidy up documentation of guest-fsfreeze-status

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
Richard Henderson 2023-04-28 23:34:54 +01:00
commit 9b112b1b79
27 changed files with 231 additions and 169 deletions

View File

@ -924,14 +924,17 @@ first character of the first line.
The usual ****strong****, *\*emphasized\** and ````literal```` markup
should be used. If you need a single literal ``*``, you will need to
backslash-escape it. As an extension beyond the usual rST syntax, you
can also use ``@foo`` to reference a name in the schema; this is rendered
the same way as ````foo````.
backslash-escape it.
Use ``@foo`` to reference a name in the schema. This is an rST
extension. It is rendered the same way as ````foo````, but carries
additional meaning.
Example::
##
# Some text foo with **bold** and *emphasis*
#
# 1. with a list
# 2. like that
#
@ -1057,6 +1060,59 @@ For example::
'returns': ['BlockStats'] }
Markup pitfalls
~~~~~~~~~~~~~~~
A blank line is required between list items and paragraphs. Without
it, the list may not be recognized, resulting in garbled output. Good
example::
# An event's state is modified if:
#
# - its name matches the @name pattern, and
# - if @vcpu is given, the event has the "vcpu" property.
Without the blank line this would be a single paragraph.
Indentation matters. Bad example::
# @none: None (no memory side cache in this proximity domain,
# or cache associativity unknown)
The description is parsed as a definition list with term "None (no
memory side cache in this proximity domain," and definition "or cache
associativity unknown)".
Section tags are case-sensitive and end with a colon. Good example::
# Since: 7.1
Bad examples (all ordinary paragraphs)::
# since: 7.1
# Since 7.1
# Since : 7.1
Likewise, member descriptions require a colon. Good example::
# @interface-id: Interface ID
Bad examples (all ordinary paragraphs)::
# @interface-id Interface ID
# @interface-id : Interface ID
Undocumented members are not flagged, yet. Instead, the generated
documentation describes them as "Not documented". Think twice before
adding more undocumented members.
When you change documentation comments, please check the generated
documentation comes out as intended!
Client JSON Protocol introspection
==================================

View File

@ -258,7 +258,7 @@
#
# @mode: Describes how the firmware build handles code versus variable
# storage. If not present, it must be treated as if it was
# configured with value ``split``. Since: 7.0.0
# configured with value @split. Since: 7.0.0
#
# @executable: Identifies the firmware executable. The @mode
# indicates whether there will be an associated
@ -267,13 +267,13 @@
# -drive if=none,id=pflash0,readonly=on,file=@executable.@filename,format=@executable.@format
# -machine pflash0=pflash0
# or equivalent -blockdev instead of -drive. When
# @mode is ``combined`` the executable must be
# @mode is @combined the executable must be
# cloned before use and configured with readonly=off.
# With QEMU versions older than 4.0, you have to use
# -drive if=pflash,unit=0,readonly=on,file=@executable.@filename,format=@executable.@format
#
# @nvram-template: Identifies the NVRAM template compatible with
# @executable, when @mode is set to ``split``,
# @executable, when @mode is set to @split,
# otherwise it should not be present.
# Management software instantiates an
# individual copy -- a specific NVRAM file -- from

View File

@ -488,42 +488,42 @@
#
# @image: the info of image used (since: 1.6)
#
# @bps_max: total throughput limit during bursts,
# in bytes (Since 1.7)
# @bps_max: total throughput limit during bursts, in bytes
# (Since 1.7)
#
# @bps_rd_max: read throughput limit during bursts,
# in bytes (Since 1.7)
# @bps_rd_max: read throughput limit during bursts, in bytes
# (Since 1.7)
#
# @bps_wr_max: write throughput limit during bursts,
# in bytes (Since 1.7)
# @bps_wr_max: write throughput limit during bursts, in bytes
# (Since 1.7)
#
# @iops_max: total I/O operations per second during bursts,
# in bytes (Since 1.7)
# @iops_max: total I/O operations per second during bursts, in bytes
# (Since 1.7)
#
# @iops_rd_max: read I/O operations per second during bursts,
# in bytes (Since 1.7)
# @iops_rd_max: read I/O operations per second during bursts, in bytes
# (Since 1.7)
#
# @iops_wr_max: write I/O operations per second during bursts,
# in bytes (Since 1.7)
# @iops_wr_max: write I/O operations per second during bursts, in
# bytes (Since 1.7)
#
# @bps_max_length: maximum length of the @bps_max burst
# @bps_max_length: maximum length of the @bps_max burst period, in
# seconds. (Since 2.6)
#
# @bps_rd_max_length: maximum length of the @bps_rd_max burst period,
# in seconds. (Since 2.6)
#
# @bps_wr_max_length: maximum length of the @bps_wr_max burst period,
# in seconds. (Since 2.6)
#
# @iops_max_length: maximum length of the @iops burst period, in
# seconds. (Since 2.6)
#
# @iops_rd_max_length: maximum length of the @iops_rd_max burst
# period, in seconds. (Since 2.6)
#
# @bps_rd_max_length: maximum length of the @bps_rd_max
# burst period, in seconds. (Since 2.6)
#
# @bps_wr_max_length: maximum length of the @bps_wr_max
# burst period, in seconds. (Since 2.6)
#
# @iops_max_length: maximum length of the @iops burst
# @iops_wr_max_length: maximum length of the @iops_wr_max burst
# period, in seconds. (Since 2.6)
#
# @iops_rd_max_length: maximum length of the @iops_rd_max
# burst period, in seconds. (Since 2.6)
#
# @iops_wr_max_length: maximum length of the @iops_wr_max
# burst period, in seconds. (Since 2.6)
#
# @iops_size: an I/O size in bytes (Since 1.7)
#
# @group: throttle group name (Since 2.4)
@ -582,11 +582,11 @@
# @granularity: granularity of the dirty bitmap in bytes (since 1.4)
#
# @recording: true if the bitmap is recording new writes from the guest.
# Replaces ``active`` and ``disabled`` statuses. (since 4.0)
# (since 4.0)
#
# @busy: true if the bitmap is in-use by some operation (NBD or jobs)
# and cannot be modified via QMP or used by another operation.
# Replaces ``locked`` and ``frozen`` statuses. (since 4.0)
# (since 4.0)
#
# @persistent: true if the bitmap was stored on disk, is scheduled to be stored
# on disk, or both. (since 4.0)
@ -1318,10 +1318,10 @@
# value is monotonically increasing.
#
# @busy: false if the job is known to be in a quiescent state, with
# no pending I/O. Since 1.3.
# no pending I/O. (Since 1.3)
#
# @paused: whether the job is paused or, if @busy is true, will
# pause itself as soon as possible. Since 1.3.
# pause itself as soon as possible. (Since 1.3)
#
# @speed: the rate limit, bytes per second
#
@ -2741,7 +2741,7 @@
#
# @on-error: the action to take on an error (default report).
# 'stop' and 'enospc' can only be used if the block device
# supports io-status (see BlockInfo). Since 1.3.
# supports io-status (see BlockInfo). (Since 1.3)
#
# @filter-node-name: the node name that should be assigned to the
# filter driver that the stream job inserts into the graph
@ -4574,9 +4574,8 @@
#
# Since: 2.9
#
# Example:
# Examples:
#
# 1.
# -> { "execute": "blockdev-add",
# "arguments": {
# "driver": "qcow2",
@ -4589,7 +4588,6 @@
# }
# <- { "return": {} }
#
# 2.
# -> { "execute": "blockdev-add",
# "arguments": {
# "driver": "qcow2",
@ -5157,7 +5155,7 @@
# Driver specific image amend options for qcow2.
# For now, only encryption options can be amended
#
# @encrypt Encryption options to be amended
# @encrypt: Encryption options to be amended
#
# Since: 5.1
##
@ -5596,7 +5594,7 @@
#
# Since: 2.7
#
# Example:
# Examples:
#
# 1. Add a new node to a quorum
# -> { "execute": "blockdev-add",
@ -5646,7 +5644,7 @@
#
# Since: 2.12
#
# Example:
# Examples:
#
# 1. Move a node into an IOThread
# -> { "execute": "x-blockdev-set-iothread",
@ -5731,18 +5729,18 @@
#
# Since: 2.0
#
# Example:
# Examples:
#
# 1. Read operation
#
# { "event": "QUORUM_REPORT_BAD",
# <- { "event": "QUORUM_REPORT_BAD",
# "data": { "node-name": "node0", "sector-num": 345435, "sectors-count": 5,
# "type": "read" },
# "timestamp": { "seconds": 1344522075, "microseconds": 745528 } }
#
# 2. Flush operation
#
# { "event": "QUORUM_REPORT_BAD",
# <- { "event": "QUORUM_REPORT_BAD",
# "data": { "node-name": "node0", "sector-num": 0, "sectors-count": 2097120,
# "type": "flush", "error": "Broken pipe" },
# "timestamp": { "seconds": 1456406829, "microseconds": 291763 } }
@ -5784,7 +5782,7 @@
# - If any snapshot matching @name exists, or @name is empty,
# GenericError
# - If the format of the image used does not support it,
# BlockFormatFeatureNotSupported
# GenericError
#
# Since: 1.7
#
@ -5820,7 +5818,7 @@
# - If @device is not a valid block device, GenericError
# - If snapshot not found, GenericError
# - If the format of the image used does not support it,
# BlockFormatFeatureNotSupported
# GenericError
# - If @id and @name are both not specified, GenericError
#
# Since: 1.7

View File

@ -275,6 +275,7 @@
# @deprecated: This command is deprecated. Use @block-export-del instead.
#
# Returns: error if
#
# - the server is not running
# - export is not found
# - mode is 'safe' and there are existing connections

View File

@ -457,7 +457,7 @@
#
# Since: 1.1
#
# Example:
# Examples:
#
# -> { "execute": "block_set_io_throttle",
# "arguments": { "id": "virtio-blk-pci0/virtio-backend",

View File

@ -637,7 +637,7 @@
#
# Since: 1.4
#
# Example:
# Examples:
#
# -> { "execute" : "chardev-add",
# "arguments" : { "id" : "foo",
@ -673,7 +673,7 @@
#
# Since: 2.10
#
# Example:
# Examples:
#
# -> { "execute" : "chardev-change",
# "arguments" : { "id" : "baz",

View File

@ -4,6 +4,10 @@
# This work is licensed under the terms of the GNU GPL, version 2 or later.
# See the COPYING file in the top-level directory.
##
# = Cryptography devices
##
##
# @QCryptodevBackendAlgType:
#

View File

@ -2,7 +2,7 @@
# vim: filetype=python
##
# == Background jobs
# = Background jobs
##
##
@ -148,7 +148,7 @@
# This command returns immediately after resuming a paused job. Resuming an
# already running job is an error.
#
# @id : The job identifier.
# @id: The job identifier.
#
# Since: 3.0
##

View File

@ -331,7 +331,7 @@
#
# Return a list of supported virtual CPU definitions
#
# Returns: a list of CpuDefInfo
# Returns: a list of CpuDefinitionInfo
#
# Since: 1.2
##

View File

@ -517,7 +517,7 @@
# @targets: Target root bridge IDs from -device ...,id=<ID> for each root
# bridge.
#
# Since 7.1
# Since: 7.1
##
{ 'struct': 'CXLFixedMemoryWindowOptions',
'data': {
@ -532,7 +532,7 @@
#
# @cxl-fmw: List of CXLFixedMemoryWindowOptions
#
# Since 7.1
# Since: 7.1
##
{ 'struct' : 'CXLFMWProperties',
'data': { 'cxl-fmw': ['CXLFixedMemoryWindowOptions'] }
@ -954,7 +954,7 @@
#
# Since: 2.7
#
# Example:
# Examples:
#
# For pseries machine type started with -smp 2,cores=2,maxcpus=4 -cpu POWER8:
#
@ -1029,7 +1029,7 @@
#
# Returns: - Nothing on success
# - If the balloon driver is enabled but not functional because the KVM
# kernel module cannot support it, KvmMissingCap
# 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,
@ -1067,7 +1067,7 @@
#
# Returns: - @BalloonInfo on success
# - If the balloon driver is enabled but not functional because the KVM
# kernel module cannot support it, KvmMissingCap
# kernel module cannot support it, KVMMissingCap
# - If no balloon device is present, DeviceNotActive
#
# Since: 0.14
@ -1260,6 +1260,14 @@
##
# @MemoryDeviceInfoKind:
#
# @nvdimm: since 2.12
#
# @virtio-pmem: since 4.1
#
# @virtio-mem: since 5.1
#
# @sgx-epc: since 6.2.
#
# Since: 2.1
##
{ 'enum': 'MemoryDeviceInfoKind',
@ -1302,9 +1310,6 @@
#
# Union containing information about a memory device
#
# nvdimm is included since 2.12. virtio-pmem is included since 4.1.
# virtio-mem is included since 5.1. sgx-epc is included since 6.2.
#
# Since: 2.1
##
{ 'union': 'MemoryDeviceInfo',
@ -1677,8 +1682,9 @@
# Since: 7.2
#
# Example:
# {"execute": "dumpdtb"}
# -> { "execute": "dumpdtb" }
# "arguments": { "filename": "fdt.dtb" } }
# <- { "return": {} }
#
##
{ 'command': 'dumpdtb',

View File

@ -273,7 +273,7 @@
#
# Since: 0.14
#
# Example:
# Examples:
#
# 1. Before the first migration
#
@ -521,6 +521,7 @@
#
# -> { "execute": "migrate-set-capabilities" , "arguments":
# { "capabilities": [ { "capability": "xbzrle", "state": true } ] } }
# <- { "return": {} }
#
##
{ 'command': 'migrate-set-capabilities',
@ -531,7 +532,7 @@
#
# Returns information about the current migration capabilities status
#
# Returns: @MigrationCapabilitiesStatus
# Returns: @MigrationCapabilityStatus
#
# Since: 1.2
#
@ -989,6 +990,7 @@
#
# -> { "execute": "migrate-set-parameters" ,
# "arguments": { "compress-level": 1 } }
# <- { "return": {} }
#
##
{ 'command': 'migrate-set-parameters', 'boxed': true,
@ -1251,7 +1253,7 @@
#
# Example:
#
# { "timestamp": {"seconds": 1449669631, "microseconds": 239225},
# <- { "timestamp": {"seconds": 1449669631, "microseconds": 239225},
# "event": "MIGRATION_PASS", "data": {"pass": 2} }
#
##
@ -1833,8 +1835,9 @@
#
# Example:
#
# {"execute": "calc-dirty-rate", "arguments": {"calc-time": 1,
# -> {"execute": "calc-dirty-rate", "arguments": {"calc-time": 1,
# 'sample-pages': 512} }
# <- { "return": {} }
#
##
{ 'command': 'calc-dirty-rate', 'data': {'calc-time': 'int64',
@ -1886,9 +1889,11 @@
# Since: 7.1
#
# Example:
# {"execute": "set-vcpu-dirty-limit"}
#
# -> {"execute": "set-vcpu-dirty-limit"}
# "arguments": { "dirty-rate": 200,
# "cpu-index": 1 } }
# <- { "return": {} }
#
##
{ 'command': 'set-vcpu-dirty-limit',
@ -1909,8 +1914,10 @@
# Since: 7.1
#
# Example:
# {"execute": "cancel-vcpu-dirty-limit"}
#
# -> {"execute": "cancel-vcpu-dirty-limit"},
# "arguments": { "cpu-index": 1 } }
# <- { "return": {} }
#
##
{ 'command': 'cancel-vcpu-dirty-limit',
@ -1924,7 +1931,11 @@
# Since: 7.1
#
# Example:
# {"execute": "query-vcpu-dirty-limit"}
#
# -> {"execute": "query-vcpu-dirty-limit"}
# <- {"return": [
# { "limit-rate": 60, "current-rate": 3, "cpu-index": 0},
# { "limit-rate": 60, "current-rate": 3, "cpu-index": 1}]}
#
##
{ 'command': 'query-vcpu-dirty-limit',
@ -1952,7 +1963,7 @@
#
# data: migration thread name
#
# returns: information about migration threads
# Returns: information about migration threads
#
# Since: 7.2
##

View File

@ -349,8 +349,8 @@
# @opaque: A free-form string that can be used to describe the fd.
#
# Returns: - @AddfdInfo on success
# - If file descriptor was not received, FdNotSupplied
# - If @fdset-id is a negative value, InvalidParameterValue
# - If file descriptor was not received, GenericError
# - If @fdset-id is a negative value, GenericError
#
# Notes: The list of fd sets is shared by all monitor connections.
#
@ -379,7 +379,7 @@
# @fd: The file descriptor that is to be removed.
#
# Returns: - Nothing on success
# - If @fdset-id or @fd is not found, FdNotFound
# - If @fdset-id or @fd is not found, GenericError
#
# Since: 1.2
#
@ -583,7 +583,6 @@
# <- { "event": "RTC_CHANGE",
# "data": { "offset": 78 },
# "timestamp": { "seconds": 1267020223, "microseconds": 435656 } }
#
##
{ 'event': 'RTC_CHANGE',
'data': { 'offset': 'int', 'qom-path': 'str' } }

View File

@ -641,14 +641,15 @@
#
# Available netdev drivers.
#
# Since: 2.7
# @l2tpv3: since 2.1
# @vhost-vdpa: since 5.1
# @vmnet-host: since 7.1
# @vmnet-shared: since 7.1
# @vmnet-bridged: since 7.1
# @stream: since 7.2
# @dgram: since 7.2
#
# @vhost-vdpa since 5.1
# @vmnet-host since 7.1
# @vmnet-shared since 7.1
# @vmnet-bridged since 7.1
# @stream since 7.2
# @dgram since 7.2
# Since: 2.7
##
{ 'enum': 'NetClientDriver',
'data': [ 'none', 'nic', 'user', 'tap', 'l2tpv3', 'socket', 'stream',
@ -669,12 +670,6 @@
#
# Since: 1.2
#
# 'l2tpv3' - since 2.1
# 'vmnet-host' - since 7.1
# 'vmnet-shared' - since 7.1
# 'vmnet-bridged' - since 7.1
# 'stream' since 7.2
# 'dgram' since 7.2
##
{ 'union': 'Netdev',
'base': { 'id': 'str', 'type': 'NetClientDriver' },
@ -914,7 +909,7 @@
#
# Since: 7.2
#
# Example:
# Examples:
#
# <- { "event": "NETDEV_STREAM_CONNECTED",
# "data": { "netdev-id": "netdev0",
@ -922,8 +917,6 @@
# "host": "::1", "type": "inet" } },
# "timestamp": { "seconds": 1666269863, "microseconds": 311222 } }
#
# or
#
# <- { "event": "NETDEV_STREAM_CONNECTED",
# "data": { "netdev-id": "netdev0",
# "addr": { "path": "/tmp/qemu0", "type": "unix" } },

View File

@ -28,28 +28,6 @@
#
# Please, refer to the QMP specification (docs/interop/qmp-spec.txt) for
# detailed information on the Server command and response formats.
#
# = Stability Considerations
#
# The current QMP command set (described in this file) may be useful for a
# number of use cases, however it's limited and several commands have bad
# defined semantics, specially with regard to command completion.
#
# These problems are going to be solved incrementally in the next QEMU releases
# and we're going to establish a deprecation policy for badly defined commands.
#
# If you're planning to adopt QMP, please observe the following:
#
# 1. The deprecation policy will take effect and be documented soon, please
# check the documentation of each used command as soon as a new release of
# QEMU is available
#
# 2. DO NOT rely on anything which is not explicit documented
#
# 3. Errors, in special, are not documented. Applications should NOT check
# for specific errors classes or data (it's strongly recommended to only
# check for the "error" key)
#
##
{ 'include': 'pragma.json' }
@ -65,11 +43,11 @@
{ 'include': 'sockets.json' }
{ 'include': 'run-state.json' }
{ 'include': 'crypto.json' }
{ 'include': 'job.json' }
{ 'include': 'block.json' }
{ 'include': 'block-export.json' }
{ 'include': 'char.json' }
{ 'include': 'dump.json' }
{ 'include': 'job.json' }
{ 'include': 'net.json' }
{ 'include': 'rdma.json' }
{ 'include': 'rocker.json' }

View File

@ -100,7 +100,7 @@
#
# Since: 0.14
#
# Example:
# Examples:
#
# -> { "execute": "device_del",
# "arguments": { "id": "net1" } }

View File

@ -103,7 +103,7 @@
#
# Since: 1.2
#
# Example:
# Examples:
#
# 1. Use absolute path
#
@ -637,7 +637,7 @@
#
# @discard-data: if true, the file contents can be destroyed when QEMU exits,
# to avoid unnecessarily flushing data to the backing file. Note
# that ``discard-data`` is only an optimization, and QEMU might
# that @discard-data is only an optimization, and QEMU might
# not discard file contents if it aborts unexpectedly or is
# terminated using SIGKILL. (default: false)
#

View File

@ -17,7 +17,7 @@
#
# @subnet-prefix: Subnet Prefix
#
# @interface-id : Interface ID
# @interface-id: Interface ID
#
# Since: 4.0
#

View File

@ -81,6 +81,7 @@
# Example:
#
# -> { "execute": "replay-break", "arguments": { "icount": 220414 } }
# <- { "return": {} }
#
##
{ 'command': 'replay-break', 'data': { 'icount': 'int' } }
@ -96,6 +97,7 @@
# Example:
#
# -> { "execute": "replay-delete-break" }
# <- { "return": {} }
#
##
{ 'command': 'replay-delete-break' }
@ -117,5 +119,6 @@
# Example:
#
# -> { "execute": "replay-seek", "arguments": { "icount": 220414 } }
# <- { "return": {} }
##
{ 'command': 'replay-seek', 'data': { 'icount': 'int' } }

View File

@ -260,7 +260,6 @@
#
# <- { "event": "SUSPEND_DISK",
# "timestamp": { "seconds": 1344456160, "microseconds": 309119 } }
#
##
{ 'event': 'SUSPEND_DISK' }
@ -468,7 +467,11 @@
#
# @pause: system pauses
#
# Since: 2.1 (poweroff since 2.8, run since 5.0)
# @poweroff: system powers off (since 2.8)
#
# @run: system continues to run (since 5.0)
#
# Since: 2.1
##
{ 'enum': 'GuestPanicAction',
'data': [ 'pause', 'poweroff', 'run' ] }

View File

@ -69,7 +69,7 @@
#
# @vcpu: statistics that apply to a single virtual CPU.
#
# @cryptodev: statistics that apply to a crypto device. since 8.0
# @cryptodev: statistics that apply to a crypto device (since 8.0)
#
# Since: 7.1
##
@ -107,6 +107,7 @@
# The arguments to the query-stats command; specifies a target for which to
# request statistics and optionally the required subset of information for
# that target:
#
# - which vCPUs to request statistics for
# - which providers to request statistics from
# - which named values to return within each provider

View File

@ -44,8 +44,7 @@
# An enumeration of TPM types
#
# @passthrough: TPM passthrough type
# @emulator: Software Emulator TPM type
# Since: 2.11
# @emulator: Software Emulator TPM type (since 2.11)
#
# Since: 1.5
##

View File

@ -87,6 +87,7 @@
# @vcpu: The vCPU to act upon (all by default; since 2.7).
#
# An event's state is modified if:
#
# - its name matches the @name pattern, and
# - if @vcpu is given, the event has the "vcpu" property.
#

View File

@ -985,7 +985,7 @@
# to 100
#
# Returns: - Nothing on success
# - If key is unknown or redundant, InvalidParameter
# - If key is unknown or redundant, GenericError
#
# Since: 1.3
#
@ -1153,7 +1153,7 @@
# so it is possible to map which console belongs to which device and
# display.
#
# Example:
# Examples:
#
# 1. Press left mouse button.
#
@ -1207,13 +1207,13 @@
# window resizes (virtio-gpu) this will default to "on",
# assuming the guest will resize the display to match
# the window size then. Otherwise it defaults to "off".
# Since 3.1
# (Since 3.1)
# @show-tabs: Display the tab bar for switching between the various graphical
# interfaces (e.g. VGA and virtual console character devices)
# by default.
# Since 7.1
# (Since 7.1)
# @show-menubar: Display the main window menubar. Defaults to "on".
# Since 8.0
# (Since 8.0)
#
# Since: 2.12
##
@ -1247,7 +1247,7 @@
# available node on the host.
#
# @p2p: Whether to use peer-to-peer connections (accepted through
# ``add_client``).
# @add_client).
#
# @audiodev: Use the specified DBus audiodev to export audio.
#

View File

@ -50,6 +50,7 @@
# hanging QEMU.
#
# Currently implemented yank instances:
#
# - nbd block device:
# Yanking it will shut down the connection to the nbd server without
# attempting to reconnect.

View File

@ -420,7 +420,7 @@
##
# @guest-fsfreeze-status:
#
# Get guest fsfreeze state. error state indicates
# Get guest fsfreeze state.
#
# Returns: GuestFsfreezeStatus ("thawed", "frozen", etc., as defined below)
#
@ -722,7 +722,7 @@
# Get list of guest IP addresses, MAC addresses
# and netmasks.
#
# Returns: List of GuestNetworkInfo on success.
# Returns: List of GuestNetworkInterface on success.
#
# Since: 1.1
##
@ -1553,11 +1553,11 @@
##
# @GuestDiskStatsInfo:
#
# @name disk name
# @name: disk name
#
# @major major device number of disk
# @major: major device number of disk
#
# @minor minor device number of disk
# @minor: minor device number of disk
##
{ 'struct': 'GuestDiskStatsInfo',
'data': {'name': 'str',

View File

@ -15,18 +15,26 @@
{ 'include': '../../qapi/pragma.json' }
# Documentation generated with qapi-gen.py is in source order, with
# included sub-schemas inserted at the first include directive
# (subsequent include directives have no effect). To get a sane and
# stable order, it's best to include each sub-schema just once, or
# include it first right here.
{ 'include': '../../qapi/common.json' }
{ 'include': '../../qapi/sockets.json' }
{ 'include': '../../qapi/crypto.json' }
{ 'include': '../../qapi/job.json' }
##
# = Block devices
##
{ 'include': '../../qapi/block-core.json' }
{ 'include': '../../qapi/block-export.json' }
{ 'include': '../../qapi/char.json' }
{ 'include': '../../qapi/common.json' }
{ 'include': '../../qapi/control.json' }
{ 'include': '../../qapi/crypto.json' }
{ 'include': '../../qapi/introspect.json' }
{ 'include': '../../qapi/job.json' }
{ 'include': '../../qapi/authz.json' }
{ 'include': '../../qapi/qom.json' }
{ 'include': '../../qapi/sockets.json' }
{ 'include': '../../qapi/transaction.json' }
{ 'include': '../../qapi/control.json' }
{ 'include': '../../qapi/introspect.json' }
{ 'include': '../../qapi/qom.json' }