QAPI patches patches for 2024-08-05

-----BEGIN PGP SIGNATURE-----
 
 iQJGBAABCAAwFiEENUvIs9frKmtoZ05fOHC0AOuRhlMFAmawhYUSHGFybWJydUBy
 ZWRoYXQuY29tAAoJEDhwtADrkYZT5j4P/i9dh0Y8sS5qJqvEZzKWFlIkXWjYpUFW
 FThfHyz5J2MilabQUeTxF0yhM40pciGu9ULXqwhzKNAXoAZwfH4VhSkT1E01pwDE
 9RRCOvtRHM5YDExMUn+8vfsHfpTBcfqB6EAO6eteIQ+2dMsDv2wtsrWLx3uXMjHn
 5VfxdKPVmQndcnrQDEAm8WhUpS9qVyJz5SqXuZ2Ku14X+EWyUc5ZGFEawgN63iIG
 fDqP5AwsHBPXUGtldlrbubrvBJVgNzAMwL/vizZR04L/30q6V/3ThyqaOyVuKibQ
 r1B2hebow00+Ie2nZRz1awCapnpuefk1Ll6KMHI5MD4kfmZiXBDhPeh2RnnyCBaK
 RudigAFff2kho7Z814JSJccGKBczkniXiDRb+rOeTBbE+wWEAfrlhf7YFlwqqQv7
 4ZfeMdv3B5bIq8RUTRUbzlf/BTx3Lao9koa/c6x/x42Gwhwc2Z8F9nuQLPfxPMC/
 MbL8+dDGNF0NiZdLUbSVATLNC5zXxkAVy2D1O8GjZfQSmHK6SeyJGEyUjrEY6AxA
 FiaJ4PduCAi+aieV7bpx0tkKVKs7hHkwbIDJcPw38GwAgXc0/tuLxAornTQ4il7y
 MIUysqtEoFryFzt7Uf510vG7URzFhHpJNsMAXeHErK53Fw1+VDpXQ7ImK56Huzy2
 lH6IAh+582Sq
 =D9S5
 -----END PGP SIGNATURE-----

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

QAPI patches patches for 2024-08-05

# -----BEGIN PGP SIGNATURE-----
#
# iQJGBAABCAAwFiEENUvIs9frKmtoZ05fOHC0AOuRhlMFAmawhYUSHGFybWJydUBy
# ZWRoYXQuY29tAAoJEDhwtADrkYZT5j4P/i9dh0Y8sS5qJqvEZzKWFlIkXWjYpUFW
# FThfHyz5J2MilabQUeTxF0yhM40pciGu9ULXqwhzKNAXoAZwfH4VhSkT1E01pwDE
# 9RRCOvtRHM5YDExMUn+8vfsHfpTBcfqB6EAO6eteIQ+2dMsDv2wtsrWLx3uXMjHn
# 5VfxdKPVmQndcnrQDEAm8WhUpS9qVyJz5SqXuZ2Ku14X+EWyUc5ZGFEawgN63iIG
# fDqP5AwsHBPXUGtldlrbubrvBJVgNzAMwL/vizZR04L/30q6V/3ThyqaOyVuKibQ
# r1B2hebow00+Ie2nZRz1awCapnpuefk1Ll6KMHI5MD4kfmZiXBDhPeh2RnnyCBaK
# RudigAFff2kho7Z814JSJccGKBczkniXiDRb+rOeTBbE+wWEAfrlhf7YFlwqqQv7
# 4ZfeMdv3B5bIq8RUTRUbzlf/BTx3Lao9koa/c6x/x42Gwhwc2Z8F9nuQLPfxPMC/
# MbL8+dDGNF0NiZdLUbSVATLNC5zXxkAVy2D1O8GjZfQSmHK6SeyJGEyUjrEY6AxA
# FiaJ4PduCAi+aieV7bpx0tkKVKs7hHkwbIDJcPw38GwAgXc0/tuLxAornTQ4il7y
# MIUysqtEoFryFzt7Uf510vG7URzFhHpJNsMAXeHErK53Fw1+VDpXQ7ImK56Huzy2
# lH6IAh+582Sq
# =D9S5
# -----END PGP SIGNATURE-----
# gpg: Signature made Mon 05 Aug 2024 05:55:49 PM AEST
# 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]

* tag 'pull-qapi-2024-08-05' of https://repo.or.cz/qemu/armbru:
  qmp: Fix higher half vaddrs for [p]memsave
  qapi: Refill doc comments to conform to conventions

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
Richard Henderson 2024-08-06 08:02:11 +10:00
commit 78dfb7b0d3
28 changed files with 277 additions and 258 deletions

View file

@ -1160,9 +1160,9 @@
# that have a node name, in a list which will include "parent" # that have a node name, in a list which will include "parent"
# information, but not "backing". If false or omitted, the # information, but not "backing". If false or omitted, the
# behavior is as before - query all the device backends, # behavior is as before - query all the device backends,
# recursively including their "parent" and "backing". Filter nodes # recursively including their "parent" and "backing". Filter
# that were created implicitly are skipped over in this mode. # nodes that were created implicitly are skipped over in this
# (Since 2.3) # mode. (Since 2.3)
# #
# Returns: A list of @BlockStats for each virtual block devices. # Returns: A list of @BlockStats for each virtual block devices.
# #
@ -1619,9 +1619,9 @@
# #
# @unstable: Member @x-perf is experimental. # @unstable: Member @x-perf is experimental.
# #
# .. note:: @on-source-error and @on-target-error only affect background # .. note:: @on-source-error and @on-target-error only affect
# I/O. If an error occurs during a guest write request, the device's # background I/O. If an error occurs during a guest write request,
# rerror/werror actions will be used. # the device's rerror/werror actions will be used.
# #
# Since: 4.2 # Since: 4.2
## ##
@ -1882,8 +1882,8 @@
# Start a point-in-time copy of a block device to a new destination. # Start a point-in-time copy of a block device to a new destination.
# The status of ongoing drive-backup operations can be checked with # The status of ongoing drive-backup operations can be checked with
# query-block-jobs where the BlockJobInfo.type field has the value # query-block-jobs where the BlockJobInfo.type field has the value
# 'backup'. The operation can be stopped before it has completed using # 'backup'. The operation can be stopped before it has completed
# the block-job-cancel command. # using the block-job-cancel command.
# #
# Features: # Features:
# #
@ -1913,8 +1913,8 @@
# Start a point-in-time copy of a block device to a new destination. # Start a point-in-time copy of a block device to a new destination.
# The status of ongoing blockdev-backup operations can be checked with # The status of ongoing blockdev-backup operations can be checked with
# query-block-jobs where the BlockJobInfo.type field has the value # query-block-jobs where the BlockJobInfo.type field has the value
# 'backup'. The operation can be stopped before it has completed using # 'backup'. The operation can be stopped before it has completed
# the block-job-cancel command. # using the block-job-cancel command.
# #
# Errors: # Errors:
# - If @device is not a valid block device, DeviceNotFound # - If @device is not a valid block device, DeviceNotFound
@ -3034,8 +3034,8 @@
# semantics. # semantics.
# #
# This command will refuse to operate on any job that has not yet # This command will refuse to operate on any job that has not yet
# reached its terminal state, JOB_STATUS_CONCLUDED. For jobs that make # reached its terminal state, JOB_STATUS_CONCLUDED. For jobs that
# use of the BLOCK_JOB_READY event, block-job-cancel or # make use of the BLOCK_JOB_READY event, block-job-cancel or
# block-job-complete will still need to be used as appropriate. # block-job-complete will still need to be used as appropriate.
# #
# @id: The job identifier. # @id: The job identifier.
@ -4050,6 +4050,7 @@
# @path: path to the vhost-vdpa character device. # @path: path to the vhost-vdpa character device.
# #
# Features: # Features:
#
# @fdset: Member @path supports the special "/dev/fdset/N" path # @fdset: Member @path supports the special "/dev/fdset/N" path
# (since 8.1) # (since 8.1)
# #
@ -5231,8 +5232,8 @@
# monolithcFlat, twoGbMaxExtentSparse and twoGbMaxExtentFlat # monolithcFlat, twoGbMaxExtentSparse and twoGbMaxExtentFlat
# formats. For monolithicFlat, only one entry is required; for # formats. For monolithicFlat, only one entry is required; for
# twoGbMaxExtent* formats, the number of entries required is # twoGbMaxExtent* formats, the number of entries required is
# calculated as extent_number = virtual_size / 2GB. Providing more # calculated as extent_number = virtual_size / 2GB. Providing
# extents than will be used is an error. # more extents than will be used is an error.
# #
# @subformat: The subformat of the VMDK image. Default: # @subformat: The subformat of the VMDK image. Default:
# "monolithicSparse". # "monolithicSparse".
@ -5543,8 +5544,8 @@
# after this event and must be repaired (Since 2.2; before, every # after this event and must be repaired (Since 2.2; before, every
# BLOCK_IMAGE_CORRUPTED event was fatal) # BLOCK_IMAGE_CORRUPTED event was fatal)
# #
# .. note:: If action is "stop", a STOP event will eventually follow the # .. note:: If action is "stop", a STOP event will eventually follow
# BLOCK_IO_ERROR event. # the BLOCK_IO_ERROR event.
# #
# .. qmp-example:: # .. qmp-example::
# #
@ -5590,8 +5591,8 @@
# field is a debugging aid for humans, it should not be parsed by # field is a debugging aid for humans, it should not be parsed by
# applications) (since: 2.2) # applications) (since: 2.2)
# #
# .. note:: If action is "stop", a STOP event will eventually follow the # .. note:: If action is "stop", a STOP event will eventually follow
# BLOCK_IO_ERROR event. # the BLOCK_IO_ERROR event.
# #
# Since: 0.13 # Since: 0.13
# #
@ -6046,9 +6047,9 @@
# #
# @name: the name of the internal snapshot to be created # @name: the name of the internal snapshot to be created
# #
# .. note:: In a transaction, if @name is empty or any snapshot matching # .. note:: In a transaction, if @name is empty or any snapshot
# @name exists, the operation will fail. Only some image formats # matching @name exists, the operation will fail. Only some image
# support it; for example, qcow2, and rbd. # formats support it; for example, qcow2, and rbd.
# #
# Since: 1.7 # Since: 1.7
## ##

View file

@ -163,8 +163,8 @@
# Options for exporting a block graph node on some (file) mountpoint # Options for exporting a block graph node on some (file) mountpoint
# as a raw image. # as a raw image.
# #
# @mountpoint: Path on which to export the block device via FUSE. This # @mountpoint: Path on which to export the block device via FUSE.
# must point to an existing regular file. # This must point to an existing regular file.
# #
# @growable: Whether writes beyond the EOF should grow the block node # @growable: Whether writes beyond the EOF should grow the block node
# accordingly. (default: false) # accordingly. (default: false)

View file

@ -454,8 +454,8 @@
# different group. In this case the limits specified in the # different group. In this case the limits specified in the
# parameters will be applied to the new group only. # parameters will be applied to the new group only.
# #
# I/O limits can be disabled by setting all of them to 0. In this case # I/O limits can be disabled by setting all of them to 0. In this
# the device will be removed from its group and the rest of its # case the device will be removed from its group and the rest of its
# members will not be affected. The 'group' parameter is ignored. # members will not be affected. The 'group' parameter is ignored.
# #
# Errors: # Errors:
@ -519,10 +519,10 @@
# @id: The name or QOM path of the guest device. # @id: The name or QOM path of the guest device.
# #
# @boundaries: list of interval boundary values (see description in # @boundaries: list of interval boundary values (see description in
# BlockLatencyHistogramInfo definition). If specified, all latency # BlockLatencyHistogramInfo definition). If specified, all
# histograms are removed, and empty ones created for all io types # latency histograms are removed, and empty ones created for all
# with intervals corresponding to @boundaries (except for io # io types with intervals corresponding to @boundaries (except for
# types, for which specific boundaries are set through the # io types, for which specific boundaries are set through the
# following parameters). # following parameters).
# #
# @boundaries-read: list of interval boundary values for read latency # @boundaries-read: list of interval boundary values for read latency

View file

@ -388,9 +388,9 @@
# #
# @rows: console height, in chars # @rows: console height, in chars
# #
# .. note:: The options are only effective when the VNC or SDL graphical # .. note:: The options are only effective when the VNC or SDL
# display backend is active. They are ignored with the GTK, Spice, # graphical display backend is active. They are ignored with the
# VNC and D-Bus display backends. # GTK, Spice, VNC and D-Bus display backends.
# #
# Since: 1.5 # Since: 1.5
## ##

View file

@ -22,13 +22,14 @@
# "arguments": { "enable": [ "oob" ] } } # "arguments": { "enable": [ "oob" ] } }
# <- { "return": {} } # <- { "return": {} }
# #
# .. note:: This command is valid exactly when first connecting: it must # .. note:: This command is valid exactly when first connecting: it
# be issued before any other command will be accepted, and will fail # must be issued before any other command will be accepted, and
# once the monitor is accepting other commands. # will fail once the monitor is accepting other commands. (see
# (see :doc:`/interop/qmp-spec`) # :doc:`/interop/qmp-spec`)
# #
# .. note:: The QMP client needs to explicitly enable QMP capabilities, # .. note:: The QMP client needs to explicitly enable QMP
# otherwise all the QMP capabilities will be turned off by default. # capabilities, otherwise all the QMP capabilities will be turned
# off by default.
# #
# Since: 0.13 # Since: 0.13
## ##
@ -150,7 +151,6 @@
# } # }
# #
# This example has been shortened as the real response is too long. # This example has been shortened as the real response is too long.
#
## ##
{ 'command': 'query-commands', 'returns': ['CommandInfo'], { 'command': 'query-commands', 'returns': ['CommandInfo'],
'allow-preconfig': true } 'allow-preconfig': true }

View file

@ -369,8 +369,8 @@
# of memory by Device Physical Address within a single Dynamic # of memory by Device Physical Address within a single Dynamic
# Capacity Region on a CXL Type 3 Device. # Capacity Region on a CXL Type 3 Device.
# #
# @offset: The offset (in bytes) to the start of the region # @offset: The offset (in bytes) to the start of the region where the
# where the extent belongs to. # extent belongs to.
# #
# @len: The length of the extent in bytes. # @len: The length of the extent in bytes.
# #
@ -404,16 +404,16 @@
# #
# @enable-shared-access: Capacity has already been allocated to a # @enable-shared-access: Capacity has already been allocated to a
# different host using free, contiguous or prescriptive policy # different host using free, contiguous or prescriptive policy
# with a known tag. This policy then instructs the device to # with a known tag. This policy then instructs the device to make
# make the capacity with the specified tag available to an # the capacity with the specified tag available to an additional
# additional host. Capacity is implicit as it matches that # host. Capacity is implicit as it matches that already
# already associated with the tag. Note that the extent list # associated with the tag. Note that the extent list (and hence
# (and hence Device Physical Addresses) used are per host, so # Device Physical Addresses) used are per host, so a device may
# a device may use different representations on each host. # use different representations on each host. The ordering of the
# The ordering of the extents provided to each host is indicated # extents provided to each host is indicated to the host using per
# to the host using per extent sequence numbers generated by # extent sequence numbers generated by the device. Has a similar
# the device. Has a similar meaning for temporal sharing, but # meaning for temporal sharing, but in that case there may be only
# in that case there may be only one host involved. # one host involved.
# #
# Since: 9.1 # Since: 9.1
## ##
@ -514,13 +514,13 @@
# from the host. Instead, the host immediately looses access to # from the host. Instead, the host immediately looses access to
# the released capacity. # the released capacity.
# #
# @sanitize-on-release: Bit[5] of the "Flags" field in Compute # @sanitize-on-release: Bit[5] of the "Flags" field in Compute Express
# Express Link (CXL) Specification, Revision 3.1, Table 7-71. # Link (CXL) Specification, Revision 3.1, Table 7-71. When set,
# When set, the device should sanitize all released capacity as # the device should sanitize all released capacity as a result of
# a result of this request. This ensures that all user data # this request. This ensures that all user data and metadata is
# and metadata is made permanently unavailable by whatever # made permanently unavailable by whatever means is appropriate
# means is appropriate for the media type. Note that changing # for the media type. Note that changing encryption keys is not
# encryption keys is not sufficient. # sufficient.
# #
# @region: The "Region Number" field as defined in Compute Express # @region: The "Region Number" field as defined in Compute Express
# Link Specification, Revision 3.1, Table 7-71. Valid range # Link Specification, Revision 3.1, Table 7-71. Valid range

View file

@ -42,8 +42,8 @@
# with different meta-types). # with different meta-types).
# #
# .. note:: The QAPI schema is also used to help define *internal* # .. note:: The QAPI schema is also used to help define *internal*
# interfaces, by defining QAPI types. These are not part of the QMP # interfaces, by defining QAPI types. These are not part of the
# wire ABI, and therefore not returned by this command. # QMP wire ABI, and therefore not returned by this command.
# #
# Since: 2.5 # Since: 2.5
## ##

View file

@ -200,9 +200,9 @@
# dismiss enabled. # dismiss enabled.
# #
# This command will refuse to operate on any job that has not yet # This command will refuse to operate on any job that has not yet
# reached its terminal state, JOB_STATUS_CONCLUDED. For jobs that make # reached its terminal state, JOB_STATUS_CONCLUDED. For jobs that
# use of JOB_READY event, job-cancel or job-complete will still need # make use of JOB_READY event, job-cancel or job-complete will still
# to be used as appropriate. # need to be used as appropriate.
# #
# @id: The job identifier. # @id: The job identifier.
# #

View file

@ -12,9 +12,10 @@
# Virtual CPU model. # Virtual CPU model.
# #
# A CPU model consists of the name of a CPU definition, to which delta # A CPU model consists of the name of a CPU definition, to which delta
# changes are applied (e.g. features added/removed). Most magic values # changes are applied (e.g. features added/removed). Most magic
# that an architecture might require should be hidden behind the name. # values that an architecture might require should be hidden behind
# However, if required, architectures can expose relevant properties. # the name. However, if required, architectures can expose relevant
# properties.
# #
# @name: the name of the CPU definition the model is based on # @name: the name of the CPU definition the model is based on
# #
@ -46,13 +47,13 @@
# #
# .. note:: When a non-migration-safe CPU model is expanded in static # .. note:: When a non-migration-safe CPU model is expanded in static
# mode, some features enabled by the CPU model may be omitted, # mode, some features enabled by the CPU model may be omitted,
# because they can't be implemented by a static CPU model definition # because they can't be implemented by a static CPU model
# (e.g. cache info passthrough and PMU passthrough in x86). If you # definition (e.g. cache info passthrough and PMU passthrough in
# need an accurate representation of the features enabled by a # x86). If you need an accurate representation of the features
# non-migration-safe CPU model, use @full. If you need a static # enabled by a non-migration-safe CPU model, use @full. If you
# representation that will keep ABI compatibility even when changing # need a static representation that will keep ABI compatibility
# QEMU version or machine-type, use @static (but keep in mind that # even when changing QEMU version or machine-type, use @static (but
# some features may be omitted). # keep in mind that some features may be omitted).
# #
# Since: 2.8 # Since: 2.8
## ##
@ -155,11 +156,11 @@
# 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.
# #
# @modela: description of the first CPU model to compare, referred to as # @modela: description of the first CPU model to compare, referred to
# "model A" in CpuModelCompareResult # as "model A" in CpuModelCompareResult
# #
# @modelb: description of the second CPU model to compare, referred to as # @modelb: description of the second CPU model to compare, referred to
# "model B" in CpuModelCompareResult # as "model B" in CpuModelCompareResult
# #
# Returns: a CpuModelCompareInfo describing how both CPU models # Returns: a CpuModelCompareInfo describing how both CPU models
# compare # compare
@ -185,7 +186,8 @@
# #
# Baseline two CPU models, @modela and @modelb, creating a compatible # Baseline two CPU models, @modela and @modelb, creating a compatible
# third model. The created model will always be a static, # third model. The created model will always be a static,
# migration-safe CPU model (see "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
@ -242,12 +244,12 @@
# #
# @model: the expanded CpuModelInfo. # @model: the expanded CpuModelInfo.
# #
# @deprecated-props: a list of properties that are flagged as deprecated # @deprecated-props: a list of properties that are flagged as
# by the CPU vendor. The list depends on the CpuModelExpansionType: # deprecated by the CPU vendor. The list depends on the
# "static" properties are a subset of the enabled-properties for # CpuModelExpansionType: "static" properties are a subset of the
# the expanded model; "full" properties are a set of properties # enabled-properties for the expanded model; "full" properties are
# that are deprecated across all models for the architecture. # a set of properties that are deprecated across all models for
# (since: 9.1). # the architecture. (since: 9.1).
# #
# Since: 2.8 # Since: 2.8
## ##
@ -265,9 +267,9 @@
# @query-cpu-model-expansion: # @query-cpu-model-expansion:
# #
# Expands a given CPU model, @model, (or a combination of CPU model + # Expands a given CPU model, @model, (or a combination of CPU model +
# additional options) to different granularities, specified by # additional options) to different granularities, specified by @type,
# @type, allowing tooling to get an understanding what a specific # allowing tooling to get an understanding what a specific CPU model
# CPU model looks like in QEMU under a certain configuration. # 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.
# #

View file

@ -27,8 +27,8 @@
# @loongarch64: since 7.1 # @loongarch64: since 7.1
# #
# .. note:: The resulting QMP strings can be appended to the # .. note:: The resulting QMP strings can be appended to the
# "qemu-system-" prefix to produce the corresponding QEMU executable # "qemu-system-" prefix to produce the corresponding QEMU
# name. This is true even for "qemu-system-x86_64". # executable name. This is true even for "qemu-system-x86_64".
# #
# Since: 3.0 # Since: 3.0
## ##
@ -371,8 +371,8 @@
# #
# .. note:: A guest may or may not respond to this command. This # .. note:: A guest may or may not respond to this command. This
# command returning does not indicate that a guest has accepted the # command returning does not indicate that a guest has accepted the
# request or that it has shut down. Many guests will respond to this # request or that it has shut down. Many guests will respond to
# command by prompting the user in some way. # this command by prompting the user in some way.
# #
# .. qmp-example:: # .. qmp-example::
# #
@ -852,7 +852,11 @@
# <- { "return": {} } # <- { "return": {} }
## ##
{ 'command': 'memsave', { 'command': 'memsave',
'data': {'val': 'int', 'size': 'int', 'filename': 'str', '*cpu-index': 'int'} } 'data': {
'val': 'uint64',
'size': 'size',
'filename': 'str',
'*cpu-index': 'int' } }
## ##
# @pmemsave: # @pmemsave:
@ -878,7 +882,10 @@
# <- { "return": {} } # <- { "return": {} }
## ##
{ 'command': 'pmemsave', { 'command': 'pmemsave',
'data': {'val': 'int', 'size': 'int', 'filename': 'str'} } 'data': {
'val': 'uint64',
'size': 'size',
'filename': 'str' } }
## ##
# @Memdev: # @Memdev:
@ -988,8 +995,8 @@
# @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)
# #
# @module-id: module number within the parent container the CPU belongs # @module-id: module number within the parent container the CPU
# to (since 9.1) # belongs to (since 9.1)
# #
# @core-id: core number within the parent container the CPU belongs to # @core-id: core number within the parent container the CPU belongs to
# #
@ -1132,8 +1139,8 @@
# - If no balloon device is present, DeviceNotActive # - If no balloon device is present, DeviceNotActive
# #
# .. note:: This command just issues a request to the guest. When it # .. note:: This command just issues a request to the guest. When it
# returns, the balloon size may not have changed. A guest can change # returns, the balloon size may not have changed. A guest can
# the balloon size independent of this command. # change the balloon size independent of this command.
# #
# Since: 0.14 # Since: 0.14
# #
@ -1659,8 +1666,8 @@
# The members other than @cpus and @maxcpus define a topology of # The members other than @cpus and @maxcpus define a topology of
# containers. # containers.
# #
# The ordering from highest/coarsest to lowest/finest is: # The ordering from highest/coarsest to lowest/finest is: @drawers,
# @drawers, @books, @sockets, @dies, @clusters, @cores, @threads. # @books, @sockets, @dies, @clusters, @cores, @threads.
# #
# Different architectures support different subsets of topology # Different architectures support different subsets of topology
# containers. # containers.

View file

@ -142,8 +142,8 @@
# #
# @postcopy-paused: during postcopy but paused. (since 3.0) # @postcopy-paused: during postcopy but paused. (since 3.0)
# #
# @postcopy-recover-setup: setup phase for a postcopy recovery process, # @postcopy-recover-setup: setup phase for a postcopy recovery
# preparing for a recovery phase to start. (since 9.1) # process, preparing for a recovery phase to start. (since 9.1)
# #
# @postcopy-recover: trying to recover from a paused postcopy. (since # @postcopy-recover: trying to recover from a paused postcopy. (since
# 3.0) # 3.0)
@ -245,10 +245,10 @@
# blocked. Present and non-empty when migration is blocked. # blocked. Present and non-empty when migration is blocked.
# (since 6.0) # (since 6.0)
# #
# @dirty-limit-throttle-time-per-round: Maximum throttle time # @dirty-limit-throttle-time-per-round: Maximum throttle time (in
# (in microseconds) of virtual CPUs each dirty ring full round, # microseconds) of virtual CPUs each dirty ring full round, which
# which shows how MigrationCapability dirty-limit affects the # shows how MigrationCapability dirty-limit affects the guest
# guest during live migration. (Since 8.1) # during live migration. (Since 8.1)
# #
# @dirty-limit-ring-full-time: Estimated average dirty ring full time # @dirty-limit-ring-full-time: Estimated average dirty ring full time
# (in microseconds) for each dirty ring full round. The value # (in microseconds) for each dirty ring full round. The value
@ -393,8 +393,8 @@
# efficiently. This essentially saves 1MB of zeroes per block on # efficiently. This essentially saves 1MB of zeroes per block on
# the wire. Enabling requires source and target VM to support # the wire. Enabling requires source and target VM to support
# this feature. To enable it is sufficient to enable the # this feature. To enable it is sufficient to enable the
# capability on the source VM. The feature is disabled by default. # capability on the source VM. The feature is disabled by
# (since 1.6) # default. (since 1.6)
# #
# @events: generate events for each migration state change (since 2.4) # @events: generate events for each migration state change (since 2.4)
# #
@ -563,8 +563,8 @@
# #
# @qpl: use qpl compression method. Query Processing Library(qpl) is # @qpl: use qpl compression method. Query Processing Library(qpl) is
# based on the deflate compression algorithm and use the Intel # based on the deflate compression algorithm and use the Intel
# In-Memory Analytics Accelerator(IAA) accelerated compression # In-Memory Analytics Accelerator(IAA) accelerated compression and
# and decompression. (Since 9.1) # decompression. (Since 9.1)
# #
# @uadk: use UADK library compression method. (Since 9.1) # @uadk: use UADK library compression method. (Since 9.1)
# #
@ -1459,8 +1459,8 @@
# #
# Cancel the current executing migration process. # Cancel the current executing migration process.
# #
# .. note:: This command succeeds even if there is no migration process # .. note:: This command succeeds even if there is no migration
# running. # process running.
# #
# Since: 0.14 # Since: 0.14
# #
@ -1650,7 +1650,6 @@
# "filename": "/tmp/migfile", # "filename": "/tmp/migfile",
# "offset": "0x1000" } } ] } } # "offset": "0x1000" } } ] } }
# <- { "return": {} } # <- { "return": {} }
#
## ##
{ 'command': 'migrate', { 'command': 'migrate',
'data': {'*uri': 'str', 'data': {'*uri': 'str',
@ -1671,7 +1670,8 @@
# #
# @exit-on-error: Exit on incoming migration failure. Default true. # @exit-on-error: Exit on incoming migration failure. Default true.
# When set to false, the failure triggers a MIGRATION event, and # When set to false, the failure triggers a MIGRATION event, and
# error details could be retrieved with query-migrate. (since 9.1) # error details could be retrieved with query-migrate.
# (since 9.1)
# #
# Since: 2.3 # Since: 2.3
# #
@ -1938,9 +1938,9 @@
# @UNPLUG_PRIMARY: # @UNPLUG_PRIMARY:
# #
# Emitted from source side of a migration when migration state is # Emitted from source side of a migration when migration state is
# WAIT_UNPLUG. Device was unplugged by guest operating system. Device # WAIT_UNPLUG. Device was unplugged by guest operating system.
# resources in QEMU are kept on standby to be able to re-plug it in # Device resources in QEMU are kept on standby to be able to re-plug
# case of migration failure. # it in case of migration failure.
# #
# @device-id: QEMU device id of the unplugged device # @device-id: QEMU device id of the unplugged device
# #
@ -2084,16 +2084,16 @@
# This mode tracks page modification per each vCPU separately. It # This mode tracks page modification per each vCPU separately. It
# requires that KVM accelerator property "dirty-ring-size" is set. # requires that KVM accelerator property "dirty-ring-size" is set.
# #
# @calc-time: time period for which dirty page rate is calculated. # @calc-time: time period for which dirty page rate is calculated. By
# By default it is specified in seconds, but the unit can be set # default it is specified in seconds, but the unit can be set
# explicitly with @calc-time-unit. Note that larger @calc-time # explicitly with @calc-time-unit. Note that larger @calc-time
# values will typically result in smaller dirty page rates because # values will typically result in smaller dirty page rates because
# page dirtying is a one-time event. Once some page is counted # page dirtying is a one-time event. Once some page is counted as
# as dirty during @calc-time period, further writes to this page # dirty during @calc-time period, further writes to this page will
# will not increase dirty page rate anymore. # 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
# By default it is seconds. (Since 8.2) # 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

View file

@ -104,8 +104,8 @@
# Returns a list of information about each iothread. # Returns a list of information about each iothread.
# #
# .. note:: This list excludes the QEMU main loop thread, which is not # .. note:: This list excludes the QEMU main loop thread, which is not
# declared using the ``-object iothread`` command-line option. It is # declared using the ``-object iothread`` command-line option. It
# always the main thread of the process. # is always the main thread of the process.
# #
# Returns: a list of @IOThreadInfo for each iothread # Returns: a list of @IOThreadInfo for each iothread
# #
@ -141,8 +141,8 @@
# guest remains paused once migration finishes, as if the ``-S`` # guest remains paused once migration finishes, as if the ``-S``
# 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 cause # In the "suspended" state, it will completely stop the VM and
# a transition to the "paused" state. (Since 9.0) # cause a transition to the "paused" state. (Since 9.0)
# #
# .. qmp-example:: # .. qmp-example::
# #
@ -158,15 +158,15 @@
# #
# Since: 0.14 # Since: 0.14
# #
# .. note:: This command will succeed if the guest is currently running. # .. note:: This command will succeed if the guest is currently
# It will also succeed if the guest is in the "inmigrate" state; in # running. It will also succeed if the guest is in the "inmigrate"
# this case, the effect of the command is to make sure the guest # state; in this case, the effect of the command is to make sure
# starts once migration finishes, removing the effect of the ``-S`` # the guest starts once migration finishes, removing the effect of
# command line option if it was passed. # the ``-S`` command line option if it was passed.
# #
# If the VM was previously suspended, and not been reset or woken, # If the VM was previously suspended, and not been reset or woken,
# this command will transition back to the "suspended" state. (Since # this command will transition back to the "suspended" state.
# 9.0) # (Since 9.0)
# #
# .. qmp-example:: # .. qmp-example::
# #
@ -227,8 +227,8 @@
# #
# Known limitations: # Known limitations:
# #
# * This command is stateless, this means that commands that # * This command is stateless, this means that commands that depend
# depend on state information (such as getfd) might not work. # on state information (such as getfd) might not work.
# #
# * Commands that prompt the user for data don't currently work. # * Commands that prompt the user for data don't currently work.
# #
@ -341,7 +341,8 @@
# #
# .. note:: The list of fd sets is shared by all monitor connections. # .. note:: The list of fd sets is shared by all monitor connections.
# #
# .. note:: If @fdset-id is not specified, a new fd set will be created. # .. note:: If @fdset-id is not specified, a new fd set will be
# created.
# #
# Since: 1.2 # Since: 1.2
# #

View file

@ -22,9 +22,9 @@
# #
# Since: 0.14 # Since: 0.14
# #
# .. note:: Not all network adapters support setting link status. This # .. note:: Not all network adapters support setting link status.
# command will succeed even if the network adapter does not support # This command will succeed even if the network adapter does not
# link status notification. # support link status notification.
# #
# .. qmp-example:: # .. qmp-example::
# #
@ -703,12 +703,19 @@
# Available netdev drivers. # Available netdev drivers.
# #
# @l2tpv3: since 2.1 # @l2tpv3: since 2.1
#
# @vhost-vdpa: since 5.1 # @vhost-vdpa: since 5.1
#
# @vmnet-host: since 7.1 # @vmnet-host: since 7.1
#
# @vmnet-shared: since 7.1 # @vmnet-shared: since 7.1
#
# @vmnet-bridged: since 7.1 # @vmnet-bridged: since 7.1
#
# @stream: since 7.2 # @stream: since 7.2
#
# @dgram: since 7.2 # @dgram: since 7.2
#
# @af-xdp: since 8.2 # @af-xdp: since 8.2
# #
# Since: 2.7 # Since: 2.7

View file

@ -310,6 +310,5 @@
# } # }
# #
# This example has been shortened as the real response is too long. # This example has been shortened as the real response is too long.
#
## ##
{ 'command': 'query-pci', 'returns': ['PciInfo'] } { 'command': 'query-pci', 'returns': ['PciInfo'] }

View file

@ -59,8 +59,8 @@
# the 'docs/qdev-device-use.txt' file. # the 'docs/qdev-device-use.txt' file.
# #
# 3. It's possible to list device properties by running QEMU with # 3. It's possible to list device properties by running QEMU with
# the ``-device DEVICE,help`` command-line argument, where DEVICE # the ``-device DEVICE,help`` command-line argument, where
# is the device's name. # DEVICE is the device's name.
# #
# .. qmp-example:: # .. qmp-example::
# #
@ -94,13 +94,13 @@
# #
# .. note:: When this command completes, the device may not be removed # .. note:: When this command completes, the device may not be removed
# from the guest. Hot removal is an operation that requires guest # from the guest. Hot removal is an operation that requires guest
# cooperation. This command merely requests that the guest begin the # cooperation. This command merely requests that the guest begin
# hot removal process. Completion of the device removal process is # the hot removal process. Completion of the device removal
# signaled with a DEVICE_DELETED event. Guest reset will # process is signaled with a DEVICE_DELETED event. Guest reset
# automatically complete removal for all devices. If a guest-side # will automatically complete removal for all devices. If a
# error in the hot removal process is detected, the device will not # guest-side error in the hot removal process is detected, the
# be removed and a DEVICE_UNPLUG_GUEST_ERROR event is sent. Some # device will not be removed and a DEVICE_UNPLUG_GUEST_ERROR event
# errors cannot be detected. # is sent. Some errors cannot be detected.
# #
# Since: 0.14 # Since: 0.14
# #

View file

@ -620,8 +620,8 @@
# .. note:: prealloc=true and reserve=false cannot be set at the same # .. note:: prealloc=true and reserve=false cannot be set at the same
# time. With reserve=true, the behavior depends on the operating # time. With reserve=true, the behavior depends on the operating
# system: for example, Linux will not reserve swap space for shared # system: for example, Linux will not reserve swap space for shared
# file mappings -- "not applicable". In contrast, reserve=false will # file mappings -- "not applicable". In contrast, reserve=false
# bail out if it cannot be configured accordingly. # will bail out if it cannot be configured accordingly.
# #
# Since: 2.1 # Since: 2.1
## ##
@ -646,9 +646,9 @@
# @align: the base address alignment when QEMU mmap(2)s @mem-path. # @align: the base address alignment when QEMU mmap(2)s @mem-path.
# Some backend stores specified by @mem-path require an alignment # Some backend stores specified by @mem-path require an alignment
# different than the default one used by QEMU, e.g. the device DAX # different than the default one used by QEMU, e.g. the device DAX
# /dev/dax0.0 requires 2M alignment rather than 4K. In such cases, # /dev/dax0.0 requires 2M alignment rather than 4K. In such
# users can specify the required alignment via this option. 0 # cases, users can specify the required alignment via this option.
# selects a default alignment (currently the page size). # 0 selects a default alignment (currently the page size).
# (default: 0) # (default: 0)
# #
# @offset: the offset into the target file that the region starts at. # @offset: the offset into the target file that the region starts at.
@ -930,16 +930,16 @@
# #
# @handle: SEV firmware handle (default: 0) # @handle: SEV firmware handle (default: 0)
# #
# @legacy-vm-type: Use legacy KVM_SEV_INIT KVM interface for creating the VM. # @legacy-vm-type: Use legacy KVM_SEV_INIT KVM interface for creating
# The newer KVM_SEV_INIT2 interface, from Linux >= 6.10, syncs # the VM. The newer KVM_SEV_INIT2 interface, from Linux >= 6.10,
# additional vCPU state when initializing the VMSA structures, # syncs additional vCPU state when initializing the VMSA
# which will result in a different guest measurement. Set # structures, which will result in a different guest measurement.
# this to 'on' to force compatibility with older QEMU or kernel # Set this to 'on' to force compatibility with older QEMU or kernel
# versions that rely on legacy KVM_SEV_INIT behavior. 'auto' # versions that rely on legacy KVM_SEV_INIT behavior. 'auto' will
# will behave identically to 'on', but will automatically # behave identically to 'on', but will automatically switch to
# switch to using KVM_SEV_INIT2 if the user specifies any # using KVM_SEV_INIT2 if the user specifies any additional options
# additional options that require it. If set to 'off', QEMU # that require it. If set to 'off', QEMU will require
# will require KVM_SEV_INIT2 unconditionally. # KVM_SEV_INIT2 unconditionally.
# (default: off) (since 9.1) # (default: off) (since 9.1)
# #
# Since: 2.12 # Since: 2.12

View file

@ -288,8 +288,8 @@
# #
# @ttl-check: perform TTL check # @ttl-check: perform TTL check
# #
# .. note:: Optional members may or may not appear in the group depending # .. note:: Optional members may or may not appear in the group
# if they're relevant to the group type. # depending if they're relevant to the group type.
# #
# Since: 2.4 # Since: 2.4
## ##

View file

@ -530,8 +530,8 @@
# an error code. # an error code.
# #
# @arg2: for Windows, first argument of the STOP. For Linux, the # @arg2: for Windows, first argument of the STOP. For Linux, the
# guest OS ID, which has the kernel version in bits 16-47 # guest OS ID, which has the kernel version in bits 16-47 and
# and 0x8100 in bits 48-63. # 0x8100 in bits 48-63.
# #
# @arg3: for Windows, second argument of the STOP. For Linux, the # @arg3: for Windows, second argument of the STOP. For Linux, the
# program counter of the guest. # program counter of the guest.

View file

@ -29,6 +29,7 @@
# @InetSocketAddressBase: # @InetSocketAddressBase:
# #
# @host: host part of the address # @host: host part of the address
#
# @port: port part of the address # @port: port part of the address
## ##
{ 'struct': 'InetSocketAddressBase', { 'struct': 'InetSocketAddressBase',
@ -104,8 +105,8 @@
# #
# @port: port # @port: port
# #
# .. note:: String types are used to allow for possible future hostname # .. note:: String types are used to allow for possible future
# or service resolution support. # hostname or service resolution support.
# #
# Since: 2.8 # Since: 2.8
## ##

View file

@ -119,8 +119,8 @@
# @target: the kind of objects to query. Note that each possible # @target: the kind of objects to query. Note that each possible
# target may enable additional filtering options # target may enable additional filtering options
# #
# @providers: which providers to request statistics from, and optionally # @providers: which providers to request statistics from, and
# which named values to return within each provider # optionally which named values to return within each provider
# #
# Since: 7.1 # Since: 7.1
## ##

View file

@ -238,8 +238,8 @@
# - Any errors from commands in the transaction # - Any errors from commands in the transaction
# #
# .. note:: The transaction aborts on the first failure. Therefore, # .. note:: The transaction aborts on the first failure. Therefore,
# there will be information on only one failed operation returned in # there will be information on only one failed operation returned
# an error condition, and subsequent actions will not have been # in an error condition, and subsequent actions will not have been
# attempted. # attempted.
# #
# Since: 1.1 # Since: 1.1

View file

@ -48,8 +48,8 @@
# @password: the new password # @password: the new password
# #
# @connected: How to handle existing clients when changing the # @connected: How to handle existing clients when changing the
# password. If nothing is specified, defaults to 'keep'. For VNC, # password. If nothing is specified, defaults to 'keep'. For
# only 'keep' is currently implemented. # VNC, only 'keep' is currently implemented.
# #
# Since: 7.0 # Since: 7.0
## ##
@ -107,10 +107,11 @@
# - '+INT' where INT is the number of seconds from now (integer) # - '+INT' where INT is the number of seconds from now (integer)
# - 'INT' where INT is the absolute time in seconds # - 'INT' where INT is the absolute time in seconds
# #
# .. note:: Time is relative to the server and currently there is no way # .. note:: Time is relative to the server and currently there is no
# to coordinate server time with client time. It is not recommended # way to coordinate server time with client time. It is not
# to use the absolute time version of the @time parameter unless # recommended to use the absolute time version of the @time
# you're sure you are on the same machine as the QEMU instance. # parameter unless you're sure you are on the same machine as the
# QEMU instance.
# #
# Since: 7.0 # Since: 7.0
## ##
@ -719,8 +720,8 @@
# #
# @client: client information # @client: client information
# #
# .. note:: This event is emitted before any authentication takes place, # .. note:: This event is emitted before any authentication takes
# thus the authentication ID is not provided. # place, thus the authentication ID is not provided.
# #
# Since: 0.13 # Since: 0.13
# #

View file

@ -15,16 +15,16 @@
# #
# @running: The device is running. # @running: The device is running.
# #
# @stop-copy: The device is stopped and its internal state is available # @stop-copy: The device is stopped and its internal state is
# for reading. # available for reading.
# #
# @resuming: The device is stopped and its internal state is available # @resuming: The device is stopped and its internal state is available
# for writing. # for writing.
# #
# @running-p2p: The device is running in the P2P quiescent state. # @running-p2p: The device is running in the P2P quiescent state.
# #
# @pre-copy: The device is running, tracking its internal state and its # @pre-copy: The device is running, tracking its internal state and
# internal state is available for reading. # its internal state is available for reading.
# #
# @pre-copy-p2p: The device is running in the P2P quiescent state, # @pre-copy-p2p: The device is running in the P2P quiescent state,
# tracking its internal state and its internal state is available # tracking its internal state and its internal state is available

View file

@ -568,9 +568,9 @@
# .. note:: last_avail_idx will not be displayed in the case where the # .. note:: last_avail_idx will not be displayed in the case where the
# selected VirtIODevice has a running vhost device and the # selected VirtIODevice has a running vhost device and the
# VirtIODevice VirtQueue index (queue) does not exist for the # VirtIODevice VirtQueue index (queue) does not exist for the
# corresponding vhost device vhost_virtqueue. Also, shadow_avail_idx # corresponding vhost device vhost_virtqueue. Also,
# will not be displayed in the case where the selected VirtIODevice # shadow_avail_idx will not be displayed in the case where the
# has a running vhost device. # selected VirtIODevice has a running vhost device.
# #
# Since: 7.2 # Since: 7.2
# #

View file

@ -792,14 +792,14 @@ int vm_stop_force_state(RunState state)
} }
} }
void qmp_memsave(int64_t addr, int64_t size, const char *filename, void qmp_memsave(uint64_t addr, uint64_t size, const char *filename,
bool has_cpu, int64_t cpu_index, Error **errp) bool has_cpu, int64_t cpu_index, Error **errp)
{ {
FILE *f; FILE *f;
uint32_t l; uint64_t l;
CPUState *cpu; CPUState *cpu;
uint8_t buf[1024]; uint8_t buf[1024];
int64_t orig_addr = addr, orig_size = size; uint64_t orig_addr = addr, orig_size = size;
if (!has_cpu) { if (!has_cpu) {
cpu_index = 0; cpu_index = 0;
@ -823,7 +823,7 @@ void qmp_memsave(int64_t addr, int64_t size, const char *filename,
if (l > size) if (l > size)
l = size; l = size;
if (cpu_memory_rw_debug(cpu, addr, buf, l, 0) != 0) { if (cpu_memory_rw_debug(cpu, addr, buf, l, 0) != 0) {
error_setg(errp, "Invalid addr 0x%016" PRIx64 "/size %" PRId64 error_setg(errp, "Invalid addr 0x%016" PRIx64 "/size %" PRIu64
" specified", orig_addr, orig_size); " specified", orig_addr, orig_size);
goto exit; goto exit;
} }
@ -840,11 +840,11 @@ exit:
fclose(f); fclose(f);
} }
void qmp_pmemsave(int64_t addr, int64_t size, const char *filename, void qmp_pmemsave(uint64_t addr, uint64_t size, const char *filename,
Error **errp) Error **errp)
{ {
FILE *f; FILE *f;
uint32_t l; uint64_t l;
uint8_t buf[1024]; uint8_t buf[1024];
f = fopen(filename, "wb"); f = fopen(filename, "wb");