QAPI patches patches for 2024-03-26

-----BEGIN PGP SIGNATURE-----
 
 iQJGBAABCAAwFiEENUvIs9frKmtoZ05fOHC0AOuRhlMFAmYCXs0SHGFybWJydUBy
 ZWRoYXQuY29tAAoJEDhwtADrkYZTRMkP/RR9ipyCh1P6KKuQCyouxM8nXZ945b33
 L0OBFY4cTZsMY98ZTU9i80f/Tjh58y5bYzSdr21jxBSdRlvb6w/Ys8xUsI2Hi/kZ
 czdKZbWT5IeSNrLw04CjhW2FKq8XXR7epHbPms2nBa1Xc5Jf8aIC2UhZKADeVCyE
 FCIUU8Ctkyvre3XGVOrIBhhVPs9hi33uG+HXiveQjjWwGZZ0v915sAZ4WvNEoiBS
 E0NwhJxtbQu8FwfBquE84o0TMzYb19MlU4zq3G5dv7PhLoXX9Lf097/tPEtoP4et
 H37eGD8MzL1hywf+E1vAw0HC/v7Ci5Kx1jpUUL03Hfvfa6Lktb6yYke8qAD1HopK
 o4btXKpfseuyTJuqTVaV4Z9tLqmpTddnUupBFkfKviMPdidAN9SM1qXx0VCM9mUo
 cwf5di6zOPTNYlsKuP6ofSGGaD5so9PGLGAZoGeZ1Cb7TLsgiqqD0GrPP0//1VLn
 GzOOsOA4Su9F2/qjkNu2HZ1jv6J105LbQnaPvqjVfkjzzmoOANYmViX3KmDwdBxX
 vSfy5/UpCP9TBv++N/ljRtrVzW9i4a2rIGeHWC0x/JJglIh45f2MzeyqJ5haV2n5
 MVY82yY7EY7U+YXUUUKSgGVWw7+/wj/R5wQ5a9Gjk9OlmTsTHxJIKIzhcw4lX9da
 ZmRLCSIlVu4Z
 =li36
 -----END PGP SIGNATURE-----

Merge tag 'pull-qapi-2024-03-26' of https://repo.or.cz/qemu/armbru into staging

QAPI patches patches for 2024-03-26

# -----BEGIN PGP SIGNATURE-----
#
# iQJGBAABCAAwFiEENUvIs9frKmtoZ05fOHC0AOuRhlMFAmYCXs0SHGFybWJydUBy
# ZWRoYXQuY29tAAoJEDhwtADrkYZTRMkP/RR9ipyCh1P6KKuQCyouxM8nXZ945b33
# L0OBFY4cTZsMY98ZTU9i80f/Tjh58y5bYzSdr21jxBSdRlvb6w/Ys8xUsI2Hi/kZ
# czdKZbWT5IeSNrLw04CjhW2FKq8XXR7epHbPms2nBa1Xc5Jf8aIC2UhZKADeVCyE
# FCIUU8Ctkyvre3XGVOrIBhhVPs9hi33uG+HXiveQjjWwGZZ0v915sAZ4WvNEoiBS
# E0NwhJxtbQu8FwfBquE84o0TMzYb19MlU4zq3G5dv7PhLoXX9Lf097/tPEtoP4et
# H37eGD8MzL1hywf+E1vAw0HC/v7Ci5Kx1jpUUL03Hfvfa6Lktb6yYke8qAD1HopK
# o4btXKpfseuyTJuqTVaV4Z9tLqmpTddnUupBFkfKviMPdidAN9SM1qXx0VCM9mUo
# cwf5di6zOPTNYlsKuP6ofSGGaD5so9PGLGAZoGeZ1Cb7TLsgiqqD0GrPP0//1VLn
# GzOOsOA4Su9F2/qjkNu2HZ1jv6J105LbQnaPvqjVfkjzzmoOANYmViX3KmDwdBxX
# vSfy5/UpCP9TBv++N/ljRtrVzW9i4a2rIGeHWC0x/JJglIh45f2MzeyqJ5haV2n5
# MVY82yY7EY7U+YXUUUKSgGVWw7+/wj/R5wQ5a9Gjk9OlmTsTHxJIKIzhcw4lX9da
# ZmRLCSIlVu4Z
# =li36
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue 26 Mar 2024 05:36:13 GMT
# gpg:                using RSA key 354BC8B3D7EB2A6B68674E5F3870B400EB918653
# gpg:                issuer "armbru@redhat.com"
# gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" [full]
# gpg:                 aka "Markus Armbruster <armbru@pond.sub.org>" [full]
# Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867  4E5F 3870 B400 EB91 8653

* tag 'pull-qapi-2024-03-26' of https://repo.or.cz/qemu/armbru:
  qapi: document parameters of query-cpu-model-* QAPI commands
  qapi/block-core: improve Qcow2OverlapCheckFlags documentation
  qapi: document leftover members in qapi/stats.json
  qapi: document leftover members in qapi/run-state.json
  qapi: document InputMultiTouchType
  qga/qapi-schema: Refill doc comments to conform to current conventions
  qapi: Correct documentation indentation and whitespace
  qapi: Refill doc comments to conform to current conventions
  qapi: Don't repeat member type in its documentation text
  qapi: Start sentences with a capital letter, end them with a period
  qapi: Fix abbreviation punctuation in doc comments
  qapi: Fix typo in request-ebpf documentation
  qapi: Fix argument markup in drive-mirror documentation
  qapi: Tidy up indentation of add_client's example
  qapi: Tidy up block-latency-histogram-set documentation some more
  qapi: Expand a few awkward abbreviations in documentation
  qapi: Drop stray Arguments: line from qmp_capabilities docs
  qapi: Fix bogus documentation of query-migrationthreads
  qapi: Resync MigrationParameter and MigrateSetParameters
  qapi: Improve migration TLS documentation

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Peter Maydell 2024-03-26 09:50:21 +00:00
commit 096ae430a7
21 changed files with 389 additions and 314 deletions

View File

@ -1819,10 +1819,10 @@
# Care should be taken when specifying the string, to specify a # Care should be taken when specifying the string, to specify a
# valid filename or protocol. (Since 2.1) # valid filename or protocol. (Since 2.1)
# #
# @backing-mask-protocol: If true, replace any protocol mentioned in the # @backing-mask-protocol: If true, replace any protocol mentioned in
# 'backing file format' with 'raw', rather than storing the protocol # the 'backing file format' with 'raw', rather than storing the
# name as the backing format. Can be used even when no image header # protocol name as the backing format. Can be used even when no
# will be updated (default false; since 9.0). # image header will be updated (default false; since 9.0).
# #
# @speed: the maximum speed, in bytes per second # @speed: the maximum speed, in bytes per second
# #
@ -2117,7 +2117,7 @@
# Start mirroring a block device's writes to a new destination. # Start mirroring a block device's writes to a new destination.
# target specifies the target of the new image. If the file exists, # target specifies the target of the new image. If the file exists,
# or if it is a device, it will be used as the new destination for # or if it is a device, it will be used as the new destination for
# writes. If it does not exist, a new file will be created. format # writes. If it does not exist, a new file will be created. @format
# specifies the format of the mirror image, default is to probe if # specifies the format of the mirror image, default is to probe if
# mode='existing', else the format of the source. # mode='existing', else the format of the source.
# #
@ -2593,27 +2593,27 @@
# #
# @bps_max_length: maximum length of the @bps_max burst period, in # @bps_max_length: maximum length of the @bps_max burst period, in
# seconds. It must only be set if @bps_max is set as well. # seconds. It must only be set if @bps_max is set as well.
# Defaults to 1. (Since 2.6) # Defaults to 1. (Since 2.6)
# #
# @bps_rd_max_length: maximum length of the @bps_rd_max burst period, # @bps_rd_max_length: maximum length of the @bps_rd_max burst period,
# in seconds. It must only be set if @bps_rd_max is set as well. # in seconds. It must only be set if @bps_rd_max is set as well.
# Defaults to 1. (Since 2.6) # Defaults to 1. (Since 2.6)
# #
# @bps_wr_max_length: maximum length of the @bps_wr_max burst period, # @bps_wr_max_length: maximum length of the @bps_wr_max burst period,
# in seconds. It must only be set if @bps_wr_max is set as well. # in seconds. It must only be set if @bps_wr_max is set as well.
# Defaults to 1. (Since 2.6) # Defaults to 1. (Since 2.6)
# #
# @iops_max_length: maximum length of the @iops burst period, in # @iops_max_length: maximum length of the @iops burst period, in
# seconds. It must only be set if @iops_max is set as well. # seconds. It must only be set if @iops_max is set as well.
# Defaults to 1. (Since 2.6) # Defaults to 1. (Since 2.6)
# #
# @iops_rd_max_length: maximum length of the @iops_rd_max burst # @iops_rd_max_length: maximum length of the @iops_rd_max burst
# period, in seconds. It must only be set if @iops_rd_max is set # period, in seconds. It must only be set if @iops_rd_max is set
# as well. Defaults to 1. (Since 2.6) # as well. Defaults to 1. (Since 2.6)
# #
# @iops_wr_max_length: maximum length of the @iops_wr_max burst # @iops_wr_max_length: maximum length of the @iops_wr_max burst
# period, in seconds. It must only be set if @iops_wr_max is set # period, in seconds. It must only be set if @iops_wr_max is set
# as well. Defaults to 1. (Since 2.6) # as well. Defaults to 1. (Since 2.6)
# #
# @iops_size: an I/O size in bytes (Since 1.7) # @iops_size: an I/O size in bytes (Since 1.7)
# #
@ -2825,10 +2825,10 @@
# Care should be taken when specifying the string, to specify a # Care should be taken when specifying the string, to specify a
# valid filename or protocol. (Since 2.1) # valid filename or protocol. (Since 2.1)
# #
# @backing-mask-protocol: If true, replace any protocol mentioned in the # @backing-mask-protocol: If true, replace any protocol mentioned in
# 'backing file format' with 'raw', rather than storing the protocol # the 'backing file format' with 'raw', rather than storing the
# name as the backing format. Can be used even when no image header # protocol name as the backing format. Can be used even when no
# will be updated (default false; since 9.0). # image header will be updated (default false; since 9.0).
# #
# @speed: the maximum speed, in bytes per second # @speed: the maximum speed, in bytes per second
# #
@ -3354,7 +3354,7 @@
# decryption key (since 2.6). Mandatory except when doing a # decryption key (since 2.6). Mandatory except when doing a
# metadata-only probe of the image. # metadata-only probe of the image.
# #
# @header: block device holding a detached LUKS header. (since 9.0) # @header: block device holding a detached LUKS header. (since 9.0)
# #
# Since: 2.9 # Since: 2.9
## ##
@ -3403,14 +3403,31 @@
# @Qcow2OverlapCheckFlags: # @Qcow2OverlapCheckFlags:
# #
# Structure of flags for each metadata structure. Setting a field to # Structure of flags for each metadata structure. Setting a field to
# 'true' makes qemu guard that structure against unintended # 'true' makes QEMU guard that Qcow2 format structure against
# overwriting. The default value is chosen according to the template # unintended overwriting. See Qcow2 format specification for detailed
# given. # information on these structures. The default value is chosen
# according to the template given.
# #
# @template: Specifies a template mode which can be adjusted using the # @template: Specifies a template mode which can be adjusted using the
# other flags, defaults to 'cached' # other flags, defaults to 'cached'
# #
# @bitmap-directory: since 3.0 # @main-header: Qcow2 format header
#
# @active-l1: Qcow2 active L1 table
#
# @active-l2: Qcow2 active L2 table
#
# @refcount-table: Qcow2 refcount table
#
# @refcount-block: Qcow2 refcount blocks
#
# @snapshot-table: Qcow2 snapshot table
#
# @inactive-l1: Qcow2 inactive L1 tables
#
# @inactive-l2: Qcow2 inactive L2 tables
#
# @bitmap-directory: Qcow2 bitmap directory (since 3.0)
# #
# Since: 2.9 # Since: 2.9
## ##
@ -3547,10 +3564,10 @@
# re-allocating them later. Besides potential performance # re-allocating them later. Besides potential performance
# degradation, such fragmentation can lead to increased allocation # degradation, such fragmentation can lead to increased allocation
# of clusters past the end of the image file, resulting in image # of clusters past the end of the image file, resulting in image
# files whose file length can grow much larger than their guest disk # files whose file length can grow much larger than their guest
# size would suggest. If image file length is of concern (e.g. when # disk size would suggest. If image file length is of concern
# storing qcow2 images directly on block devices), you should # (e.g. when storing qcow2 images directly on block devices), you
# consider enabling this option. (since 8.1) # should consider enabling this option. (since 8.1)
# #
# @overlap-check: which overlap checks to perform for writes to the # @overlap-check: which overlap checks to perform for writes to the
# image, defaults to 'cached' (since 2.2) # image, defaults to 'cached' (since 2.2)
@ -4619,7 +4636,7 @@
# seconds for copy-before-write operation. When a timeout occurs, # seconds for copy-before-write operation. When a timeout occurs,
# the respective copy-before-write operation will fail, and the # the respective copy-before-write operation will fail, and the
# @on-cbw-error parameter will decide how this failure is handled. # @on-cbw-error parameter will decide how this failure is handled.
# Default 0. (Since 7.1) # Default 0. (Since 7.1)
# #
# Since: 6.2 # Since: 6.2
## ##
@ -4953,9 +4970,9 @@
# Driver specific image creation options for LUKS. # Driver specific image creation options for LUKS.
# #
# @file: Node to create the image format on, mandatory except when # @file: Node to create the image format on, mandatory except when
# 'preallocation' is not requested # 'preallocation' is not requested
# #
# @header: Block device holding a detached LUKS header. (since 9.0) # @header: Block device holding a detached LUKS header. (since 9.0)
# #
# @size: Size of the virtual disk in bytes # @size: Size of the virtual disk in bytes
# #

View File

@ -545,8 +545,8 @@
# #
# Example: # Example:
# #
# Set new histograms for all io types with intervals [0, 10), [10, # Set new histograms for all io types with intervals
# 50), [50, 100), [100, +inf): # [0, 10), [10, 50), [50, 100), [100, +inf):
# #
# -> { "execute": "block-latency-histogram-set", # -> { "execute": "block-latency-histogram-set",
# "arguments": { "id": "drive0", # "arguments": { "id": "drive0",
@ -555,8 +555,8 @@
# #
# Example: # Example:
# #
# Set new histogram only for write, other histograms will remain not # Set new histogram only for write, other histograms will remain
# changed (or not created): # not changed (or not created):
# #
# -> { "execute": "block-latency-histogram-set", # -> { "execute": "block-latency-histogram-set",
# "arguments": { "id": "drive0", # "arguments": { "id": "drive0",
@ -565,9 +565,9 @@
# #
# Example: # Example:
# #
# Set new histograms with the following intervals: read, flush: [0, # Set new histograms with the following intervals:
# 10), [10, 50), [50, 100), [100, +inf) write: [0, 1000), [1000, # read, flush: [0, 10), [10, 50), [50, 100), [100, +inf)
# 5000), [5000, +inf) # write: [0, 1000), [1000, 5000), [5000, +inf)
# #
# -> { "execute": "block-latency-histogram-set", # -> { "execute": "block-latency-histogram-set",
# "arguments": { "id": "drive0", # "arguments": { "id": "drive0",

View File

@ -11,8 +11,6 @@
# #
# Enable QMP capabilities. # Enable QMP capabilities.
# #
# Arguments:
#
# @enable: An optional list of QMPCapability values to enable. The # @enable: An optional list of QMPCapability values to enable. The
# client must not enable any capability that is not mentioned in # client must not enable any capability that is not mentioned in
# the QMP greeting message. If the field is not provided, it # the QMP greeting message. If the field is not provided, it

View File

@ -48,15 +48,15 @@
# #
# @sha1: SHA-1. Should not be used in any new code, legacy compat only # @sha1: SHA-1. Should not be used in any new code, legacy compat only
# #
# @sha224: SHA-224. (since 2.7) # @sha224: SHA-224. (since 2.7)
# #
# @sha256: SHA-256. Current recommended strong hash. # @sha256: SHA-256. Current recommended strong hash.
# #
# @sha384: SHA-384. (since 2.7) # @sha384: SHA-384. (since 2.7)
# #
# @sha512: SHA-512. (since 2.7) # @sha512: SHA-512. (since 2.7)
# #
# @ripemd160: RIPEMD-160. (since 2.7) # @ripemd160: RIPEMD-160. (since 2.7)
# #
# Since: 2.6 # Since: 2.6
## ##
@ -224,9 +224,9 @@
# 'sha256' # 'sha256'
# #
# @iter-time: number of milliseconds to spend in PBKDF passphrase # @iter-time: number of milliseconds to spend in PBKDF passphrase
# processing. Currently defaults to 2000. (since 2.8) # processing. Currently defaults to 2000. (since 2.8)
# #
# @detached-header: create a detached LUKS header. (since 9.0) # @detached-header: create a detached LUKS header. (since 9.0)
# #
# Since: 2.6 # Since: 2.6
## ##

View File

@ -144,8 +144,8 @@
# @cxl-inject-memory-module-event: # @cxl-inject-memory-module-event:
# #
# Inject an event record for a Memory Module Event (CXL r3.0 # Inject an event record for a Memory Module Event (CXL r3.0
# 8.2.9.2.1.3). This event includes a copy of the Device Health # 8.2.9.2.1.3). This event includes a copy of the Device Health info
# info at the time of the event. # at the time of the event.
# #
# @path: CXL type 3 device canonical QOM path # @path: CXL type 3 device canonical QOM path
# #

View File

@ -15,20 +15,20 @@
# #
# @elf: elf format # @elf: elf format
# #
# @kdump-zlib: makedumpfile flattened, kdump-compressed format with zlib # @kdump-zlib: makedumpfile flattened, kdump-compressed format with
# compression # zlib compression
# #
# @kdump-lzo: makedumpfile flattened, kdump-compressed format with lzo # @kdump-lzo: makedumpfile flattened, kdump-compressed format with lzo
# compression # compression
# #
# @kdump-snappy: makedumpfile flattened, kdump-compressed format with snappy # @kdump-snappy: makedumpfile flattened, kdump-compressed format with
# compression # snappy compression
# #
# @kdump-raw-zlib: raw assembled kdump-compressed format with zlib compression # @kdump-raw-zlib: raw assembled kdump-compressed format with zlib
# (since 8.2) # compression (since 8.2)
# #
# @kdump-raw-lzo: raw assembled kdump-compressed format with lzo compression # @kdump-raw-lzo: raw assembled kdump-compressed format with lzo
# (since 8.2) # compression (since 8.2)
# #
# @kdump-raw-snappy: raw assembled kdump-compressed format with snappy # @kdump-raw-snappy: raw assembled kdump-compressed format with snappy
# compression (since 8.2) # compression (since 8.2)
@ -77,7 +77,7 @@
# #
# @detach: if true, QMP will return immediately rather than waiting # @detach: if true, QMP will return immediately rather than waiting
# for the dump to finish. The user can track progress using # for the dump to finish. The user can track progress using
# "query-dump". (since 2.6). # "query-dump". (since 2.6).
# #
# @begin: if specified, the starting physical address. # @begin: if specified, the starting physical address.
# #

View File

@ -7,15 +7,13 @@
## ##
# = eBPF Objects # = eBPF Objects
# #
# eBPF object is an ELF binary that contains the eBPF # eBPF object is an ELF binary that contains the eBPF program and eBPF
# program and eBPF map description(BTF). Overall, eBPF # map description(BTF). Overall, eBPF object should contain the
# object should contain the program and enough metadata # program and enough metadata to create/load eBPF with libbpf. As the
# to create/load eBPF with libbpf. As the eBPF maps/program # eBPF maps/program should correspond to QEMU, the eBPF can't be used
# should correspond to QEMU, the eBPF can't be used from # from different QEMU build.
# different QEMU build.
# #
# Currently, there is a possible eBPF for receive-side scaling (RSS). # Currently, there is a possible eBPF for receive-side scaling (RSS).
#
## ##
## ##
@ -51,7 +49,7 @@
# @request-ebpf: # @request-ebpf:
# #
# Retrieve an eBPF object that can be loaded with libbpf. Management # Retrieve an eBPF object that can be loaded with libbpf. Management
# applications (g.e. libvirt) may load it and pass file descriptors to # applications (e.g. libvirt) may load it and pass file descriptors to
# QEMU, so they can run running QEMU without BPF capabilities. # QEMU, so they can run running QEMU without BPF capabilities.
# #
# @id: The ID of the program to return. # @id: The ID of the program to return.

View File

@ -124,11 +124,12 @@
## ##
# @query-cpu-model-comparison: # @query-cpu-model-comparison:
# #
# Compares two CPU models, returning how they compare in a specific # Compares two CPU models, @modela and @modelb, returning how they
# configuration. The results indicates how both models compare # compare in a specific configuration. The results indicates how
# regarding runnability. This result can be used by tooling to make # both models compare regarding runnability. This result can be
# decisions if a certain CPU model will run in a certain configuration # used by tooling to make decisions if a certain CPU model will
# or if a compatible CPU model has to be created by baselining. # run in a certain configuration or if a compatible CPU model has
# to be created by baselining.
# #
# Usually, a CPU model is compared against the maximum possible CPU # Usually, a CPU model is compared against the maximum possible CPU
# model of a certain configuration (e.g. the "host" model for KVM). # model of a certain configuration (e.g. the "host" model for KVM).
@ -154,7 +155,14 @@
# Some architectures may not support comparing CPU models. s390x # Some architectures may not support comparing CPU models. s390x
# supports comparing CPU models. # supports comparing CPU models.
# #
# Returns: a CpuModelBaselineInfo # @modela: description of the first CPU model to compare, referred to as
# "model A" in CpuModelCompareResult
#
# @modelb: description of the second CPU model to compare, referred to as
# "model B" in CpuModelCompareResult
#
# Returns: a CpuModelCompareInfo describing how both CPU models
# compare
# #
# Errors: # Errors:
# - if comparing CPU models is not supported # - if comparing CPU models is not supported
@ -175,9 +183,9 @@
## ##
# @query-cpu-model-baseline: # @query-cpu-model-baseline:
# #
# Baseline two CPU models, creating a compatible third model. The # Baseline two CPU models, @modela and @modelb, creating a compatible
# created model will always be a static, migration-safe CPU model (see # third model. The created model will always be a static,
# "static" CPU model expansion for details). # migration-safe CPU model (see "static" CPU model expansion for details).
# #
# This interface can be used by tooling to create a compatible CPU # This interface can be used by tooling to create a compatible CPU
# model out two CPU models. The created CPU model will be identical # model out two CPU models. The created CPU model will be identical
@ -204,7 +212,11 @@
# Some architectures may not support baselining CPU models. s390x # Some architectures may not support baselining CPU models. s390x
# supports baselining CPU models. # supports baselining CPU models.
# #
# Returns: a CpuModelBaselineInfo # @modela: description of the first CPU model to baseline
#
# @modelb: description of the second CPU model to baseline
#
# Returns: a CpuModelBaselineInfo describing the baselined CPU model
# #
# Errors: # Errors:
# - if baselining CPU models is not supported # - if baselining CPU models is not supported
@ -243,10 +255,10 @@
## ##
# @query-cpu-model-expansion: # @query-cpu-model-expansion:
# #
# Expands a given CPU model (or a combination of CPU model + # Expands a given CPU model, @model, (or a combination of CPU model +
# additional options) to different granularities, allowing tooling to # additional options) to different granularities, specified by
# get an understanding what a specific CPU model looks like in QEMU # @type, allowing tooling to get an understanding what a specific
# under a certain configuration. # CPU model looks like in QEMU under a certain configuration.
# #
# This interface can be used to query the "host" CPU model. # This interface can be used to query the "host" CPU model.
# #
@ -269,7 +281,11 @@
# Some architectures may not support all expansion types. s390x # Some architectures may not support all expansion types. s390x
# supports "full" and "static". Arm only supports "full". # supports "full" and "static". Arm only supports "full".
# #
# Returns: a CpuModelExpansionInfo # @model: description of the CPU model to expand
#
# @type: expansion type, specifying how to expand the CPU model
#
# Returns: a CpuModelExpansionInfo describing the expanded CPU model
# #
# Errors: # Errors:
# - if expanding CPU models is not supported # - if expanding CPU models is not supported
@ -394,9 +410,9 @@
## ##
# @set-cpu-topology: # @set-cpu-topology:
# #
# Modify the topology by moving the CPU inside the topology tree, # Modify the topology by moving the CPU inside the topology tree, or
# or by changing a modifier attribute of a CPU. # by changing a modifier attribute of a CPU. Absent values will not
# Absent values will not be modified. # be modified.
# #
# @core-id: the vCPU ID to be moved # @core-id: the vCPU ID to be moved
# #
@ -408,7 +424,8 @@
# #
# @entitlement: entitlement to set # @entitlement: entitlement to set
# #
# @dedicated: whether the provisioning of real to virtual CPU is dedicated # @dedicated: whether the provisioning of real to virtual CPU is
# dedicated
# #
# Features: # Features:
# #
@ -435,14 +452,15 @@
# Emitted when the guest asks to change the polarization. # Emitted when the guest asks to change the polarization.
# #
# The guest can tell the host (via the PTF instruction) whether the # The guest can tell the host (via the PTF instruction) whether the
# CPUs should be provisioned using horizontal or vertical polarization. # CPUs should be provisioned using horizontal or vertical
# polarization.
# #
# On horizontal polarization the host is expected to provision all vCPUs # On horizontal polarization the host is expected to provision all
# equally. # vCPUs equally.
# #
# On vertical polarization the host can provision each vCPU differently. # On vertical polarization the host can provision each vCPU
# The guest will get information on the details of the provisioning # differently. The guest will get information on the details of the
# the next time it uses the STSI(15) instruction. # provisioning the next time it uses the STSI(15) instruction.
# #
# @polarization: polarization specified by the guest # @polarization: polarization specified by the guest
# #

View File

@ -920,13 +920,12 @@
# @socket-id: socket number within parent container the CPU belongs to # @socket-id: socket number within parent container the CPU belongs to
# #
# @die-id: die number within the parent container the CPU belongs to # @die-id: die number within the parent container the CPU belongs to
# (since 4.1) # (since 4.1)
# #
# @cluster-id: cluster number within the parent container the CPU # @cluster-id: cluster number within the parent container the CPU
# belongs to (since 7.1) # belongs to (since 7.1)
# #
# @core-id: core number within the parent container the CPU # @core-id: core number within the parent container the CPU belongs to
# belongs to
# #
# @thread-id: thread number within the core the CPU belongs to # @thread-id: thread number within the core the CPU belongs to
# #
@ -982,8 +981,8 @@
# #
# Examples: # Examples:
# #
# For pseries machine type started with -smp 2,cores=2,maxcpus=4 -cpu # For pseries machine type started with -smp 2,cores=2,maxcpus=4
# POWER8: # -cpu POWER8:
# #
# -> { "execute": "query-hotpluggable-cpus" } # -> { "execute": "query-hotpluggable-cpus" }
# <- {"return": [ # <- {"return": [
@ -1008,8 +1007,8 @@
# } # }
# ]} # ]}
# #
# For s390x-virtio-ccw machine type started with -smp 1,maxcpus=2 -cpu # For s390x-virtio-ccw machine type started with -smp 1,maxcpus=2
# qemu (Since: 2.11): # -cpu qemu (Since: 2.11):
# #
# -> { "execute": "query-hotpluggable-cpus" } # -> { "execute": "query-hotpluggable-cpus" }
# <- {"return": [ # <- {"return": [
@ -1152,8 +1151,8 @@
## ##
# @query-hv-balloon-status-report: # @query-hv-balloon-status-report:
# #
# Returns the hv-balloon driver data contained in the last received "STATUS" # Returns the hv-balloon driver data contained in the last received
# message from the guest. # "STATUS" message from the guest.
# #
# Returns: # Returns:
# @HvBalloonInfo # @HvBalloonInfo
@ -1191,7 +1190,6 @@
# <- { "event": "HV_BALLOON_STATUS_REPORT", # <- { "event": "HV_BALLOON_STATUS_REPORT",
# "data": { "committed": 816640000, "available": 3333054464 }, # "data": { "committed": 816640000, "available": 3333054464 },
# "timestamp": { "seconds": 1600295492, "microseconds": 661044 } } # "timestamp": { "seconds": 1600295492, "microseconds": 661044 } }
#
## ##
{ 'event': 'HV_BALLOON_STATUS_REPORT', { 'event': 'HV_BALLOON_STATUS_REPORT',
'data': 'HvBalloonInfo' } 'data': 'HvBalloonInfo' }

View File

@ -23,8 +23,8 @@
# #
# @duplicate: number of duplicate (zero) pages (since 1.2) # @duplicate: number of duplicate (zero) pages (since 1.2)
# #
# @skipped: number of skipped zero pages. Always zero, only provided for # @skipped: number of skipped zero pages. Always zero, only provided
# compatibility (since 1.5) # for compatibility (since 1.5)
# #
# @normal: number of normal pages (since 1.2) # @normal: number of normal pages (since 1.2)
# #
@ -68,7 +68,6 @@
# @deprecated: Member @skipped is always zero since 1.5.3 # @deprecated: Member @skipped is always zero since 1.5.3
# #
# Since: 0.14 # Since: 0.14
#
## ##
{ 'struct': 'MigrationStats', { 'struct': 'MigrationStats',
'data': {'transferred': 'int', 'remaining': 'int', 'total': 'int' , 'data': {'transferred': 'int', 'remaining': 'int', 'total': 'int' ,
@ -230,7 +229,7 @@
# throttled during auto-converge. This is only present when # throttled during auto-converge. This is only present when
# auto-converge has started throttling guest cpus. (Since 2.7) # auto-converge has started throttling guest cpus. (Since 2.7)
# #
# @error-desc: the human readable error description string. Clients # @error-desc: the human readable error description string. Clients
# should not attempt to parse the error strings. (Since 2.7) # should not attempt to parse the error strings. (Since 2.7)
# #
# @postcopy-blocktime: total time when all vCPU were blocked during # @postcopy-blocktime: total time when all vCPU were blocked during
@ -501,8 +500,8 @@
# #
# @background-snapshot: If enabled, the migration stream will be a # @background-snapshot: If enabled, the migration stream will be a
# snapshot of the VM exactly at the point when the migration # snapshot of the VM exactly at the point when the migration
# procedure starts. The VM RAM is saved with running VM. (since # procedure starts. The VM RAM is saved with running VM.
# 6.0) # (since 6.0)
# #
# @zero-copy-send: Controls behavior on sending memory pages on # @zero-copy-send: Controls behavior on sending memory pages on
# migration. When true, enables a zero-copy mechanism for sending # migration. When true, enables a zero-copy mechanism for sending
@ -638,11 +637,11 @@
## ##
# @MigMode: # @MigMode:
# #
# @normal: the original form of migration. (since 8.2) # @normal: the original form of migration. (since 8.2)
# #
# @cpr-reboot: The migrate command stops the VM and saves state to # @cpr-reboot: The migrate command stops the VM and saves state to the
# the URI. After quitting QEMU, the user resumes by running # URI. After quitting QEMU, the user resumes by running QEMU
# QEMU -incoming. # -incoming.
# #
# This mode allows the user to quit QEMU, optionally update and # This mode allows the user to quit QEMU, optionally update and
# reboot the OS, and restart QEMU. If the user reboots, the URI # reboot the OS, and restart QEMU. If the user reboots, the URI
@ -652,8 +651,8 @@
# does not block the migration, but the user must not modify the # does not block the migration, but the user must not modify the
# contents of guest block devices between the quit and restart. # contents of guest block devices between the quit and restart.
# #
# This mode supports VFIO devices provided the user first puts # This mode supports VFIO devices provided the user first puts the
# the guest in the suspended runstate, such as by issuing # guest in the suspended runstate, such as by issuing
# guest-suspend-ram to the QEMU guest agent. # guest-suspend-ram to the QEMU guest agent.
# #
# Best performance is achieved when the memory backend is shared # Best performance is achieved when the memory backend is shared
@ -678,11 +677,10 @@
# @legacy: Perform zero page checking in main migration thread. # @legacy: Perform zero page checking in main migration thread.
# #
# @multifd: Perform zero page checking in multifd sender thread if # @multifd: Perform zero page checking in multifd sender thread if
# multifd migration is enabled, else in the main migration # multifd migration is enabled, else in the main migration thread
# thread as for @legacy. # as for @legacy.
# #
# Since: 9.0 # Since: 9.0
#
## ##
{ 'enum': 'ZeroPageDetection', { 'enum': 'ZeroPageDetection',
'data': [ 'none', 'legacy', 'multifd' ] } 'data': [ 'none', 'legacy', 'multifd' ] }
@ -782,15 +780,15 @@
# #
# @throttle-trigger-threshold: The ratio of bytes_dirty_period and # @throttle-trigger-threshold: The ratio of bytes_dirty_period and
# bytes_xfer_period to trigger throttling. It is expressed as # bytes_xfer_period to trigger throttling. It is expressed as
# percentage. The default value is 50. (Since 5.0) # percentage. The default value is 50. (Since 5.0)
# #
# @cpu-throttle-initial: Initial percentage of time guest cpus are # @cpu-throttle-initial: Initial percentage of time guest cpus are
# throttled when migration auto-converge is activated. The # throttled when migration auto-converge is activated. The
# default value is 20. (Since 2.7) # default value is 20. (Since 2.7)
# #
# @cpu-throttle-increment: throttle percentage increase each time # @cpu-throttle-increment: throttle percentage increase each time
# auto-converge detects that migration is not making progress. # auto-converge detects that migration is not making progress.
# The default value is 10. (Since 2.7) # The default value is 10. (Since 2.7)
# #
# @cpu-throttle-tailslow: Make CPU throttling slower at tail stage At # @cpu-throttle-tailslow: Make CPU throttling slower at tail stage At
# the tail stage of throttling, the Guest is very sensitive to CPU # the tail stage of throttling, the Guest is very sensitive to CPU
@ -809,16 +807,19 @@
# for establishing a TLS connection over the migration data # for establishing a TLS connection over the migration data
# channel. On the outgoing side of the migration, the credentials # channel. On the outgoing side of the migration, the credentials
# must be for a 'client' endpoint, while for the incoming side the # must be for a 'client' endpoint, while for the incoming side the
# credentials must be for a 'server' endpoint. Setting this will # credentials must be for a 'server' endpoint. Setting this to a
# enable TLS for all migrations. The default is unset, resulting # non-empty string enables TLS for all migrations. An empty
# in unsecured migration at the QEMU level. (Since 2.7) # string means that QEMU will use plain text mode for migration,
# rather than TLS. (Since 2.7)
# #
# @tls-hostname: hostname of the target host for the migration. This # @tls-hostname: migration target's hostname for validating the
# is required when using x509 based TLS credentials and the # server's x509 certificate identity. If empty, QEMU will use the
# migration URI does not already include a hostname. For example # hostname from the migration URI, if any. A non-empty value is
# if using fd: or exec: based migration, the hostname must be # required when using x509 based TLS credentials and the migration
# provided so that the server's x509 certificate identity can be # URI does not include a hostname, such as fd: or exec: based
# validated. (Since 2.7) # migration. (Since 2.7)
#
# Note: empty value works only since 2.9.
# #
# @tls-authz: ID of the 'authz' object subclass that provides access # @tls-authz: ID of the 'authz' object subclass that provides access
# control checking of the TLS x509 certificate distinguished name. # control checking of the TLS x509 certificate distinguished name.
@ -826,18 +827,19 @@
# and recreated on the fly while the migration server is active. # and recreated on the fly while the migration server is active.
# If missing, it will default to denying access (Since 4.0) # If missing, it will default to denying access (Since 4.0)
# #
# @max-bandwidth: to set maximum speed for migration. maximum speed # @max-bandwidth: maximum speed for migration, in bytes per second.
# in bytes per second. (Since 2.8) # (Since 2.8)
# #
# @avail-switchover-bandwidth: to set the available bandwidth that # @avail-switchover-bandwidth: to set the available bandwidth that
# migration can use during switchover phase. NOTE! This does not # migration can use during switchover phase. NOTE! This does not
# limit the bandwidth during switchover, but only for calculations when # limit the bandwidth during switchover, but only for calculations
# making decisions to switchover. By default, this value is zero, # when making decisions to switchover. By default, this value is
# which means QEMU will estimate the bandwidth automatically. This can # zero, which means QEMU will estimate the bandwidth
# be set when the estimated value is not accurate, while the user is # automatically. This can be set when the estimated value is not
# able to guarantee such bandwidth is available when switching over. # accurate, while the user is able to guarantee such bandwidth is
# When specified correctly, this can make the switchover decision much # available when switching over. When specified correctly, this
# more accurate. (Since 8.2) # can make the switchover decision much more accurate.
# (Since 8.2)
# #
# @downtime-limit: set maximum tolerated downtime for migration. # @downtime-limit: set maximum tolerated downtime for migration.
# maximum downtime in milliseconds (Since 2.8) # maximum downtime in milliseconds (Since 2.8)
@ -874,13 +876,13 @@
# migration, the compression level is an integer between 0 and 9, # migration, the compression level is an integer between 0 and 9,
# where 0 means no compression, 1 means the best compression # where 0 means no compression, 1 means the best compression
# speed, and 9 means best compression ratio which will consume # speed, and 9 means best compression ratio which will consume
# more CPU. Defaults to 1. (Since 5.0) # more CPU. Defaults to 1. (Since 5.0)
# #
# @multifd-zstd-level: Set the compression level to be used in live # @multifd-zstd-level: Set the compression level to be used in live
# migration, the compression level is an integer between 0 and 20, # migration, the compression level is an integer between 0 and 20,
# where 0 means no compression, 1 means the best compression # where 0 means no compression, 1 means the best compression
# speed, and 20 means best compression ratio which will consume # speed, and 20 means best compression ratio which will consume
# more CPU. Defaults to 1. (Since 5.0) # more CPU. Defaults to 1. (Since 5.0)
# #
# @block-bitmap-mapping: Maps block nodes and bitmaps on them to # @block-bitmap-mapping: Maps block nodes and bitmaps on them to
# aliases for the purpose of dirty bitmap migration. Such aliases # aliases for the purpose of dirty bitmap migration. Such aliases
@ -899,14 +901,14 @@
# to their node name otherwise. (Since 5.2) # to their node name otherwise. (Since 5.2)
# #
# @x-vcpu-dirty-limit-period: Periodic time (in milliseconds) of dirty # @x-vcpu-dirty-limit-period: Periodic time (in milliseconds) of dirty
# limit during live migration. Should be in the range 1 to 1000ms. # limit during live migration. Should be in the range 1 to
# Defaults to 1000ms. (Since 8.1) # 1000ms. Defaults to 1000ms. (Since 8.1)
# #
# @vcpu-dirty-limit: Dirtyrate limit (MB/s) during live migration. # @vcpu-dirty-limit: Dirtyrate limit (MB/s) during live migration.
# Defaults to 1. (Since 8.1) # Defaults to 1. (Since 8.1)
# #
# @mode: Migration mode. See description in @MigMode. Default is 'normal'. # @mode: Migration mode. See description in @MigMode. Default is
# (Since 8.2) # 'normal'. (Since 8.2)
# #
# @zero-page-detection: Whether and how to detect zero pages. # @zero-page-detection: Whether and how to detect zero pages.
# See description in @ZeroPageDetection. Default is 'multifd'. # See description in @ZeroPageDetection. Default is 'multifd'.
@ -919,8 +921,8 @@
# @compress-threads, @decompress-threads and @compress-wait-thread # @compress-threads, @decompress-threads and @compress-wait-thread
# are deprecated because @compression is deprecated. # are deprecated because @compression is deprecated.
# #
# @unstable: Members @x-checkpoint-delay and @x-vcpu-dirty-limit-period # @unstable: Members @x-checkpoint-delay and
# are experimental. # @x-vcpu-dirty-limit-period are experimental.
# #
# Since: 2.4 # Since: 2.4
## ##
@ -963,28 +965,38 @@
# @announce-step: Increase in delay (in milliseconds) between # @announce-step: Increase in delay (in milliseconds) between
# subsequent packets in the announcement (Since 4.0) # subsequent packets in the announcement (Since 4.0)
# #
# @compress-level: compression level # @compress-level: Set the compression level to be used in live
# migration, the compression level is an integer between 0 and 9,
# where 0 means no compression, 1 means the best compression
# speed, and 9 means best compression ratio which will consume
# more CPU.
# #
# @compress-threads: compression thread count # @compress-threads: Set compression thread count to be used in live
# migration, the compression thread count is an integer between 1
# and 255.
# #
# @compress-wait-thread: Controls behavior when all compression # @compress-wait-thread: Controls behavior when all compression
# threads are currently busy. If true (default), wait for a free # threads are currently busy. If true (default), wait for a free
# compression thread to become available; otherwise, send the page # compression thread to become available; otherwise, send the page
# uncompressed. (Since 3.1) # uncompressed. (Since 3.1)
# #
# @decompress-threads: decompression thread count # @decompress-threads: Set decompression thread count to be used in
# live migration, the decompression thread count is an integer
# between 1 and 255. Usually, decompression is at least 4 times as
# fast as compression, so set the decompress-threads to the number
# about 1/4 of compress-threads is adequate.
# #
# @throttle-trigger-threshold: The ratio of bytes_dirty_period and # @throttle-trigger-threshold: The ratio of bytes_dirty_period and
# bytes_xfer_period to trigger throttling. It is expressed as # bytes_xfer_period to trigger throttling. It is expressed as
# percentage. The default value is 50. (Since 5.0) # percentage. The default value is 50. (Since 5.0)
# #
# @cpu-throttle-initial: Initial percentage of time guest cpus are # @cpu-throttle-initial: Initial percentage of time guest cpus are
# throttled when migration auto-converge is activated. The # throttled when migration auto-converge is activated. The
# default value is 20. (Since 2.7) # default value is 20. (Since 2.7)
# #
# @cpu-throttle-increment: throttle percentage increase each time # @cpu-throttle-increment: throttle percentage increase each time
# auto-converge detects that migration is not making progress. # auto-converge detects that migration is not making progress.
# The default value is 10. (Since 2.7) # The default value is 10. (Since 2.7)
# #
# @cpu-throttle-tailslow: Make CPU throttling slower at tail stage At # @cpu-throttle-tailslow: Make CPU throttling slower at tail stage At
# the tail stage of throttling, the Guest is very sensitive to CPU # the tail stage of throttling, the Guest is very sensitive to CPU
@ -1006,41 +1018,42 @@
# credentials must be for a 'server' endpoint. Setting this to a # credentials must be for a 'server' endpoint. Setting this to a
# non-empty string enables TLS for all migrations. An empty # non-empty string enables TLS for all migrations. An empty
# string means that QEMU will use plain text mode for migration, # string means that QEMU will use plain text mode for migration,
# rather than TLS (Since 2.9) Previously (since 2.7), this was # rather than TLS. This is the default. (Since 2.7)
# reported by omitting tls-creds instead.
# #
# @tls-hostname: hostname of the target host for the migration. This # @tls-hostname: migration target's hostname for validating the
# is required when using x509 based TLS credentials and the # server's x509 certificate identity. If empty, QEMU will use the
# migration URI does not already include a hostname. For example # hostname from the migration URI, if any. A non-empty value is
# if using fd: or exec: based migration, the hostname must be # required when using x509 based TLS credentials and the migration
# provided so that the server's x509 certificate identity can be # URI does not include a hostname, such as fd: or exec: based
# validated. (Since 2.7) An empty string means that QEMU will use # migration. (Since 2.7)
# the hostname associated with the migration URI, if any. (Since #
# 2.9) Previously (since 2.7), this was reported by omitting # Note: empty value works only since 2.9.
# tls-hostname instead.
# #
# @tls-authz: ID of the 'authz' object subclass that provides access # @tls-authz: ID of the 'authz' object subclass that provides access
# control checking of the TLS x509 certificate distinguished name. # control checking of the TLS x509 certificate distinguished name.
# (Since 4.0) # This object is only resolved at time of use, so can be deleted
# and recreated on the fly while the migration server is active.
# If missing, it will default to denying access (Since 4.0)
# #
# @max-bandwidth: to set maximum speed for migration. maximum speed # @max-bandwidth: maximum speed for migration, in bytes per second.
# in bytes per second. (Since 2.8) # (Since 2.8)
# #
# @avail-switchover-bandwidth: to set the available bandwidth that # @avail-switchover-bandwidth: to set the available bandwidth that
# migration can use during switchover phase. NOTE! This does not # migration can use during switchover phase. NOTE! This does not
# limit the bandwidth during switchover, but only for calculations when # limit the bandwidth during switchover, but only for calculations
# making decisions to switchover. By default, this value is zero, # when making decisions to switchover. By default, this value is
# which means QEMU will estimate the bandwidth automatically. This can # zero, which means QEMU will estimate the bandwidth
# be set when the estimated value is not accurate, while the user is # automatically. This can be set when the estimated value is not
# able to guarantee such bandwidth is available when switching over. # accurate, while the user is able to guarantee such bandwidth is
# When specified correctly, this can make the switchover decision much # available when switching over. When specified correctly, this
# more accurate. (Since 8.2) # can make the switchover decision much more accurate.
# (Since 8.2)
# #
# @downtime-limit: set maximum tolerated downtime for migration. # @downtime-limit: set maximum tolerated downtime for migration.
# maximum downtime in milliseconds (Since 2.8) # maximum downtime in milliseconds (Since 2.8)
# #
# @x-checkpoint-delay: the delay time between two COLO checkpoints. # @x-checkpoint-delay: The delay time (in ms) between two COLO
# (Since 2.8) # checkpoints in periodic mode. (Since 2.8)
# #
# @block-incremental: Affects how much storage is migrated when the # @block-incremental: Affects how much storage is migrated when the
# block migration capability is enabled. When false, the entire # block migration capability is enabled. When false, the entire
@ -1061,8 +1074,8 @@
# postcopy. Defaults to 0 (unlimited). In bytes per second. # postcopy. Defaults to 0 (unlimited). In bytes per second.
# (Since 3.0) # (Since 3.0)
# #
# @max-cpu-throttle: maximum cpu throttle percentage. The default # @max-cpu-throttle: maximum cpu throttle percentage. Defaults to 99.
# value is 99. (Since 3.1) # (Since 3.1)
# #
# @multifd-compression: Which compression method to use. Defaults to # @multifd-compression: Which compression method to use. Defaults to
# none. (Since 5.0) # none. (Since 5.0)
@ -1071,13 +1084,13 @@
# migration, the compression level is an integer between 0 and 9, # migration, the compression level is an integer between 0 and 9,
# where 0 means no compression, 1 means the best compression # where 0 means no compression, 1 means the best compression
# speed, and 9 means best compression ratio which will consume # speed, and 9 means best compression ratio which will consume
# more CPU. Defaults to 1. (Since 5.0) # more CPU. Defaults to 1. (Since 5.0)
# #
# @multifd-zstd-level: Set the compression level to be used in live # @multifd-zstd-level: Set the compression level to be used in live
# migration, the compression level is an integer between 0 and 20, # migration, the compression level is an integer between 0 and 20,
# where 0 means no compression, 1 means the best compression # where 0 means no compression, 1 means the best compression
# speed, and 20 means best compression ratio which will consume # speed, and 20 means best compression ratio which will consume
# more CPU. Defaults to 1. (Since 5.0) # more CPU. Defaults to 1. (Since 5.0)
# #
# @block-bitmap-mapping: Maps block nodes and bitmaps on them to # @block-bitmap-mapping: Maps block nodes and bitmaps on them to
# aliases for the purpose of dirty bitmap migration. Such aliases # aliases for the purpose of dirty bitmap migration. Such aliases
@ -1096,14 +1109,14 @@
# to their node name otherwise. (Since 5.2) # to their node name otherwise. (Since 5.2)
# #
# @x-vcpu-dirty-limit-period: Periodic time (in milliseconds) of dirty # @x-vcpu-dirty-limit-period: Periodic time (in milliseconds) of dirty
# limit during live migration. Should be in the range 1 to 1000ms. # limit during live migration. Should be in the range 1 to
# Defaults to 1000ms. (Since 8.1) # 1000ms. Defaults to 1000ms. (Since 8.1)
# #
# @vcpu-dirty-limit: Dirtyrate limit (MB/s) during live migration. # @vcpu-dirty-limit: Dirtyrate limit (MB/s) during live migration.
# Defaults to 1. (Since 8.1) # Defaults to 1. (Since 8.1)
# #
# @mode: Migration mode. See description in @MigMode. Default is 'normal'. # @mode: Migration mode. See description in @MigMode. Default is
# (Since 8.2) # 'normal'. (Since 8.2)
# #
# @zero-page-detection: Whether and how to detect zero pages. # @zero-page-detection: Whether and how to detect zero pages.
# See description in @ZeroPageDetection. Default is 'multifd'. # See description in @ZeroPageDetection. Default is 'multifd'.
@ -1116,8 +1129,8 @@
# @compress-threads, @decompress-threads and @compress-wait-thread # @compress-threads, @decompress-threads and @compress-wait-thread
# are deprecated because @compression is deprecated. # are deprecated because @compression is deprecated.
# #
# @unstable: Members @x-checkpoint-delay and @x-vcpu-dirty-limit-period # @unstable: Members @x-checkpoint-delay and
# are experimental. # @x-vcpu-dirty-limit-period are experimental.
# #
# TODO: either fuse back into MigrationParameters, or make # TODO: either fuse back into MigrationParameters, or make
# MigrationParameters members mandatory # MigrationParameters members mandatory
@ -1211,7 +1224,7 @@
# #
# @throttle-trigger-threshold: The ratio of bytes_dirty_period and # @throttle-trigger-threshold: The ratio of bytes_dirty_period and
# bytes_xfer_period to trigger throttling. It is expressed as # bytes_xfer_period to trigger throttling. It is expressed as
# percentage. The default value is 50. (Since 5.0) # percentage. The default value is 50. (Since 5.0)
# #
# @cpu-throttle-initial: Initial percentage of time guest cpus are # @cpu-throttle-initial: Initial percentage of time guest cpus are
# throttled when migration auto-converge is activated. (Since # throttled when migration auto-converge is activated. (Since
@ -1240,34 +1253,33 @@
# must be for a 'client' endpoint, while for the incoming side the # must be for a 'client' endpoint, while for the incoming side the
# credentials must be for a 'server' endpoint. An empty string # credentials must be for a 'server' endpoint. An empty string
# means that QEMU will use plain text mode for migration, rather # means that QEMU will use plain text mode for migration, rather
# than TLS (Since 2.7) Note: 2.8 reports this by omitting # than TLS. (Since 2.7)
# tls-creds instead.
# #
# @tls-hostname: hostname of the target host for the migration. This # Note: 2.8 omits empty @tls-creds instead.
# is required when using x509 based TLS credentials and the #
# migration URI does not already include a hostname. For example # @tls-hostname: migration target's hostname for validating the
# if using fd: or exec: based migration, the hostname must be # server's x509 certificate identity. If empty, QEMU will use the
# provided so that the server's x509 certificate identity can be # hostname from the migration URI, if any. (Since 2.7)
# validated. (Since 2.7) An empty string means that QEMU will use #
# the hostname associated with the migration URI, if any. (Since # Note: 2.8 omits empty @tls-hostname instead.
# 2.9) Note: 2.8 reports this by omitting tls-hostname instead.
# #
# @tls-authz: ID of the 'authz' object subclass that provides access # @tls-authz: ID of the 'authz' object subclass that provides access
# control checking of the TLS x509 certificate distinguished name. # control checking of the TLS x509 certificate distinguished name.
# (Since 4.0) # (Since 4.0)
# #
# @max-bandwidth: to set maximum speed for migration. maximum speed # @max-bandwidth: maximum speed for migration, in bytes per second.
# in bytes per second. (Since 2.8) # (Since 2.8)
# #
# @avail-switchover-bandwidth: to set the available bandwidth that # @avail-switchover-bandwidth: to set the available bandwidth that
# migration can use during switchover phase. NOTE! This does not # migration can use during switchover phase. NOTE! This does not
# limit the bandwidth during switchover, but only for calculations when # limit the bandwidth during switchover, but only for calculations
# making decisions to switchover. By default, this value is zero, # when making decisions to switchover. By default, this value is
# which means QEMU will estimate the bandwidth automatically. This can # zero, which means QEMU will estimate the bandwidth
# be set when the estimated value is not accurate, while the user is # automatically. This can be set when the estimated value is not
# able to guarantee such bandwidth is available when switching over. # accurate, while the user is able to guarantee such bandwidth is
# When specified correctly, this can make the switchover decision much # available when switching over. When specified correctly, this
# more accurate. (Since 8.2) # can make the switchover decision much more accurate.
# (Since 8.2)
# #
# @downtime-limit: set maximum tolerated downtime for migration. # @downtime-limit: set maximum tolerated downtime for migration.
# maximum downtime in milliseconds (Since 2.8) # maximum downtime in milliseconds (Since 2.8)
@ -1304,13 +1316,13 @@
# migration, the compression level is an integer between 0 and 9, # migration, the compression level is an integer between 0 and 9,
# where 0 means no compression, 1 means the best compression # where 0 means no compression, 1 means the best compression
# speed, and 9 means best compression ratio which will consume # speed, and 9 means best compression ratio which will consume
# more CPU. Defaults to 1. (Since 5.0) # more CPU. Defaults to 1. (Since 5.0)
# #
# @multifd-zstd-level: Set the compression level to be used in live # @multifd-zstd-level: Set the compression level to be used in live
# migration, the compression level is an integer between 0 and 20, # migration, the compression level is an integer between 0 and 20,
# where 0 means no compression, 1 means the best compression # where 0 means no compression, 1 means the best compression
# speed, and 20 means best compression ratio which will consume # speed, and 20 means best compression ratio which will consume
# more CPU. Defaults to 1. (Since 5.0) # more CPU. Defaults to 1. (Since 5.0)
# #
# @block-bitmap-mapping: Maps block nodes and bitmaps on them to # @block-bitmap-mapping: Maps block nodes and bitmaps on them to
# aliases for the purpose of dirty bitmap migration. Such aliases # aliases for the purpose of dirty bitmap migration. Such aliases
@ -1329,14 +1341,14 @@
# to their node name otherwise. (Since 5.2) # to their node name otherwise. (Since 5.2)
# #
# @x-vcpu-dirty-limit-period: Periodic time (in milliseconds) of dirty # @x-vcpu-dirty-limit-period: Periodic time (in milliseconds) of dirty
# limit during live migration. Should be in the range 1 to 1000ms. # limit during live migration. Should be in the range 1 to
# Defaults to 1000ms. (Since 8.1) # 1000ms. Defaults to 1000ms. (Since 8.1)
# #
# @vcpu-dirty-limit: Dirtyrate limit (MB/s) during live migration. # @vcpu-dirty-limit: Dirtyrate limit (MB/s) during live migration.
# Defaults to 1. (Since 8.1) # Defaults to 1. (Since 8.1)
# #
# @mode: Migration mode. See description in @MigMode. Default is 'normal'. # @mode: Migration mode. See description in @MigMode. Default is
# (Since 8.2) # 'normal'. (Since 8.2)
# #
# @zero-page-detection: Whether and how to detect zero pages. # @zero-page-detection: Whether and how to detect zero pages.
# See description in @ZeroPageDetection. Default is 'multifd'. # See description in @ZeroPageDetection. Default is 'multifd'.
@ -1349,8 +1361,8 @@
# @compress-threads, @decompress-threads and @compress-wait-thread # @compress-threads, @decompress-threads and @compress-wait-thread
# are deprecated because @compression is deprecated. # are deprecated because @compression is deprecated.
# #
# @unstable: Members @x-checkpoint-delay and @x-vcpu-dirty-limit-period # @unstable: Members @x-checkpoint-delay and
# are experimental. # @x-vcpu-dirty-limit-period are experimental.
# #
# Since: 2.4 # Since: 2.4
## ##
@ -1737,7 +1749,7 @@
# @detach: this argument exists only for compatibility reasons and is # @detach: this argument exists only for compatibility reasons and is
# ignored by QEMU # ignored by QEMU
# #
# @resume: resume one paused migration, default "off". (since 3.0) # @resume: resume one paused migration, default "off". (since 3.0)
# #
# Features: # Features:
# #
@ -1762,7 +1774,7 @@
# default network. # default network.
# #
# 5. For now, number of migration streams is restricted to one, # 5. For now, number of migration streams is restricted to one,
# i.e number of items in 'channels' list is just 1. # i.e. number of items in 'channels' list is just 1.
# #
# 6. The 'uri' and 'channels' arguments are mutually exclusive; # 6. The 'uri' and 'channels' arguments are mutually exclusive;
# exactly one of the two should be present. # exactly one of the two should be present.
@ -1839,7 +1851,7 @@
# 3. The uri format is the same as for -incoming # 3. The uri format is the same as for -incoming
# #
# 4. For now, number of migration streams is restricted to one, # 4. For now, number of migration streams is restricted to one,
# i.e number of items in 'channels' list is just 1. # i.e. number of items in 'channels' list is just 1.
# #
# 5. The 'uri' and 'channels' arguments are mutually exclusive; # 5. The 'uri' and 'channels' arguments are mutually exclusive;
# exactly one of the two should be present. # exactly one of the two should be present.
@ -1949,8 +1961,8 @@
# #
# @primary: true for primary or false for secondary. # @primary: true for primary or false for secondary.
# #
# @failover: true to do failover, false to stop. but cannot be # @failover: true to do failover, false to stop. Cannot be specified
# specified if 'enable' is true. default value is false. # if 'enable' is true. Default value is false.
# #
# Example: # Example:
# #
@ -2163,7 +2175,6 @@
# @millisecond: value is in milliseconds # @millisecond: value is in milliseconds
# #
# Since: 8.2 # Since: 8.2
#
## ##
{ 'enum': 'TimeUnit', { 'enum': 'TimeUnit',
'data': ['second', 'millisecond'] } 'data': ['second', 'millisecond'] }
@ -2245,7 +2256,7 @@
# will not increase dirty page rate anymore. # will not increase dirty page rate anymore.
# #
# @calc-time-unit: time unit in which @calc-time is specified. # @calc-time-unit: time unit in which @calc-time is specified.
# By default it is seconds. (Since 8.2) # By default it is seconds. (Since 8.2)
# #
# @sample-pages: number of sampled pages per each GiB of guest memory. # @sample-pages: number of sampled pages per each GiB of guest memory.
# Default value is 512. For 4KiB guest pages this corresponds to # Default value is 512. For 4KiB guest pages this corresponds to
@ -2282,7 +2293,7 @@
# Query results of the most recent invocation of @calc-dirty-rate. # Query results of the most recent invocation of @calc-dirty-rate.
# #
# @calc-time-unit: time unit in which to report calculation time. # @calc-time-unit: time unit in which to report calculation time.
# By default it is reported in seconds. (Since 8.2) # By default it is reported in seconds. (Since 8.2)
# #
# Since: 5.2 # Since: 5.2
# #
@ -2408,9 +2419,7 @@
# #
# Returns information of migration threads # Returns information of migration threads
# #
# data: migration thread name # Returns: @MigrationThreadInfo
#
# Returns: information about migration threads
# #
# Since: 7.2 # Since: 7.2
## ##

View File

@ -32,9 +32,9 @@
# #
# Example: # Example:
# #
# -> { "execute": "add_client", "arguments": { "protocol": "vnc", # -> { "execute": "add_client", "arguments": { "protocol": "vnc",
# "fdname": "myclient" } } # "fdname": "myclient" } }
# <- { "return": {} } # <- { "return": {} }
## ##
{ 'command': 'add_client', { 'command': 'add_client',
'data': { 'protocol': 'str', 'fdname': 'str', '*skipauth': 'bool', 'data': { 'protocol': 'str', 'fdname': 'str', '*skipauth': 'bool',
@ -142,7 +142,7 @@
# option was passed on the command line. # option was passed on the command line.
# #
# In the "suspended" state, it will completely stop the VM and # In the "suspended" state, it will completely stop the VM and
# cause a transition to the "paused" state. (Since 9.0) # cause a transition to the "paused" state. (Since 9.0)
# #
# Example: # Example:
# #

View File

@ -425,8 +425,8 @@
# #
# @skb: generic mode, no driver support necessary # @skb: generic mode, no driver support necessary
# #
# @native: DRV mode, program is attached to a driver, packets are passed to # @native: DRV mode, program is attached to a driver, packets are
# the socket without allocation of skb. # passed to the socket without allocation of skb.
# #
# Since: 8.2 # Since: 8.2
## ##
@ -441,23 +441,26 @@
# #
# @ifname: The name of an existing network interface. # @ifname: The name of an existing network interface.
# #
# @mode: Attach mode for a default XDP program. If not specified, then # @mode: Attach mode for a default XDP program. If not specified,
# 'native' will be tried first, then 'skb'. # then 'native' will be tried first, then 'skb'.
# #
# @force-copy: Force XDP copy mode even if device supports zero-copy. # @force-copy: Force XDP copy mode even if device supports zero-copy.
# (default: false) # (default: false)
# #
# @queues: number of queues to be used for multiqueue interfaces (default: 1). # @queues: number of queues to be used for multiqueue interfaces
# (default: 1).
# #
# @start-queue: Use @queues starting from this queue number (default: 0). # @start-queue: Use @queues starting from this queue number
# (default: 0).
# #
# @inhibit: Don't load a default XDP program, use one already loaded to # @inhibit: Don't load a default XDP program, use one already loaded
# the interface (default: false). Requires @sock-fds. # to the interface (default: false). Requires @sock-fds.
# #
# @sock-fds: A colon (:) separated list of file descriptors for already open # @sock-fds: A colon (:) separated list of file descriptors for
# but not bound AF_XDP sockets in the queue order. One fd per queue. # already open but not bound AF_XDP sockets in the queue order.
# These descriptors should already be added into XDP socket map for # One fd per queue. These descriptors should already be added
# corresponding queues. Requires @inhibit. # into XDP socket map for corresponding queues. Requires
# @inhibit.
# #
# Since: 8.2 # Since: 8.2
## ##

View File

@ -57,13 +57,10 @@
'DummyForceArrays', 'DummyForceArrays',
'DummyVirtioForceArrays', 'DummyVirtioForceArrays',
'GrabToggleKeys', 'GrabToggleKeys',
'GuestPanicInformationHyperV',
'HotKeyMod', 'HotKeyMod',
'ImageInfoSpecificKind', 'ImageInfoSpecificKind',
'InputAxis', 'InputAxis',
'InputButton', 'InputButton',
'InputMultiTouchEvent',
'InputMultiTouchType',
'IscsiHeaderDigest', 'IscsiHeaderDigest',
'IscsiTransport', 'IscsiTransport',
'JSONType', 'JSONType',
@ -75,11 +72,8 @@
'QCryptoAkCipherKeyType', 'QCryptoAkCipherKeyType',
'QCryptodevBackendServiceType', 'QCryptodevBackendServiceType',
'QKeyCode', 'QKeyCode',
'Qcow2OverlapCheckFlags',
'RbdAuthMode', 'RbdAuthMode',
'RbdImageEncryptionFormat', 'RbdImageEncryptionFormat',
'StatsFilter',
'StatsValue',
'String', 'String',
'StringWrapper', 'StringWrapper',
'SysEmuTarget', 'SysEmuTarget',
@ -90,13 +84,8 @@
'XDbgBlockGraph', 'XDbgBlockGraph',
'YankInstanceType', 'YankInstanceType',
'blockdev-reopen', 'blockdev-reopen',
'query-cpu-model-baseline',
'query-cpu-model-comparison',
'query-cpu-model-expansion',
'query-rocker', 'query-rocker',
'query-rocker-ports', 'query-rocker-ports' ],
'query-stats-schemas',
'watchdog-set-action' ],
# Externally visible types whose member names may use uppercase # Externally visible types whose member names may use uppercase
'member-name-exceptions': [ # visible in: 'member-name-exceptions': [ # visible in:
'ACPISlotType', # query-acpi-ospm-status 'ACPISlotType', # query-acpi-ospm-status

View File

@ -649,14 +649,14 @@
# #
# @offset: the offset into the target file that the region starts at. # @offset: the offset into the target file that the region starts at.
# You can use this option to back multiple regions with a single # You can use this option to back multiple regions with a single
# file. Must be a multiple of the page size. # file. Must be a multiple of the page size.
# (default: 0) (since 8.1) # (default: 0) (since 8.1)
# #
# @discard-data: if true, the file contents can be destroyed when QEMU # @discard-data: if true, the file contents can be destroyed when QEMU
# exits, to avoid unnecessarily flushing data to the backing file. # exits, to avoid unnecessarily flushing data to the backing file.
# Note that @discard-data is only an optimization, and QEMU might # Note that @discard-data is only an optimization, and QEMU might
# not discard file contents if it aborts unexpectedly or is # not discard file contents if it aborts unexpectedly or is
# terminated using SIGKILL. (default: false) # terminated using SIGKILL. (default: false)
# #
# @mem-path: the path to either a shared memory or huge page # @mem-path: the path to either a shared memory or huge page
# filesystem mount # filesystem mount
@ -668,19 +668,20 @@
# @readonly: if true, the backing file is opened read-only; if false, # @readonly: if true, the backing file is opened read-only; if false,
# it is opened read-write. (default: false) # it is opened read-write. (default: false)
# #
# @rom: whether to create Read Only Memory (ROM) that cannot be modified # @rom: whether to create Read Only Memory (ROM) that cannot be
# by the VM. Any write attempts to such ROM will be denied. Most # modified by the VM. Any write attempts to such ROM will be
# use cases want writable RAM instead of ROM. However, selected use # denied. Most use cases want writable RAM instead of ROM.
# cases, like R/O NVDIMMs, can benefit from ROM. If set to 'on', # However, selected use cases, like R/O NVDIMMs, can benefit from
# create ROM; if set to 'off', create writable RAM; if set to # ROM. If set to 'on', create ROM; if set to 'off', create
# 'auto', the value of the @readonly property is used. This # writable RAM; if set to 'auto', the value of the @readonly
# property is primarily helpful when we want to have proper RAM in # property is used. This property is primarily helpful when we
# configurations that would traditionally create ROM before this # want to have proper RAM in configurations that would
# property was introduced: VM templating, where we want to open a # traditionally create ROM before this property was introduced: VM
# file readonly (@readonly set to true) and mark the memory to be # templating, where we want to open a file readonly (@readonly set
# private for QEMU (@share set to false). For this use case, we need # to true) and mark the memory to be private for QEMU (@share set
# writable RAM instead of ROM, and want to set this property to 'off'. # to false). For this use case, we need writable RAM instead of
# (default: auto, since 8.2) # ROM, and want to set this property to 'off'. (default: auto,
# since 8.2)
# #
# Since: 2.1 # Since: 2.1
## ##
@ -801,10 +802,9 @@
# #
# @fd: file descriptor name previously passed via 'getfd' command, # @fd: file descriptor name previously passed via 'getfd' command,
# which represents a pre-opened /dev/iommu. This allows the # which represents a pre-opened /dev/iommu. This allows the
# iommufd object to be shared accross several subsystems # iommufd object to be shared accross several subsystems (VFIO,
# (VFIO, VDPA, ...), and the file descriptor to be shared # VDPA, ...), and the file descriptor to be shared with other
# with other process, e.g. DPDK. (default: QEMU opens # process, e.g. DPDK. (default: QEMU opens /dev/iommu by itself)
# /dev/iommu by itself)
# #
# Since: 9.0 # Since: 9.0
## ##

View File

@ -105,8 +105,8 @@
# replaying the execution. The command automatically loads nearest # replaying the execution. The command automatically loads nearest
# snapshot and replays the execution to find the desired instruction. # snapshot and replays the execution to find the desired instruction.
# When there is no preceding snapshot or the execution is not # When there is no preceding snapshot or the execution is not
# replayed, then the command fails. icount for the reference may be # replayed, then the command fails. Instruction count can be obtained
# obtained with @query-replay command. # with the @query-replay command.
# #
# @icount: target instruction count # @icount: target instruction count
# #

View File

@ -91,7 +91,7 @@
# #
# @snapshot-load: A snapshot is being loaded by the record & replay # @snapshot-load: A snapshot is being loaded by the record & replay
# subsystem. This value is used only within QEMU. It doesn't # subsystem. This value is used only within QEMU. It doesn't
# occur in QMP. (since 7.2) # occur in QMP. (since 7.2)
## ##
{ 'enum': 'ShutdownCause', { 'enum': 'ShutdownCause',
# Beware, shutdown_caused_by_guest() depends on enumeration order # Beware, shutdown_caused_by_guest() depends on enumeration order
@ -109,7 +109,6 @@
# @status: the virtual machine @RunState # @status: the virtual machine @RunState
# #
# Since: 0.14 # Since: 0.14
#
## ##
{ 'struct': 'StatusInfo', { 'struct': 'StatusInfo',
'data': {'running': 'bool', 'data': {'running': 'bool',
@ -142,10 +141,10 @@
# @guest: If true, the shutdown was triggered by a guest request (such # @guest: If true, the shutdown was triggered by a guest request (such
# as a guest-initiated ACPI shutdown request or other # as a guest-initiated ACPI shutdown request or other
# hardware-specific action) rather than a host request (such as # hardware-specific action) rather than a host request (such as
# sending qemu a SIGINT). (since 2.10) # sending qemu a SIGINT). (since 2.10)
# #
# @reason: The @ShutdownCause which resulted in the SHUTDOWN. (since # @reason: The @ShutdownCause which resulted in the SHUTDOWN.
# 4.0) # (since 4.0)
# #
# Note: If the command-line option "-no-shutdown" has been specified, # Note: If the command-line option "-no-shutdown" has been specified,
# qemu will not exit, and a STOP event will eventually follow the # qemu will not exit, and a STOP event will eventually follow the
@ -184,9 +183,9 @@
# @guest: If true, the reset was triggered by a guest request (such as # @guest: If true, the reset was triggered by a guest request (such as
# a guest-initiated ACPI reboot request or other hardware-specific # a guest-initiated ACPI reboot request or other hardware-specific
# action) rather than a host request (such as the QMP command # action) rather than a host request (such as the QMP command
# system_reset). (since 2.10) # system_reset). (since 2.10)
# #
# @reason: The @ShutdownCause of the RESET. (since 4.0) # @reason: The @ShutdownCause of the RESET. (since 4.0)
# #
# Since: 0.12 # Since: 0.12
# #
@ -377,9 +376,17 @@
## ##
# @watchdog-set-action: # @watchdog-set-action:
# #
# Set watchdog action # Set watchdog action.
#
# @action: @WatchdogAction action taken when watchdog timer expires.
# #
# Since: 2.11 # Since: 2.11
#
# Example:
#
# -> { "execute": "watchdog-set-action",
# "arguments": { "action": "inject-nmi" } }
# <- { "return": {} }
## ##
{ 'command': 'watchdog-set-action', 'data' : {'action': 'WatchdogAction'} } { 'command': 'watchdog-set-action', 'data' : {'action': 'WatchdogAction'} }
@ -505,6 +512,22 @@
# #
# Hyper-V specific guest panic information (HV crash MSRs) # Hyper-V specific guest panic information (HV crash MSRs)
# #
# @arg1: for Windows, STOP code for the guest crash. For Linux,
# an error code.
#
# @arg2: for Windows, first argument of the STOP. For Linux, the
# guest OS ID, which has the kernel version in bits 16-47
# and 0x8100 in bits 48-63.
#
# @arg3: for Windows, second argument of the STOP. For Linux, the
# program counter of the guest.
#
# @arg4: for Windows, third argument of the STOP. For Linux, the
# RAX register (x86) or the stack pointer (aarch64) of the guest.
#
# @arg5: for Windows, fourth argument of the STOP. For x86 Linux, the
# stack pointer of the guest.
#
# Since: 2.9 # Since: 2.9
## ##
{'struct': 'GuestPanicInformationHyperV', {'struct': 'GuestPanicInformationHyperV',
@ -568,11 +591,9 @@
# #
# @recipient: recipient is defined as @MemoryFailureRecipient. # @recipient: recipient is defined as @MemoryFailureRecipient.
# #
# @action: action that has been taken. action is defined as # @action: action that has been taken.
# @MemoryFailureAction.
# #
# @flags: flags for MemoryFailureAction. action is defined as # @flags: flags for MemoryFailureAction.
# @MemoryFailureFlags.
# #
# Since: 5.2 # Since: 5.2
# #

View File

@ -58,7 +58,7 @@
# @keep-alive: enable keep-alive when connecting to this socket. Not # @keep-alive: enable keep-alive when connecting to this socket. Not
# supported for passive sockets. (Since 4.2) # supported for passive sockets. (Since 4.2)
# #
# @mptcp: enable multi-path TCP. (Since 6.1) # @mptcp: enable multi-path TCP. (Since 6.1)
# #
# Since: 1.3 # Since: 1.3
## ##
@ -125,7 +125,6 @@
# Decimal file descriptors are permitted at startup or other # Decimal file descriptors are permitted at startup or other
# contexts where no monitor context is active. # contexts where no monitor context is active.
# #
#
# Since: 1.2 # Since: 1.2
## ##
{ 'struct': 'FdSocketAddress', { 'struct': 'FdSocketAddress',

View File

@ -114,13 +114,13 @@
# #
# The arguments to the query-stats command; specifies a target for # The arguments to the query-stats command; specifies a target for
# which to request statistics and optionally the required subset of # which to request statistics and optionally the required subset of
# information for that target: # information for that target.
# #
# - which vCPUs to request statistics for # @target: the kind of objects to query. Note that each possible
# - which providers to request statistics from # target may enable additional filtering options
# - which named values to return within each provider
# #
# @target: the kind of objects to query # @providers: which providers to request statistics from, and optionally
# which named values to return within each provider
# #
# Since: 7.1 # Since: 7.1
## ##
@ -136,6 +136,8 @@
# #
# @scalar: single unsigned 64-bit integers. # @scalar: single unsigned 64-bit integers.
# #
# @boolean: single boolean value.
#
# @list: list of unsigned 64-bit integers (used for histograms). # @list: list of unsigned 64-bit integers (used for histograms).
# #
# Since: 7.1 # Since: 7.1
@ -254,6 +256,8 @@
# #
# Return the schema for all available runtime-collected statistics. # Return the schema for all available runtime-collected statistics.
# #
# @provider: a provider to restrict the query to.
#
# Note: runtime-collected statistics and their names fall outside # Note: runtime-collected statistics and their names fall outside
# QEMU's usual deprecation policies. QEMU will try to keep the # QEMU's usual deprecation policies. QEMU will try to keep the
# set of available data stable, together with their names, but # set of available data stable, together with their names, but

View File

@ -181,7 +181,7 @@
# @head: head to use in case the device supports multiple heads. If # @head: head to use in case the device supports multiple heads. If
# this parameter is missing, head #0 will be used. Also note that # this parameter is missing, head #0 will be used. Also note that
# the head can only be specified in conjunction with the device # the head can only be specified in conjunction with the device
# ID. (Since 2.12) # ID. (Since 2.12)
# #
# @format: image format for screendump. (default: ppm) (Since 7.1) # @format: image format for screendump. (default: ppm) (Since 7.1)
# #
@ -290,7 +290,7 @@
# @enabled: true if the SPICE server is enabled, false otherwise # @enabled: true if the SPICE server is enabled, false otherwise
# #
# @migrated: true if the last guest migration completed and spice # @migrated: true if the last guest migration completed and spice
# migration had completed as well. false otherwise. (since 1.4) # migration had completed as well, false otherwise (since 1.4)
# #
# @host: The hostname the SPICE server is bound to. This depends on # @host: The hostname the SPICE server is bound to. This depends on
# the name resolution on the host and may be an IP address. # the name resolution on the host and may be an IP address.
@ -303,7 +303,7 @@
# #
# @auth: the current authentication type used by the server # @auth: the current authentication type used by the server
# #
# - 'none' if no authentication is being used # - 'none' if no authentication is being used
# - 'spice' uses SASL or direct TLS authentication, depending on # - 'spice' uses SASL or direct TLS authentication, depending on
# command line options # command line options
# #
@ -1080,6 +1080,16 @@
# #
# Type of a multi-touch event. # Type of a multi-touch event.
# #
# @begin: A new touch event sequence has just started.
#
# @update: A touch event sequence has been updated.
#
# @end: A touch event sequence has finished.
#
# @cancel: A touch event sequence has been canceled.
#
# @data: Absolute position data.
#
# Since: 8.1 # Since: 8.1
## ##
{ 'enum' : 'InputMultiTouchType', { 'enum' : 'InputMultiTouchType',
@ -1137,6 +1147,8 @@
# #
# MultiTouch input event. # MultiTouch input event.
# #
# @type: The type of multi-touch event.
#
# @slot: Which slot has generated the event. # @slot: Which slot has generated the event.
# #
# @tracking-id: ID to correlate this event with previously generated # @tracking-id: ID to correlate this event with previously generated
@ -1314,7 +1326,7 @@
# display device can notify the guest on window resizes # display device can notify the guest on window resizes
# (virtio-gpu) this will default to "on", assuming the guest will # (virtio-gpu) this will default to "on", assuming the guest will
# resize the display to match the window size then. Otherwise it # resize the display to match the window size then. Otherwise it
# defaults to "off". (Since 3.1) # defaults to "off". (Since 3.1)
# #
# @show-tabs: Display the tab bar for switching between the various # @show-tabs: Display the tab bar for switching between the various
# graphical interfaces (e.g. VGA and virtual console character # graphical interfaces (e.g. VGA and virtual console character
@ -1417,12 +1429,12 @@
# codes match their position on non-Mac keyboards and you can use # codes match their position on non-Mac keyboards and you can use
# Meta/Super and Alt where you expect them. (default: off) # Meta/Super and Alt where you expect them. (default: off)
# #
# @zoom-to-fit: Zoom guest display to fit into the host window. When # @zoom-to-fit: Zoom guest display to fit into the host window. When
# turned off the host window will be resized instead. Defaults to # turned off the host window will be resized instead. Defaults to
# "off". (Since 8.2) # "off". (Since 8.2)
# #
# @zoom-interpolation: Apply interpolation to smooth output when # @zoom-interpolation: Apply interpolation to smooth output when
# zoom-to-fit is enabled. Defaults to "off". (Since 9.0) # zoom-to-fit is enabled. Defaults to "off". (Since 9.0)
# #
# Since: 7.0 # Since: 7.0
## ##

View File

@ -642,15 +642,17 @@
# #
# @num: vhost_virtqueue num # @num: vhost_virtqueue num
# #
# @desc-phys: vhost_virtqueue desc_phys (descriptor area phys. addr.) # @desc-phys: vhost_virtqueue desc_phys (descriptor area physical
# address)
# #
# @desc-size: vhost_virtqueue desc_size # @desc-size: vhost_virtqueue desc_size
# #
# @avail-phys: vhost_virtqueue avail_phys (driver area phys. addr.) # @avail-phys: vhost_virtqueue avail_phys (driver area physical
# address)
# #
# @avail-size: vhost_virtqueue avail_size # @avail-size: vhost_virtqueue avail_size
# #
# @used-phys: vhost_virtqueue used_phys (device area phys. addr.) # @used-phys: vhost_virtqueue used_phys (device area physical address)
# #
# @used-size: vhost_virtqueue used_size # @used-size: vhost_virtqueue used_size
# #
@ -936,10 +938,11 @@
# #
# @iothread: the id of IOThread object # @iothread: the id of IOThread object
# #
# @vqs: an optional array of virtqueue indices that will be handled by this # @vqs: an optional array of virtqueue indices that will be handled by
# IOThread. When absent, virtqueues are assigned round-robin across all # this IOThread. When absent, virtqueues are assigned round-robin
# IOThreadVirtQueueMappings provided. Either all IOThreadVirtQueueMappings # across all IOThreadVirtQueueMappings provided. Either all
# must have @vqs or none of them must have it. # IOThreadVirtQueueMappings must have @vqs or none of them must
# have it.
# #
# Since: 9.0 # Since: 9.0
## ##
@ -950,7 +953,8 @@
## ##
# @DummyVirtioForceArrays: # @DummyVirtioForceArrays:
# #
# Not used by QMP; hack to let us use IOThreadVirtQueueMappingList internally # Not used by QMP; hack to let us use IOThreadVirtQueueMappingList
# internally
# #
# Since: 9.0 # Since: 9.0
## ##

View File

@ -1220,13 +1220,13 @@
# @signal: signal number (linux) or unhandled exception code (windows) # @signal: signal number (linux) or unhandled exception code (windows)
# if the process was abnormally terminated. # if the process was abnormally terminated.
# #
# @out-data: base64-encoded stdout of the process. This field will only # @out-data: base64-encoded stdout of the process. This field will
# be populated after the process exits. # only be populated after the process exits.
# #
# @err-data: base64-encoded stderr of the process. Note: @out-data and # @err-data: base64-encoded stderr of the process. Note: @out-data
# @err-data are present only if 'capture-output' was specified for # and @err-data are present only if 'capture-output' was specified
# 'guest-exec'. This field will only be populated after the process # for 'guest-exec'. This field will only be populated after the
# exits. # process exits.
# #
# @out-truncated: true if stdout was not fully captured due to size # @out-truncated: true if stdout was not fully captured due to size
# limitation. # limitation.
@ -1273,12 +1273,16 @@
# An enumeration of guest-exec capture modes. # An enumeration of guest-exec capture modes.
# #
# @none: do not capture any output # @none: do not capture any output
#
# @stdout: only capture stdout # @stdout: only capture stdout
#
# @stderr: only capture stderr # @stderr: only capture stderr
#
# @separated: capture both stdout and stderr, but separated into # @separated: capture both stdout and stderr, but separated into
# GuestExecStatus out-data and err-data, respectively # GuestExecStatus out-data and err-data, respectively
# @merged: capture both stdout and stderr, but merge together #
# into out-data. not effective on windows guests. # @merged: capture both stdout and stderr, but merge together into
# out-data. Not effective on windows guests.
# #
# Since: 8.0 # Since: 8.0
## ##
@ -1291,8 +1295,9 @@
# #
# Controls what guest-exec output gets captures. # Controls what guest-exec output gets captures.
# #
# @flag: captures both stdout and stderr if true. Equivalent # @flag: captures both stdout and stderr if true. Equivalent to
# to GuestExecCaptureOutputMode::all. (since 2.5) # GuestExecCaptureOutputMode::all. (since 2.5)
#
# @mode: capture mode; preferred interface # @mode: capture mode; preferred interface
# #
# Since: 8.0 # Since: 8.0
@ -1315,7 +1320,7 @@
# @input-data: data to be passed to process stdin (base64 encoded) # @input-data: data to be passed to process stdin (base64 encoded)
# #
# @capture-output: bool flag to enable capture of stdout/stderr of # @capture-output: bool flag to enable capture of stdout/stderr of
# running process. defaults to false. # running process. Defaults to false.
# #
# Returns: PID # Returns: PID
# #