summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Hajnoczi <stefanha@redhat.com>2016-12-06 09:49:51 +0000
committerStefan Hajnoczi <stefanha@redhat.com>2016-12-06 09:49:51 +0000
commit8a844b2603c05aa3ce0739b44a83696820774d31 (patch)
tree9a55ddee56cd15f5a4a00160a69c155f31adbf0f
parente24f095e44c57a19717319ef3510f812c7a43d0e (diff)
parent5072f7b38b1b9b26b8fbe1a89086386a420aded8 (diff)
downloadqemu-8a844b2603c05aa3ce0739b44a83696820774d31.tar.gz
Merge remote-tracking branch 'armbru/tags/pull-qapi-2016-12-05' into staging
QAPI patches for 2016-12-05 # gpg: Signature made Mon 05 Dec 2016 04:41:53 PM GMT # gpg: using RSA key 0x3870B400EB918653 # gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" # gpg: aka "Markus Armbruster <armbru@pond.sub.org>" # Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867 4E5F 3870 B400 EB91 8653 * armbru/tags/pull-qapi-2016-12-05: qapi: add missing colon-ending for section name qapi: use one symbol per line qapi: fix various symbols mismatch in documentation qapi: fix missing symbol @prefix qapi: fix schema symbol sections qga/schema: fix double-return in doc tests: Avoid qobject_from_jsonf("%"PRId64) test-qga: Avoid qobject_from_jsonv("%"PRId64) qmp-event: Avoid qobject_from_jsonf("%"PRId64) Message-id: 1480956313-31322-1-git-send-email-armbru@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
-rw-r--r--qapi-schema.json346
-rw-r--r--qapi/block-core.json209
-rw-r--r--qapi/block.json16
-rw-r--r--qapi/common.json14
-rw-r--r--qapi/crypto.json36
-rw-r--r--qapi/event.json58
-rw-r--r--qapi/introspect.json28
-rw-r--r--qapi/qmp-event.c17
-rw-r--r--qapi/rocker.json2
-rw-r--r--qapi/trace.json8
-rw-r--r--qga/qapi-schema.json52
-rw-r--r--tests/check-qjson.c6
-rw-r--r--tests/test-qga.c7
-rw-r--r--tests/test-qobject-input-visitor.c5
14 files changed, 406 insertions, 398 deletions
diff --git a/qapi-schema.json b/qapi-schema.json
index f3e9bfc510..a0d3b5d7c5 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -65,7 +65,8 @@
{ 'enum': 'LostTickPolicy',
'data': ['discard', 'delay', 'merge', 'slew' ] }
-# @add_client
+##
+# @add_client:
#
# Allow client connections for VNC, Spice and socket based
# character devices to be passed in to QEMU via SCM_RIGHTS.
@@ -96,7 +97,7 @@
#
# @name: #optional The name of the guest
#
-# Since 0.14.0
+# Since: 0.14.0
##
{ 'struct': 'NameInfo', 'data': {'*name': 'str'} }
@@ -107,7 +108,7 @@
#
# Returns: @NameInfo of the guest
#
-# Since 0.14.0
+# Since: 0.14.0
##
{ 'command': 'query-name', 'returns': 'NameInfo' }
@@ -136,7 +137,7 @@
{ 'command': 'query-kvm', 'returns': 'KvmInfo' }
##
-# @RunState
+# @RunState:
#
# An enumeration of VM run states.
#
@@ -235,7 +236,7 @@
#
# Returns: The @UuidInfo for the guest
#
-# Since 0.14.0
+# Since: 0.14.0
##
{ 'command': 'query-uuid', 'returns': 'UuidInfo' }
@@ -382,7 +383,7 @@
{ 'command': 'query-events', 'returns': ['EventInfo'] }
##
-# @MigrationStats
+# @MigrationStats:
#
# Detailed migration status.
#
@@ -396,7 +397,7 @@
#
# @skipped: number of skipped zero pages (since 1.5)
#
-# @normal : number of normal pages (since 1.2)
+# @normal: number of normal pages (since 1.2)
#
# @normal-bytes: number of normal bytes sent (since 1.2)
#
@@ -420,7 +421,7 @@
'postcopy-requests' : 'int' } }
##
-# @XBZRLECacheStats
+# @XBZRLECacheStats:
#
# Detailed XBZRLE migration cache statistics
#
@@ -443,6 +444,7 @@
'cache-miss': 'int', 'cache-miss-rate': 'number',
'overflow': 'int' } }
+##
# @MigrationStatus:
#
# An enumeration of migration status.
@@ -474,7 +476,7 @@
'active', 'postcopy-active', 'completed', 'failed', 'colo' ] }
##
-# @MigrationInfo
+# @MigrationInfo:
#
# Information about current migration process.
#
@@ -534,7 +536,7 @@
'*error-desc': 'str'} }
##
-# @query-migrate
+# @query-migrate:
#
# Returns information about current migration process.
#
@@ -545,7 +547,7 @@
{ 'command': 'query-migrate', 'returns': 'MigrationInfo' }
##
-# @MigrationCapability
+# @MigrationCapability:
#
# Migration capabilities enumeration
#
@@ -593,7 +595,7 @@
'compress', 'events', 'postcopy-ram', 'x-colo'] }
##
-# @MigrationCapabilityStatus
+# @MigrationCapabilityStatus:
#
# Migration capability information
#
@@ -607,7 +609,7 @@
'data': { 'capability' : 'MigrationCapability', 'state' : 'bool' } }
##
-# @migrate-set-capabilities
+# @migrate-set-capabilities:
#
# Enable/Disable the following migration capabilities (like xbzrle)
#
@@ -619,7 +621,7 @@
'data': { 'capabilities': ['MigrationCapabilityStatus'] } }
##
-# @query-migrate-capabilities
+# @query-migrate-capabilities:
#
# Returns information about the current migration capabilities status
#
@@ -629,7 +631,8 @@
##
{ 'command': 'query-migrate-capabilities', 'returns': ['MigrationCapabilityStatus']}
-# @MigrationParameter
+##
+# @MigrationParameter:
#
# Migration parameters enumeration
#
@@ -687,20 +690,18 @@
'tls-creds', 'tls-hostname', 'max-bandwidth',
'downtime-limit', 'x-checkpoint-delay' ] }
-#
-# @migrate-set-parameters
+##
+# @migrate-set-parameters:
#
# Set various migration parameters. See MigrationParameters for details.
#
-# @x-checkpoint-delay: the delay time between two checkpoints. (Since 2.8)
-#
# Since: 2.4
##
{ 'command': 'migrate-set-parameters', 'boxed': true,
'data': 'MigrationParameters' }
-#
-# @MigrationParameters
+##
+# @MigrationParameters:
#
# Optional members can be omitted on input ('migrate-set-parameters')
# but most members will always be present on output
@@ -759,7 +760,7 @@
'*x-checkpoint-delay': 'int'} }
##
-# @query-migrate-parameters
+# @query-migrate-parameters:
#
# Returns information about the current migration parameters
#
@@ -771,7 +772,7 @@
'returns': 'MigrationParameters' }
##
-# @client_migrate_info
+# @client_migrate_info:
#
# Set migration information for remote display. This makes the server
# ask the client to automatically reconnect using the new parameters
@@ -790,17 +791,18 @@
'*tls-port': 'int', '*cert-subject': 'str' } }
##
-# @migrate-start-postcopy
+# @migrate-start-postcopy:
#
# Followup to a migration command to switch the migration to postcopy mode.
# The postcopy-ram capability must be set before the original migration
# command.
#
# Since: 2.5
+##
{ 'command': 'migrate-start-postcopy' }
##
-# @COLOMessage
+# @COLOMessage:
#
# The message transmission between Primary side and Secondary side.
#
@@ -826,7 +828,7 @@
'vmstate-loaded' ] }
##
-# @COLOMode
+# @COLOMode:
#
# The colo mode
#
@@ -842,7 +844,7 @@
'data': [ 'unknown', 'primary', 'secondary'] }
##
-# @FailoverStatus
+# @FailoverStatus:
#
# An enumeration of COLO failover status
#
@@ -860,7 +862,7 @@
'data': [ 'none', 'require', 'active', 'completed'] }
##
-# @x-colo-lost-heartbeat
+# @x-colo-lost-heartbeat:
#
# Tell qemu that heartbeat is lost, request it to do takeover procedures.
# If this command is sent to the PVM, the Primary side will exit COLO mode.
@@ -954,7 +956,7 @@
#
# @pc: the 64-bit instruction pointer
#
-# Since 2.6
+# Since: 2.6
##
{ 'struct': 'CpuInfoX86', 'data': { 'pc': 'int' } }
@@ -967,7 +969,7 @@
#
# @npc: the NPC component of the instruction pointer
#
-# Since 2.6
+# Since: 2.6
##
{ 'struct': 'CpuInfoSPARC', 'data': { 'pc': 'int', 'npc': 'int' } }
@@ -978,7 +980,7 @@
#
# @nip: the instruction pointer
#
-# Since 2.6
+# Since: 2.6
##
{ 'struct': 'CpuInfoPPC', 'data': { 'nip': 'int' } }
@@ -989,7 +991,7 @@
#
# @PC: the instruction pointer
#
-# Since 2.6
+# Since: 2.6
##
{ 'struct': 'CpuInfoMIPS', 'data': { 'PC': 'int' } }
@@ -1000,7 +1002,7 @@
#
# @PC: the instruction pointer
#
-# Since 2.6
+# Since: 2.6
##
{ 'struct': 'CpuInfoTricore', 'data': { 'PC': 'int' } }
@@ -1009,7 +1011,7 @@
#
# No additional information is available about the virtual CPU
#
-# Since 2.6
+# Since: 2.6
#
##
{ 'struct': 'CpuInfoOther', 'data': { } }
@@ -1044,7 +1046,7 @@
#
# Returns a list of information about each iothread.
#
-# Note this list excludes the QEMU main loop thread, which is not declared
+# Note: this list excludes the QEMU main loop thread, which is not declared
# using the -object iothread command-line option. It is always the main thread
# of the process.
#
@@ -1055,7 +1057,7 @@
{ 'command': 'query-iothreads', 'returns': ['IOThreadInfo'] }
##
-# @NetworkAddressFamily
+# @NetworkAddressFamily:
#
# The network address family
#
@@ -1075,7 +1077,7 @@
'data': [ 'ipv4', 'ipv6', 'unix', 'vsock', 'unknown' ] }
##
-# @VncBasicInfo
+# @VncBasicInfo:
#
# The basic information for vnc network connection
#
@@ -1098,7 +1100,7 @@
'websocket': 'bool' } }
##
-# @VncServerInfo
+# @VncServerInfo:
#
# The network connection information for server
#
@@ -1169,7 +1171,7 @@
'*service': 'str', '*auth': 'str', '*clients': ['VncClientInfo']} }
##
-# @VncPriAuth:
+# @VncPrimaryAuth:
#
# vnc primary authentication method.
#
@@ -1248,7 +1250,7 @@
{ 'command': 'query-vnc-servers', 'returns': ['VncInfo2'] }
##
-# @SpiceBasicInfo
+# @SpiceBasicInfo:
#
# The basic information for SPICE network connection
#
@@ -1266,7 +1268,7 @@
'family': 'NetworkAddressFamily' } }
##
-# @SpiceServerInfo
+# @SpiceServerInfo:
#
# Information about a SPICE server
#
@@ -1279,7 +1281,7 @@
'data': { '*auth': 'str' } }
##
-# @SpiceChannel
+# @SpiceChannel:
#
# Information about a SPICE client channel.
#
@@ -1304,7 +1306,7 @@
'tls': 'bool'} }
##
-# @SpiceQueryMouseMode
+# @SpiceQueryMouseMode:
#
# An enumeration of Spice mouse states.
#
@@ -1323,7 +1325,7 @@
'data': [ 'client', 'server', 'unknown' ] }
##
-# @SpiceInfo
+# @SpiceInfo:
#
# Information about the SPICE session.
#
@@ -1362,7 +1364,7 @@
'mouse-mode': 'SpiceQueryMouseMode', '*channels': ['SpiceChannel']} }
##
-# @query-spice
+# @query-spice:
#
# Returns information about the current SPICE server
#
@@ -1412,7 +1414,7 @@
{ 'struct': 'PciMemoryRange', 'data': {'base': 'int', 'limit': 'int'} }
##
-# @PciMemoryRegion
+# @PciMemoryRegion:
#
# Information about a PCI device I/O region.
#
@@ -1621,7 +1623,7 @@
{ 'command': 'cpu', 'data': {'index': 'int'} }
##
-# @cpu-add
+# @cpu-add:
#
# Adds CPU with specified ID
#
@@ -1629,7 +1631,7 @@
#
# Returns: Nothing on success
#
-# Since 1.5
+# Since: 1.5
##
{ 'command': 'cpu-add', 'data': {'id': 'int'} }
@@ -1760,17 +1762,17 @@
{ 'command': 'balloon', 'data': {'value': 'int'} }
##
-# @Abort
+# @Abort:
#
# This action can be used to test transaction failure.
#
# Since: 1.6
-###
+##
{ 'struct': 'Abort',
'data': { } }
##
-# @ActionCompletionMode
+# @ActionCompletionMode:
#
# An enumeration of Transactional completion modes.
#
@@ -1790,12 +1792,12 @@
'data': [ 'individual', 'grouped' ] }
##
-# @TransactionAction
+# @TransactionAction:
#
# A discriminated record of operations that can be performed with
# @transaction.
#
-# Since 1.1
+# Since: 1.1
#
# drive-backup since 1.6
# abort since 1.6
@@ -1818,7 +1820,7 @@
} }
##
-# @TransactionProperties
+# @TransactionProperties:
#
# Optional arguments to modify the behavior of a Transaction.
#
@@ -1835,7 +1837,7 @@
}
##
-# @transaction
+# @transaction:
#
# Executes a number of transactionable QMP commands atomically. If any
# operation fails, then the entire set of actions will be abandoned and the
@@ -1855,7 +1857,7 @@
# information on only one failed operation returned in an error condition, and
# subsequent actions will not have been attempted.
#
-# Since 1.1
+# Since: 1.1
##
{ 'command': 'transaction',
'data': { 'actions': [ 'TransactionAction' ],
@@ -1892,7 +1894,7 @@
'returns': 'str' }
##
-# @migrate_cancel
+# @migrate_cancel:
#
# Cancel the current executing migration process.
#
@@ -1905,7 +1907,7 @@
{ 'command': 'migrate_cancel' }
##
-# @migrate_set_downtime
+# @migrate_set_downtime:
#
# Set maximum tolerated downtime for migration.
#
@@ -1920,7 +1922,7 @@
{ 'command': 'migrate_set_downtime', 'data': {'value': 'number'} }
##
-# @migrate_set_speed
+# @migrate_set_speed:
#
# Set maximum speed for migration.
#
@@ -1935,7 +1937,7 @@
{ 'command': 'migrate_set_speed', 'data': {'value': 'int'} }
##
-# @migrate-set-cache-size
+# @migrate-set-cache-size:
#
# Set XBZRLE cache size
#
@@ -1951,7 +1953,7 @@
{ 'command': 'migrate-set-cache-size', 'data': {'value': 'int'} }
##
-# @query-migrate-cache-size
+# @query-migrate-cache-size:
#
# query XBZRLE cache size
#
@@ -2216,7 +2218,7 @@
'returns': [ 'DevicePropertyInfo' ] }
##
-# @migrate
+# @migrate:
#
# Migrates the current running guest to another Virtual Machine.
#
@@ -2237,7 +2239,7 @@
'data': {'uri': 'str', '*blk': 'bool', '*inc': 'bool', '*detach': 'bool' } }
##
-# @migrate-incoming
+# @migrate-incoming:
#
# Start an incoming migration, the qemu must have been started
# with -incoming defer
@@ -2254,6 +2256,7 @@
##
{ 'command': 'migrate-incoming', 'data': {'uri': 'str' } }
+##
# @xen-save-devices-state:
#
# Save the state of all devices to file. The RAM and the block devices
@@ -2270,7 +2273,7 @@
{ 'command': 'xen-save-devices-state', 'data': {'filename': 'str'} }
##
-# @xen-set-global-dirty-log
+# @xen-set-global-dirty-log:
#
# Enable or disable the global dirty log mode.
#
@@ -2362,7 +2365,7 @@
'data': [ 'elf', 'kdump-zlib', 'kdump-lzo', 'kdump-snappy' ] }
##
-# @dump-guest-memory
+# @dump-guest-memory:
#
# Dump guest's memory to vmcore. It is a synchronous operation that can take
# very long depending on the amount of guest memory.
@@ -2416,7 +2419,7 @@
'*format': 'DumpGuestMemoryFormat'} }
##
-# @DumpStatus
+# @DumpStatus:
#
# Describe the status of a long-running background guest memory dump.
#
@@ -2428,13 +2431,13 @@
#
# @failed: the last dump has failed.
#
-# Since 2.6
+# Since: 2.6
##
{ 'enum': 'DumpStatus',
'data': [ 'none', 'active', 'completed', 'failed' ] }
##
-# @DumpQueryResult
+# @DumpQueryResult:
#
# The result format for 'query-dump'.
#
@@ -2444,7 +2447,7 @@
#
# @total: total bytes to be written in latest dump (uncompressed)
#
-# Since 2.6
+# Since: 2.6
##
{ 'struct': 'DumpQueryResult',
'data': { 'status': 'DumpStatus',
@@ -2452,7 +2455,7 @@
'total': 'int' } }
##
-# @query-dump
+# @query-dump:
#
# Query latest dump status.
#
@@ -2487,7 +2490,7 @@
'returns': 'DumpGuestMemoryCapability' }
##
-# @dump-skeys
+# @dump-skeys:
#
# Dump guest's storage keys
#
@@ -2574,17 +2577,17 @@
{ 'command': 'object-del', 'data': {'id': 'str'} }
##
-# @NetdevNoneOptions
+# @NetdevNoneOptions:
#
# Use it alone to have zero network devices.
#
-# Since 1.2
+# Since: 1.2
##
{ 'struct': 'NetdevNoneOptions',
'data': { } }
##
-# @NetLegacyNicOptions
+# @NetLegacyNicOptions:
#
# Create a new Network Interface Card.
#
@@ -2598,7 +2601,7 @@
#
# @vectors: #optional number of MSI-x vectors, 0 to disable MSI-X
#
-# Since 1.2
+# Since: 1.2
##
{ 'struct': 'NetLegacyNicOptions',
'data': {
@@ -2609,18 +2612,18 @@
'*vectors': 'uint32' } }
##
-# @String
+# @String:
#
# A fat type wrapping 'str', to be embedded in lists.
#
-# Since 1.2
+# Since: 1.2
##
{ 'struct': 'String',
'data': {
'str': 'str' } }
##
-# @NetdevUserOptions
+# @NetdevUserOptions:
#
# Use the user mode network stack which requires no administrator privilege to
# run.
@@ -2677,7 +2680,7 @@
#
# @guestfwd: #optional forward guest TCP connections
#
-# Since 1.2
+# Since: 1.2
##
{ 'struct': 'NetdevUserOptions',
'data': {
@@ -2703,7 +2706,7 @@
'*guestfwd': ['String'] } }
##
-# @NetdevTapOptions
+# @NetdevTapOptions:
#
# Connect the host TAP network interface name to the VLAN.
#
@@ -2740,7 +2743,7 @@
# @poll-us: #optional maximum number of microseconds that could
# be spent on busy polling for tap (since 2.7)
#
-# Since 1.2
+# Since: 1.2
##
{ 'struct': 'NetdevTapOptions',
'data': {
@@ -2761,7 +2764,7 @@
'*poll-us': 'uint32'} }
##
-# @NetdevSocketOptions
+# @NetdevSocketOptions:
#
# Connect the VLAN to a remote VLAN in another QEMU virtual machine using a TCP
# socket connection.
@@ -2778,7 +2781,7 @@
#
# @udp: #optional UDP unicast address and port number
#
-# Since 1.2
+# Since: 1.2
##
{ 'struct': 'NetdevSocketOptions',
'data': {
@@ -2790,7 +2793,7 @@
'*udp': 'str' } }
##
-# @NetdevL2TPv3Options
+# @NetdevL2TPv3Options:
#
# Connect the VLAN to Ethernet over L2TPv3 Static tunnel
#
@@ -2826,7 +2829,7 @@
# @offset: #optional additional offset - allows the insertion of
# additional application-specific data before the packet payload
#
-# Since 2.1
+# Since: 2.1
##
{ 'struct': 'NetdevL2TPv3Options',
'data': {
@@ -2846,7 +2849,7 @@
'*offset': 'uint32' } }
##
-# @NetdevVdeOptions
+# @NetdevVdeOptions:
#
# Connect the VLAN to a vde switch running on the host.
#
@@ -2858,7 +2861,7 @@
#
# @mode: #optional permissions for socket
#
-# Since 1.2
+# Since: 1.2
##
{ 'struct': 'NetdevVdeOptions',
'data': {
@@ -2868,7 +2871,7 @@
'*mode': 'uint16' } }
##
-# @NetdevDumpOptions
+# @NetdevDumpOptions:
#
# Dump VLAN network traffic to a file.
#
@@ -2877,7 +2880,7 @@
#
# @file: #optional dump file path (default is qemu-vlan0.pcap)
#
-# Since 1.2
+# Since: 1.2
##
{ 'struct': 'NetdevDumpOptions',
'data': {
@@ -2885,7 +2888,7 @@
'*file': 'str' } }
##
-# @NetdevBridgeOptions
+# @NetdevBridgeOptions:
#
# Connect a host TAP network interface to a host bridge device.
#
@@ -2893,7 +2896,7 @@
#
# @helper: #optional command to execute to configure bridge
#
-# Since 1.2
+# Since: 1.2
##
{ 'struct': 'NetdevBridgeOptions',
'data': {
@@ -2901,20 +2904,20 @@
'*helper': 'str' } }
##
-# @NetdevHubPortOptions
+# @NetdevHubPortOptions:
#
# Connect two or more net clients through a software hub.
#
# @hubid: hub identifier number
#
-# Since 1.2
+# Since: 1.2
##
{ 'struct': 'NetdevHubPortOptions',
'data': {
'hubid': 'int32' } }
##
-# @NetdevNetmapOptions
+# @NetdevNetmapOptions:
#
# Connect a client to a netmap-enabled NIC or to a VALE switch port
#
@@ -2927,7 +2930,7 @@
#
# @devname: #optional path of the netmap device (default: '/dev/netmap').
#
-# Since 2.0
+# Since: 2.0
##
{ 'struct': 'NetdevNetmapOptions',
'data': {
@@ -2935,7 +2938,7 @@
'*devname': 'str' } }
##
-# @NetdevVhostUserOptions
+# @NetdevVhostUserOptions:
#
# Vhost-user network backend
#
@@ -2946,7 +2949,7 @@
# @queues: #optional number of queues to be created for multiqueue vhost-user
# (default: 1) (Since 2.5)
#
-# Since 2.1
+# Since: 2.1
##
{ 'struct': 'NetdevVhostUserOptions',
'data': {
@@ -2955,18 +2958,18 @@
'*queues': 'int' } }
##
-# @NetClientDriver
+# @NetClientDriver:
#
# Available netdev drivers.
#
-# Since 2.7
+# Since: 2.7
##
{ 'enum': 'NetClientDriver',
'data': [ 'none', 'nic', 'user', 'tap', 'l2tpv3', 'socket', 'vde', 'dump',
'bridge', 'hubport', 'netmap', 'vhost-user' ] }
##
-# @Netdev
+# @Netdev:
#
# Captures the configuration of a network device.
#
@@ -2974,7 +2977,7 @@
#
# @type: Specify the driver used for interpreting remaining arguments.
#
-# Since 1.2
+# Since: 1.2
#
# 'l2tpv3' - since 2.1
##
@@ -2996,7 +2999,7 @@
'vhost-user': 'NetdevVhostUserOptions' } }
##
-# @NetLegacy
+# @NetLegacy:
#
# Captures the configuration of a network device; legacy.
#
@@ -3008,7 +3011,7 @@
#
# @opts: device type specific properties (legacy)
#
-# Since 1.2
+# Since: 1.2
##
{ 'struct': 'NetLegacy',
'data': {
@@ -3018,11 +3021,11 @@
'opts': 'NetLegacyOptions' } }
##
-# @NetLegacyOptions
+# @NetLegacyOptions:
#
# Like Netdev, but for use only by the legacy command line options
#
-# Since 1.2
+# Since: 1.2
##
{ 'union': 'NetLegacyOptions',
'data': {
@@ -3039,7 +3042,7 @@
'vhost-user': 'NetdevVhostUserOptions' } }
##
-# @NetFilterDirection
+# @NetFilterDirection:
#
# Indicates whether a netfilter is attached to a netdev's transmit queue or
# receive queue or both.
@@ -3053,13 +3056,13 @@
# @tx: the filter is attached to the transmit queue of the netdev,
# where it will receive packets sent by the netdev.
#
-# Since 2.5
+# Since: 2.5
##
{ 'enum': 'NetFilterDirection',
'data': [ 'all', 'rx', 'tx' ] }
##
-# @InetSocketAddress
+# @InetSocketAddress:
#
# Captures a socket address or address range in the Internet namespace.
#
@@ -3075,7 +3078,7 @@
# @ipv6: whether to accept IPv6 addresses, default try both IPv4 and IPv6
# #optional
#
-# Since 1.3
+# Since: 1.3
##
{ 'struct': 'InetSocketAddress',
'data': {
@@ -3086,30 +3089,30 @@
'*ipv6': 'bool' } }
##
-# @UnixSocketAddress
+# @UnixSocketAddress:
#
# Captures a socket address in the local ("Unix socket") namespace.
#
# @path: filesystem path to use
#
-# Since 1.3
+# Since: 1.3
##
{ 'struct': 'UnixSocketAddress',
'data': {
'path': 'str' } }
##
-# @VsockSocketAddress
+# @VsockSocketAddress:
#
# Captures a socket address in the vsock namespace.
#
# @cid: unique host identifier
# @port: port
#
-# Note that string types are used to allow for possible future hostname or
+# Note: string types are used to allow for possible future hostname or
# service resolution support.
#
-# Since 2.8
+# Since: 2.8
##
{ 'struct': 'VsockSocketAddress',
'data': {
@@ -3117,11 +3120,11 @@
'port': 'str' } }
##
-# @SocketAddress
+# @SocketAddress:
#
# Captures the address of a socket, which could also be a named file descriptor
#
-# Since 1.3
+# Since: 1.3
##
{ 'union': 'SocketAddress',
'data': {
@@ -3171,7 +3174,7 @@
#
# @alias: #optional an alias for the machine name
#
-# @default: #optional whether the machine is default
+# @is-default: #optional whether the machine is default
#
# @cpu-max: maximum number of CPUs supported by the machine type
# (since 1.5.0)
@@ -3272,7 +3275,7 @@
'*props': 'any' } }
##
-# @CpuModelExpansionType
+# @CpuModelExpansionType:
#
# An enumeration of CPU model expansion types.
#
@@ -3295,7 +3298,7 @@
##
-# @CpuModelExpansionInfo
+# @CpuModelExpansionInfo:
#
# The result of a cpu model expansion.
#
@@ -3369,7 +3372,7 @@
'data': [ 'incompatible', 'identical', 'superset', 'subset' ] }
##
-# @CpuModelCompareInfo
+# @CpuModelCompareInfo:
#
# The result of a CPU model comparison.
#
@@ -3433,7 +3436,7 @@
'returns': 'CpuModelCompareInfo' }
##
-# @CpuModelBaselineInfo
+# @CpuModelBaselineInfo:
#
# The result of a CPU model baseline.
#
@@ -3484,6 +3487,7 @@
'modelb': 'CpuModelInfo' },
'returns': 'CpuModelBaselineInfo' }
+##
# @AddfdInfo:
#
# Information about a file descriptor that was added to an fd set.
@@ -3608,15 +3612,19 @@
##
# @QKeyCode:
#
+# @unmapped: since 2.0
+# @pause: since 2.0
+# @ro: since 2.4
+# @kp_comma: since 2.4
+# @kp_equals: since 2.6
+# @power: since 2.6
+#
# An enumeration of key name.
#
# This is used by the send-key command.
#
# Since: 1.3.0
#
-# 'unmapped' and 'pause' since 2.0
-# 'ro' and 'kp_comma' since 2.4
-# 'kp_equals' and 'power' since 2.6
##
{ 'enum': 'QKeyCode',
'data': [ 'unmapped',
@@ -3638,7 +3646,7 @@
'kp_comma', 'kp_equals', 'power' ] }
##
-# @KeyValue
+# @KeyValue:
#
# Represents a keyboard key.
#
@@ -3723,7 +3731,6 @@
#
# @device: The name of the special file for the device,
# i.e. /dev/ttyS0 on Unix or COM1: on Windows
-# @type: What kind of device this is.
#
# Since: 1.4
##
@@ -3988,7 +3995,7 @@
#
# A union referencing different TPM backend types' configuration options
#
-# @passthrough: The configuration options for the TPM passthrough type
+# @type: 'passthrough' The configuration options for the TPM passthrough type
#
# Since: 1.5
##
@@ -3996,7 +4003,7 @@
'data': { 'passthrough' : 'TPMPassthroughOptions' } }
##
-# @TpmInfo:
+# @TPMInfo:
#
# Information about the TPM
#
@@ -4025,7 +4032,7 @@
{ 'command': 'query-tpm', 'returns': ['TPMInfo'] }
##
-# @AcpiTableOptions
+# @AcpiTableOptions:
#
# Specify an ACPI table on the command line to load.
#
@@ -4068,7 +4075,7 @@
# ACPI table header. At least one file is required. This field excludes
# @file.
#
-# Since 1.5
+# Since: 1.5
##
{ 'struct': 'AcpiTableOptions',
'data': {
@@ -4096,7 +4103,7 @@
# @size: accepts a number followed by an optional suffix (K)ilo,
# (M)ega, (G)iga, (T)era
#
-# Since 1.5
+# Since: 1.5
##
{ 'enum': 'CommandLineParameterType',
'data': ['string', 'boolean', 'number', 'size'] }
@@ -4114,7 +4121,7 @@
#
# @default: #optional default value string (since 2.1)
#
-# Since 1.5
+# Since: 1.5
##
{ 'struct': 'CommandLineParameterInfo',
'data': { 'name': 'str',
@@ -4131,7 +4138,7 @@
#
# @parameters: an array of @CommandLineParameterInfo
#
-# Since 1.5
+# Since: 1.5
##
{ 'struct': 'CommandLineOptionInfo',
'data': { 'option': 'str', 'parameters': ['CommandLineParameterInfo'] } }
@@ -4146,13 +4153,13 @@
# Returns: list of @CommandLineOptionInfo for all options (or for the given
# @option). Returns an error if the given @option doesn't exist.
#
-# Since 1.5
+# Since: 1.5
##
{'command': 'query-command-line-options', 'data': { '*option': 'str' },
'returns': ['CommandLineOptionInfo'] }
##
-# @X86CPURegister32
+# @X86CPURegister32:
#
# A X86 32-bit register
#
@@ -4162,7 +4169,7 @@
'data': [ 'EAX', 'EBX', 'ECX', 'EDX', 'ESP', 'EBP', 'ESI', 'EDI' ] }
##
-# @X86CPUFeatureWordInfo
+# @X86CPUFeatureWordInfo:
#
# Information about a X86 CPU feature word
#
@@ -4184,11 +4191,11 @@
'features': 'int' } }
##
-# @DummyForceArrays
+# @DummyForceArrays:
#
# Not used by QMP; hack to let us use X86CPUFeatureWordInfoList internally
#
-# Since 2.5
+# Since: 2.5
##
{ 'struct': 'DummyForceArrays',
'data': { 'unused': ['X86CPUFeatureWordInfo'] } }
@@ -4238,7 +4245,7 @@
#
# @multicast-table: a list of multicast macaddr string
#
-# Since 1.6
+# Since: 1.6
##
{ 'struct': 'RxFilterInfo',
'data': {
@@ -4273,7 +4280,7 @@
'returns': ['RxFilterInfo'] }
##
-# @InputButton
+# @InputButton:
#
# Button of a pointer input device (mouse, tablet).
#
@@ -4283,7 +4290,7 @@
'data' : [ 'left', 'middle', 'right', 'wheel-up', 'wheel-down' ] }
##
-# @InputAxis
+# @InputAxis:
#
# Position axis of a pointer input device (mouse, tablet).
#
@@ -4293,7 +4300,7 @@
'data' : [ 'x', 'y' ] }
##
-# @InputKeyEvent
+# @InputKeyEvent:
#
# Keyboard input event.
#
@@ -4307,7 +4314,7 @@
'down' : 'bool' } }
##
-# @InputBtnEvent
+# @InputBtnEvent:
#
# Pointer button input event.
#
@@ -4321,7 +4328,7 @@
'down' : 'bool' } }
##
-# @InputMoveEvent
+# @InputMoveEvent:
#
# Pointer motion input event.
#
@@ -4336,14 +4343,15 @@
'value' : 'int' } }
##
-# @InputEvent
+# @InputEvent:
#
# Input event union.
#
-# @key: Input event of Keyboard
-# @btn: Input event of pointer buttons
-# @rel: Input event of relative pointer motion
-# @abs: Input event of absolute pointer motion
+# @type: the input type, one of:
+# - 'key': Input event of Keyboard
+# - 'btn': Input event of pointer buttons
+# - 'rel': Input event of relative pointer motion
+# - 'abs': Input event of absolute pointer motion
#
# Since: 2.0
##
@@ -4354,7 +4362,7 @@
'abs' : 'InputMoveEvent' } }
##
-# @input-send-event
+# @input-send-event:
#
# Send input event(s) to guest.
#
@@ -4384,18 +4392,18 @@
'events' : [ 'InputEvent' ] } }
##
-# @NumaOptions
+# @NumaOptions:
#
# A discriminated record of NUMA options. (for OptsVisitor)
#
-# Since 2.1
+# Since: 2.1
##
{ 'union': 'NumaOptions',
'data': {
'node': 'NumaNodeOptions' }}
##
-# @NumaNodeOptions
+# @NumaNodeOptions:
#
# Create a guest NUMA node. (for OptsVisitor)
#
@@ -4421,7 +4429,7 @@
'*memdev': 'str' }}
##
-# @HostMemPolicy
+# @HostMemPolicy:
#
# Host memory policy types
#
@@ -4435,7 +4443,7 @@
# @interleave: memory allocations are interleaved across the set
# of host nodes specified
#
-# Since 2.1
+# Since: 2.1
##
{ 'enum': 'HostMemPolicy',
'data': [ 'default', 'preferred', 'bind', 'interleave' ] }
@@ -4524,7 +4532,7 @@
{ 'union': 'MemoryDeviceInfo', 'data': {'dimm': 'PCDIMMDeviceInfo'} }
##
-# @query-memory-devices
+# @query-memory-devices:
#
# Lists available memory devices and their state
#
@@ -4532,14 +4540,16 @@
##
{ 'command': 'query-memory-devices', 'returns': ['MemoryDeviceInfo'] }
-## @ACPISlotType
+##
+# @ACPISlotType:
#
# @DIMM: memory slot
# @CPU: logical CPU slot (since 2.7)
-#
+##
{ 'enum': 'ACPISlotType', 'data': [ 'DIMM', 'CPU' ] }
-## @ACPIOSTInfo
+##
+# @ACPIOSTInfo:
#
# OSPM Status Indication for a device
# For description of possible values of @source and @status fields
@@ -4565,7 +4575,7 @@
'status': 'int' } }
##
-# @query-acpi-ospm-status
+# @query-acpi-ospm-status:
#
# Lists ACPI OSPM status of ACPI device objects,
# which might be reported via _OST method
@@ -4575,7 +4585,7 @@
{ 'command': 'query-acpi-ospm-status', 'returns': ['ACPIOSTInfo'] }
##
-# @WatchdogExpirationAction
+# @WatchdogExpirationAction:
#
# An enumeration of the actions taken when the watchdog device's timer is
# expired
@@ -4603,7 +4613,7 @@
'inject-nmi' ] }
##
-# @IoOperationType
+# @IoOperationType:
#
# An enumeration of the I/O operation types
#
@@ -4617,7 +4627,7 @@
'data': [ 'read', 'write' ] }
##
-# @GuestPanicAction
+# @GuestPanicAction:
#
# An enumeration of the actions taken when guest OS panic is detected
#
@@ -4629,7 +4639,7 @@
'data': [ 'pause', 'poweroff' ] }
##
-# @rtc-reset-reinjection
+# @rtc-reset-reinjection:
#
# This command will reset the RTC interrupt reinjection backlog.
# Can be used if another mechanism to synchronize guest time
@@ -4644,7 +4654,7 @@
{ 'include': 'qapi/rocker.json' }
##
-# ReplayMode:
+# @ReplayMode:
#
# Mode of the replay subsystem.
#
@@ -4712,7 +4722,7 @@
{ 'command': 'query-gic-capabilities', 'returns': ['GICCapability'] }
##
-# CpuInstanceProperties
+# @CpuInstanceProperties:
#
# List of properties to be used for hotplugging a CPU instance,
# it should be passed by management with device_add command when
@@ -4740,7 +4750,7 @@
}
##
-# @HotpluggableCPU
+# @HotpluggableCPU:
#
# @type: CPU object type for usage with device_add command
# @props: list of properties to be used for hotplugging CPU
@@ -4759,7 +4769,7 @@
}
##
-# @query-hotpluggable-cpus
+# @query-hotpluggable-cpus:
#
# Returns: a list of HotpluggableCPU objects.
#
diff --git a/qapi/block-core.json b/qapi/block-core.json
index c29bef7ee1..ec1da2a29a 100644
--- a/qapi/block-core.json
+++ b/qapi/block-core.json
@@ -6,7 +6,7 @@
{ 'include': 'common.json' }
##
-# @SnapshotInfo
+# @SnapshotInfo:
#
# @id: unique snapshot id
#
@@ -213,7 +213,7 @@
'*filename': 'str' } }
##
-# @BlockdevCacheInfo
+# @BlockdevCacheInfo:
#
# Cache mode information for a block device
#
@@ -378,7 +378,7 @@
# @offset: if present, the image file stores the data for this range in
# raw format at the given offset.
#
-# Since 1.7
+# Since: 1.7
##
{ 'struct': 'BlockDeviceMapEntry',
'data': { 'start': 'int', 'length': 'int', 'depth': 'int', 'zero': 'bool',
@@ -790,7 +790,7 @@
'*node-name': 'str', 'password': 'str'} }
##
-# @block_resize
+# @block_resize:
#
# Resize a block image while a guest is running.
#
@@ -812,7 +812,7 @@
'size': 'int' }}
##
-# @NewImageMode
+# @NewImageMode:
#
# An enumeration that tells QEMU how to set the backing file path in
# a new image file.
@@ -829,7 +829,7 @@
'data': [ 'existing', 'absolute-paths' ] }
##
-# @BlockdevSnapshotSync
+# @BlockdevSnapshotSync:
#
# Either @device or @node-name must be set but not both.
#
@@ -852,7 +852,7 @@
'*format': 'str', '*mode': 'NewImageMode' } }
##
-# @BlockdevSnapshot
+# @BlockdevSnapshot:
#
# @node: device or node name that will have a snapshot created.
#
@@ -861,13 +861,13 @@
# It must not have a current backing file (this can be
# achieved by passing "backing": "" to blockdev-add).
#
-# Since 2.5
+# Since: 2.5
##
{ 'struct': 'BlockdevSnapshot',
'data': { 'node': 'str', 'overlay': 'str' } }
##
-# @DriveBackup
+# @DriveBackup:
#
# @job-id: #optional identifier for the newly-created block job. If
# omitted, the device name will be used. (Since 2.7)
@@ -905,9 +905,9 @@
# default 'report' (no limitations, since this applies to
# a different block device than @device).
#
-# Note that @on-source-error and @on-target-error only affect background I/O.
-# If an error occurs during a guest write request, the device's rerror/werror
-# actions will be used.
+# Note: @on-source-error and @on-target-error only affect background
+# I/O. If an error occurs during a guest write request, the device's
+# rerror/werror actions will be used.
#
# Since: 1.6
##
@@ -919,7 +919,7 @@
'*on-target-error': 'BlockdevOnError' } }
##
-# @BlockdevBackup
+# @BlockdevBackup:
#
# @job-id: #optional identifier for the newly-created block job. If
# omitted, the device name will be used. (Since 2.7)
@@ -946,9 +946,9 @@
# default 'report' (no limitations, since this applies to
# a different block device than @device).
#
-# Note that @on-source-error and @on-target-error only affect background I/O.
-# If an error occurs during a guest write request, the device's rerror/werror
-# actions will be used.
+# Note: @on-source-error and @on-target-error only affect background
+# I/O. If an error occurs during a guest write request, the device's
+# rerror/werror actions will be used.
#
# Since: 2.3
##
@@ -961,7 +961,7 @@
'*on-target-error': 'BlockdevOnError' } }
##
-# @blockdev-snapshot-sync
+# @blockdev-snapshot-sync:
#
# Generates a synchronous snapshot of a block device.
#
@@ -970,26 +970,26 @@
# Returns: nothing on success
# If @device is not a valid block device, DeviceNotFound
#
-# Since 0.14.0
+# Since: 0.14.0
##
{ 'command': 'blockdev-snapshot-sync',
'data': 'BlockdevSnapshotSync' }
##
-# @blockdev-snapshot
+# @blockdev-snapshot:
#
# Generates a snapshot of a block device.
#
# For the arguments, see the documentation of BlockdevSnapshot.
#
-# Since 2.5
+# Since: 2.5
##
{ 'command': 'blockdev-snapshot',
'data': 'BlockdevSnapshot' }
##
-# @change-backing-file
+# @change-backing-file:
#
# Change the backing file in the image file metadata. This does not
# cause QEMU to reopen the image file to reparse the backing filename
@@ -1016,7 +1016,7 @@
'backing-file': 'str' } }
##
-# @block-commit
+# @block-commit:
#
# Live commit of data from overlay image nodes into backing nodes - i.e.,
# writes data between 'top' and 'base' into 'base'.
@@ -1079,7 +1079,7 @@
'*backing-file': 'str', '*speed': 'int' } }
##
-# @drive-backup
+# @drive-backup:
#
# 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
@@ -1092,13 +1092,13 @@
# Returns: nothing on success
# If @device is not a valid block device, GenericError
#
-# Since 1.6
+# Since: 1.6
##
{ 'command': 'drive-backup', 'boxed': true,
'data': 'DriveBackup' }
##
-# @blockdev-backup
+# @blockdev-backup:
#
# 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
@@ -1111,25 +1111,25 @@
# Returns: nothing on success
# If @device is not a valid block device, DeviceNotFound
#
-# Since 2.3
+# Since: 2.3
##
{ 'command': 'blockdev-backup', 'boxed': true,
'data': 'BlockdevBackup' }
##
-# @query-named-block-nodes
+# @query-named-block-nodes:
#
# Get the named block driver list
#
# Returns: the list of BlockDeviceInfo
#
-# Since 2.0
+# Since: 2.0
##
{ 'command': 'query-named-block-nodes', 'returns': [ 'BlockDeviceInfo' ] }
##
-# @drive-mirror
+# @drive-mirror:
#
# Start mirroring a block device's writes to a new destination.
#
@@ -1138,13 +1138,13 @@
# Returns: nothing on success
# If @device is not a valid block device, GenericError
#
-# Since 1.3
+# Since: 1.3
##
{ 'command': 'drive-mirror', 'boxed': true,
'data': 'DriveMirror' }
##
-# DriveMirror
+# @DriveMirror:
#
# A set of parameters describing drive mirror setup.
#
@@ -1198,7 +1198,7 @@
# written. Both will result in identical contents.
# Default is true. (Since 2.4)
#
-# Since 1.3
+# Since: 1.3
##
{ 'struct': 'DriveMirror',
'data': { '*job-id': 'str', 'device': 'str', 'target': 'str',
@@ -1210,19 +1210,19 @@
'*unmap': 'bool' } }
##
-# @BlockDirtyBitmap
+# @BlockDirtyBitmap:
#
# @node: name of device/node which the bitmap is tracking
#
# @name: name of the dirty bitmap
#
-# Since 2.4
+# Since: 2.4
##
{ 'struct': 'BlockDirtyBitmap',
'data': { 'node': 'str', 'name': 'str' } }
##
-# @BlockDirtyBitmapAdd
+# @BlockDirtyBitmapAdd:
#
# @node: name of device/node which the bitmap is tracking
#
@@ -1231,13 +1231,13 @@
# @granularity: #optional the bitmap granularity, default is 64k for
# block-dirty-bitmap-add
#
-# Since 2.4
+# Since: 2.4
##
{ 'struct': 'BlockDirtyBitmapAdd',
'data': { 'node': 'str', 'name': 'str', '*granularity': 'uint32' } }
##
-# @block-dirty-bitmap-add
+# @block-dirty-bitmap-add:
#
# Create a dirty bitmap with a name on the node
#
@@ -1245,13 +1245,13 @@
# If @node is not a valid block device or node, DeviceNotFound
# If @name is already taken, GenericError with an explanation
#
-# Since 2.4
+# Since: 2.4
##
{ 'command': 'block-dirty-bitmap-add',
'data': 'BlockDirtyBitmapAdd' }
##
-# @block-dirty-bitmap-remove
+# @block-dirty-bitmap-remove:
#
# Remove a dirty bitmap on the node
#
@@ -1260,13 +1260,13 @@
# If @name is not found, GenericError with an explanation
# if @name is frozen by an operation, GenericError
#
-# Since 2.4
+# Since: 2.4
##
{ 'command': 'block-dirty-bitmap-remove',
'data': 'BlockDirtyBitmap' }
##
-# @block-dirty-bitmap-clear
+# @block-dirty-bitmap-clear:
#
# Clear (reset) a dirty bitmap on the device
#
@@ -1274,13 +1274,13 @@
# If @node is not a valid block device, DeviceNotFound
# If @name is not found, GenericError with an explanation
#
-# Since 2.4
+# Since: 2.4
##
{ 'command': 'block-dirty-bitmap-clear',
'data': 'BlockDirtyBitmap' }
##
-# @blockdev-mirror
+# @blockdev-mirror:
#
# Start mirroring a block device's writes to a new destination.
#
@@ -1321,7 +1321,7 @@
#
# Returns: nothing on success.
#
-# Since 2.6
+# Since: 2.6
##
{ 'command': 'blockdev-mirror',
'data': { '*job-id': 'str', 'device': 'str', 'target': 'str',
@@ -1368,7 +1368,7 @@
'data': 'BlockIOThrottle' }
##
-# BlockIOThrottle
+# @BlockIOThrottle:
#
# A set of parameters describing block throttling.
#
@@ -1650,7 +1650,7 @@
{ 'command': 'block-job-complete', 'data': { 'device': 'str' } }
##
-# @BlockdevDiscardOptions
+# @BlockdevDiscardOptions:
#
# Determines how to handle discard requests.
#
@@ -1663,7 +1663,7 @@
'data': [ 'ignore', 'unmap' ] }
##
-# @BlockdevDetectZeroesOptions
+# @BlockdevDetectZeroesOptions:
#
# Describes the operation mode for the automatic conversion of plain
# zero writes by the OS to driver specific optimized zero write commands.
@@ -1679,7 +1679,7 @@
'data': [ 'off', 'on', 'unmap' ] }
##
-# @BlockdevAioOptions
+# @BlockdevAioOptions:
#
# Selects the AIO backend to handle I/O requests
#
@@ -1692,7 +1692,7 @@
'data': [ 'threads', 'native' ] }
##
-# @BlockdevCacheOptions
+# @BlockdevCacheOptions:
#
# Includes cache-related options for block devices
#
@@ -1708,13 +1708,17 @@
'*no-flush': 'bool' } }
##
-# @BlockdevDriver
+# @BlockdevDriver:
#
# Drivers that are supported in block device operations.
#
-# @host_device, @host_cdrom: Since 2.1
+# @host_device: Since 2.1
+# @host_cdrom: Since 2.1
# @gluster: Since 2.7
-# @nbd, @nfs, @replication, @ssh: Since 2.8
+# @nbd: Since 2.8
+# @nfs: Since 2.8
+# @replication: Since 2.8
+# @ssh: Since 2.8
#
# Since: 2.0
##
@@ -1727,7 +1731,7 @@
'vvfat' ] }
##
-# @BlockdevOptionsFile
+# @BlockdevOptionsFile:
#
# Driver specific block device options for the file backend.
#
@@ -1741,7 +1745,7 @@
'*aio': 'BlockdevAioOptions' } }
##
-# @BlockdevOptionsNull
+# @BlockdevOptionsNull:
#
# Driver specific block device options for the null backend.
#
@@ -1756,7 +1760,7 @@
'data': { '*size': 'int', '*latency-ns': 'uint64' } }
##
-# @BlockdevOptionsVVFAT
+# @BlockdevOptionsVVFAT:
#
# Driver specific block device options for the vvfat protocol.
#
@@ -1777,7 +1781,7 @@
'*label': 'str', '*rw': 'bool' } }
##
-# @BlockdevOptionsGenericFormat
+# @BlockdevOptionsGenericFormat:
#
# Driver specific block device options for image format that have no option
# besides their data source.
@@ -1790,7 +1794,7 @@
'data': { 'file': 'BlockdevRef' } }
##
-# @BlockdevOptionsLUKS
+# @BlockdevOptionsLUKS:
#
# Driver specific block device options for LUKS.
#
@@ -1806,7 +1810,7 @@
##
-# @BlockdevOptionsGenericCOWFormat
+# @BlockdevOptionsGenericCOWFormat:
#
# Driver specific block device options for image format that have no option
# besides their data source and an optional backing file.
@@ -1823,7 +1827,7 @@
'data': { '*backing': 'BlockdevRef' } }
##
-# @Qcow2OverlapCheckMode
+# @Qcow2OverlapCheckMode:
#
# General overlap check modes.
#
@@ -1843,7 +1847,7 @@
'data': [ 'none', 'constant', 'cached', 'all' ] }
##
-# @Qcow2OverlapCheckFlags
+# @Qcow2OverlapCheckFlags:
#
# Structure of flags for each metadata structure. Setting a field to 'true'
# makes qemu guard that structure against unintended overwriting. The default
@@ -1866,7 +1870,7 @@
'*inactive-l2': 'bool' } }
##
-# @Qcow2OverlapChecks
+# @Qcow2OverlapChecks:
#
# Specifies which metadata structures should be guarded against unintended
# overwriting.
@@ -1883,7 +1887,7 @@
'mode': 'Qcow2OverlapCheckMode' } }
##
-# @BlockdevOptionsQcow2
+# @BlockdevOptionsQcow2:
#
# Driver specific block device options for qcow2.
#
@@ -1933,7 +1937,7 @@
##
-# @BlockdevOptionsArchipelago
+# @BlockdevOptionsArchipelago:
#
# Driver specific block device options for Archipelago.
#
@@ -1962,7 +1966,7 @@
'*segment': 'str' } }
##
-# @BlockdevOptionsSsh
+# @BlockdevOptionsSsh:
#
# @server: host address
#
@@ -1973,7 +1977,7 @@
#
# TODO: Expose the host_key_check option in QMP
#
-# Since 2.8
+# Since: 2.8
##
{ 'struct': 'BlockdevOptionsSsh',
'data': { 'server': 'InetSocketAddress',
@@ -1982,7 +1986,7 @@
##
-# @BlkdebugEvent
+# @BlkdebugEvent:
#
# Trigger events supported by blkdebug.
#
@@ -2005,7 +2009,7 @@
'pwritev_zero', 'pwritev_done', 'empty_image_prepare' ] }
##
-# @BlkdebugInjectErrorOptions
+# @BlkdebugInjectErrorOptions:
#
# Describes a single error injection for blkdebug.
#
@@ -2037,7 +2041,7 @@
'*immediately': 'bool' } }
##
-# @BlkdebugSetStateOptions
+# @BlkdebugSetStateOptions:
#
# Describes a single state-change event for blkdebug.
#
@@ -2057,7 +2061,7 @@
'new_state': 'int' } }
##
-# @BlockdevOptionsBlkdebug
+# @BlockdevOptionsBlkdebug:
#
# Driver specific block device options for blkdebug.
#
@@ -2082,7 +2086,7 @@
'*set-state': ['BlkdebugSetStateOptions'] } }
##
-# @BlockdevOptionsBlkverify
+# @BlockdevOptionsBlkverify:
#
# Driver specific block device options for blkverify.
#
@@ -2097,7 +2101,7 @@
'raw': 'BlockdevRef' } }
##
-# @QuorumReadPattern
+# @QuorumReadPattern:
#
# An enumeration of quorum read patterns.
#
@@ -2110,7 +2114,7 @@
{ 'enum': 'QuorumReadPattern', 'data': [ 'quorum', 'fifo' ] }
##
-# @BlockdevOptionsQuorum
+# @BlockdevOptionsQuorum:
#
# Driver specific block device options for Quorum
#
@@ -2137,7 +2141,7 @@
'*read-pattern': 'QuorumReadPattern' } }
##
-# @GlusterTransport
+# @GlusterTransport:
#
# An enumeration of Gluster transport types
#
@@ -2152,7 +2156,7 @@
##
-# @GlusterServer
+# @GlusterServer:
#
# Captures the address of a socket
#
@@ -2160,10 +2164,6 @@
#
# @type: Transport type used for gluster connection
#
-# @unix: socket file
-#
-# @tcp: host address and port number
-#
# This is similar to SocketAddress, only distinction:
#
# 1. GlusterServer is a flat union, SocketAddress is a simple union.
@@ -2185,7 +2185,7 @@
'tcp': 'InetSocketAddress' } }
##
-# @BlockdevOptionsGluster
+# @BlockdevOptionsGluster:
#
# Driver specific block device options for Gluster
#
@@ -2209,7 +2209,7 @@
'*logfile': 'str' } }
##
-# @ReplicationMode
+# @ReplicationMode:
#
# An enumeration of replication modes.
#
@@ -2222,7 +2222,7 @@
{ 'enum' : 'ReplicationMode', 'data' : [ 'primary', 'secondary' ] }
##
-# @BlockdevOptionsReplication
+# @BlockdevOptionsReplication:
#
# Driver specific block device options for replication
#
@@ -2240,19 +2240,19 @@
'*top-id': 'str' } }
##
-# @NFSTransport
+# @NFSTransport:
#
# An enumeration of NFS transport types
#
# @inet: TCP transport
#
-# Since 2.8
+# Since: 2.8
##
{ 'enum': 'NFSTransport',
'data': [ 'inet' ] }
##
-# @NFSServer
+# @NFSServer:
#
# Captures the address of the socket
#
@@ -2260,14 +2260,14 @@
#
# @host: host address for NFS server
#
-# Since 2.8
+# Since: 2.8
##
{ 'struct': 'NFSServer',
'data': { 'type': 'NFSTransport',
'host': 'str' } }
##
-# @BlockdevOptionsNfs
+# @BlockdevOptionsNfs:
#
# Driver specific block device option for NFS
#
@@ -2295,7 +2295,7 @@
# @debug-level: #optional set the NFS debug level (max 2) (defaults
# to libnfs default)
#
-# Since 2.8
+# Since: 2.8
##
{ 'struct': 'BlockdevOptionsNfs',
'data': { 'server': 'NFSServer',
@@ -2308,7 +2308,7 @@
'*debug-level': 'int' } }
##
-# @BlockdevOptionsCurl
+# @BlockdevOptionsCurl:
#
# Driver specific block device options for the curl backend.
#
@@ -2320,7 +2320,7 @@
'data': { 'filename': 'str' } }
##
-# @BlockdevOptionsNbd
+# @BlockdevOptionsNbd:
#
# Driver specific block device options for NBD.
#
@@ -2338,7 +2338,7 @@
'*tls-creds': 'str' } }
##
-# @BlockdevOptionsRaw
+# @BlockdevOptionsRaw:
#
# Driver specific block device options for the raw driver.
#
@@ -2352,7 +2352,7 @@
'data': { '*offset': 'int', '*size': 'int' } }
##
-# @BlockdevOptions
+# @BlockdevOptions:
#
# Options for creating a block device. Many options are available for all
# block devices, independent of the block driver:
@@ -2418,7 +2418,7 @@
} }
##
-# @BlockdevRef
+# @BlockdevRef:
#
# Reference to a block device.
#
@@ -2616,7 +2616,7 @@
##
-# @BlockErrorAction
+# @BlockErrorAction:
#
# An enumeration of action that has been taken when a DISK I/O occurs
#
@@ -2633,7 +2633,7 @@
##
-# @BLOCK_IMAGE_CORRUPTED
+# @BLOCK_IMAGE_CORRUPTED:
#
# Emitted when a corruption has been detected in a disk image
#
@@ -2668,7 +2668,7 @@
'fatal' : 'bool' } }
##
-# @BLOCK_IO_ERROR
+# @BLOCK_IO_ERROR:
#
# Emitted when a disk I/O error occurs
#
@@ -2704,7 +2704,7 @@
'reason': 'str' } }
##
-# @BLOCK_JOB_COMPLETED
+# @BLOCK_JOB_COMPLETED:
#
# Emitted when a block job has completed
#
@@ -2736,7 +2736,7 @@
'*error': 'str' } }
##
-# @BLOCK_JOB_CANCELLED
+# @BLOCK_JOB_CANCELLED:
#
# Emitted when a block job has been cancelled
#
@@ -2762,7 +2762,7 @@
'speed' : 'int' } }
##
-# @BLOCK_JOB_ERROR
+# @BLOCK_JOB_ERROR:
#
# Emitted when a block job encounters an error
#
@@ -2781,7 +2781,7 @@
'action' : 'BlockErrorAction' } }
##
-# @BLOCK_JOB_READY
+# @BLOCK_JOB_READY:
#
# Emitted when a block job is ready to complete
#
@@ -2809,7 +2809,8 @@
'offset': 'int',
'speed' : 'int' } }
-# @PreallocMode
+##
+# @PreallocMode:
#
# Preallocation mode of QEMU image file
#
@@ -2821,13 +2822,13 @@
# space is really available. @full preallocation also sets up
# metadata correctly.
#
-# Since 2.2
+# Since: 2.2
##
{ 'enum': 'PreallocMode',
'data': [ 'off', 'metadata', 'falloc', 'full' ] }
##
-# @BLOCK_WRITE_THRESHOLD
+# @BLOCK_WRITE_THRESHOLD:
#
# Emitted when writes on block device reaches or exceeds the
# configured write threshold. For thin-provisioned devices, this
@@ -2850,7 +2851,7 @@
'write-threshold': 'uint64' } }
##
-# @block-set-write-threshold
+# @block-set-write-threshold:
#
# Change the write threshold for a block drive. An event will be delivered
# if a write to this block drive crosses the configured threshold.
@@ -2868,7 +2869,7 @@
'data': { 'node-name': 'str', 'write-threshold': 'uint64' } }
##
-# @x-blockdev-change
+# @x-blockdev-change:
#
# Dynamically reconfigure the block driver state graph. It can be used
# to add, remove, insert or replace a graph node. Currently only the
diff --git a/qapi/block.json b/qapi/block.json
index 4661fc93c8..937df05830 100644
--- a/qapi/block.json
+++ b/qapi/block.json
@@ -40,7 +40,7 @@
'data': ['auto', 'none', 'lba', 'large', 'rechs']}
##
-# @FloppyDriveType
+# @FloppyDriveType:
#
# Type of Floppy drive to be emulated by the Floppy Disk Controller.
#
@@ -56,7 +56,7 @@
'data': ['144', '288', '120', 'none', 'auto']}
##
-# @BlockdevSnapshotInternal
+# @BlockdevSnapshotInternal:
#
# @device: the device name or node-name of a root node to generate the snapshot
# from
@@ -73,7 +73,7 @@
'data': { 'device': 'str', 'name': 'str' } }
##
-# @blockdev-snapshot-internal-sync
+# @blockdev-snapshot-internal-sync:
#
# Synchronously take an internal snapshot of a block device, when the format
# of the image used supports it.
@@ -87,13 +87,13 @@
# If the format of the image used does not support it,
# BlockFormatFeatureNotSupported
#
-# Since 1.7
+# Since: 1.7
##
{ 'command': 'blockdev-snapshot-internal-sync',
'data': 'BlockdevSnapshotInternal' }
##
-# @blockdev-snapshot-delete-internal-sync
+# @blockdev-snapshot-delete-internal-sync:
#
# Synchronously delete an internal snapshot of a block device, when the format
# of the image used support it. The snapshot is identified by name or id or
@@ -114,7 +114,7 @@
# BlockFormatFeatureNotSupported
# If @id and @name are both not specified, GenericError
#
-# Since 1.7
+# Since: 1.7
##
{ 'command': 'blockdev-snapshot-delete-internal-sync',
'data': { 'device': 'str', '*id': 'str', '*name': 'str'},
@@ -190,7 +190,7 @@
{ 'command': 'nbd-server-stop' }
##
-# @DEVICE_TRAY_MOVED
+# @DEVICE_TRAY_MOVED:
#
# Emitted whenever the tray of a removable device is moved by the guest or by
# HMP/QMP commands
@@ -209,7 +209,7 @@
'data': { 'device': 'str', 'id': 'str', 'tray-open': 'bool' } }
##
-# @QuorumOpType
+# @QuorumOpType:
#
# An enumeration of the quorum operation types
#
diff --git a/qapi/common.json b/qapi/common.json
index 9353a7b377..624a8619c8 100644
--- a/qapi/common.json
+++ b/qapi/common.json
@@ -3,7 +3,7 @@
# QAPI common definitions
##
-# @QapiErrorClass
+# @QapiErrorClass:
#
# QEMU error classes
#
@@ -30,15 +30,15 @@
'DeviceNotActive', 'DeviceNotFound', 'KVMMissingCap' ] }
##
-# @VersionTriple
+# @VersionTriple:
#
# A three-part version number.
#
-# @qemu.major: The major version number.
+# @major: The major version number.
#
-# @qemu.minor: The minor version number.
+# @minor: The minor version number.
#
-# @qemu.micro: The micro version number.
+# @micro: The micro version number.
#
# Since: 2.4
##
@@ -101,7 +101,7 @@
{ 'command': 'query-commands', 'returns': ['CommandInfo'] }
##
-# @OnOffAuto
+# @OnOffAuto:
#
# An enumeration of three options: on, off, and auto
#
@@ -117,7 +117,7 @@
'data': [ 'auto', 'on', 'off' ] }
##
-# @OnOffSplit
+# @OnOffSplit:
#
# An enumeration of three values: on, off, and split
#
diff --git a/qapi/crypto.json b/qapi/crypto.json
index 5c9d7d4a36..15d296e3c1 100644
--- a/qapi/crypto.json
+++ b/qapi/crypto.json
@@ -3,7 +3,7 @@
# QAPI crypto definitions
##
-# QCryptoTLSCredsEndpoint:
+# @QCryptoTLSCredsEndpoint:
#
# The type of network endpoint that will be using the credentials.
# Most types of credential require different setup / structures
@@ -22,7 +22,7 @@
##
-# QCryptoSecretFormat:
+# @QCryptoSecretFormat:
#
# The data format that the secret is provided in
#
@@ -36,7 +36,7 @@
##
-# QCryptoHashAlgorithm:
+# @QCryptoHashAlgorithm:
#
# The supported algorithms for computing content digests
#
@@ -55,7 +55,7 @@
##
-# QCryptoCipherAlgorithm:
+# @QCryptoCipherAlgorithm:
#
# The supported algorithms for content encryption ciphers
#
@@ -82,7 +82,7 @@
##
-# QCryptoCipherMode:
+# @QCryptoCipherMode:
#
# The supported modes for content encryption ciphers
#
@@ -98,7 +98,7 @@
##
-# QCryptoIVGenAlgorithm:
+# @QCryptoIVGenAlgorithm:
#
# The supported algorithms for generating initialization
# vectors for full disk encryption. The 'plain' generator
@@ -116,7 +116,7 @@
'data': ['plain', 'plain64', 'essiv']}
##
-# QCryptoBlockFormat:
+# @QCryptoBlockFormat:
#
# The supported full disk encryption formats
#
@@ -131,7 +131,7 @@
'data': ['qcow', 'luks']}
##
-# QCryptoBlockOptionsBase:
+# @QCryptoBlockOptionsBase:
#
# The common options that apply to all full disk
# encryption formats
@@ -144,7 +144,7 @@
'data': { 'format': 'QCryptoBlockFormat' }}
##
-# QCryptoBlockOptionsQCow:
+# @QCryptoBlockOptionsQCow:
#
# The options that apply to QCow/QCow2 AES-CBC encryption format
#
@@ -158,7 +158,7 @@
'data': { '*key-secret': 'str' }}
##
-# QCryptoBlockOptionsLUKS:
+# @QCryptoBlockOptionsLUKS:
#
# The options that apply to LUKS encryption format
#
@@ -172,7 +172,7 @@
##
-# QCryptoBlockCreateOptionsLUKS:
+# @QCryptoBlockCreateOptionsLUKS:
#
# The options that apply to LUKS encryption format initialization
#
@@ -202,7 +202,7 @@
##
-# QCryptoBlockOpenOptions:
+# @QCryptoBlockOpenOptions:
#
# The options that are available for all encryption formats
# when opening an existing volume
@@ -217,7 +217,7 @@
##
-# QCryptoBlockCreateOptions:
+# @QCryptoBlockCreateOptions:
#
# The options that are available for all encryption formats
# when initializing a new volume
@@ -232,7 +232,7 @@
##
-# QCryptoBlockInfoBase:
+# @QCryptoBlockInfoBase:
#
# The common information that applies to all full disk
# encryption formats
@@ -246,7 +246,7 @@
##
-# QCryptoBlockInfoLUKSSlot:
+# @QCryptoBlockInfoLUKSSlot:
#
# Information about the LUKS block encryption key
# slot options
@@ -266,7 +266,7 @@
##
-# QCryptoBlockInfoLUKS:
+# @QCryptoBlockInfoLUKS:
#
# Information about the LUKS block encryption options
#
@@ -294,7 +294,7 @@
'slots': [ 'QCryptoBlockInfoLUKSSlot' ] }}
##
-# QCryptoBlockInfoQCow:
+# @QCryptoBlockInfoQCow:
#
# Information about the QCow block encryption options
#
@@ -305,7 +305,7 @@
##
-# QCryptoBlockInfo:
+# @QCryptoBlockInfo:
#
# Information about the block encryption options
#
diff --git a/qapi/event.json b/qapi/event.json
index 8642052ebc..37bf34ed6d 100644
--- a/qapi/event.json
+++ b/qapi/event.json
@@ -1,5 +1,5 @@
##
-# @SHUTDOWN
+# @SHUTDOWN:
#
# Emitted when the virtual machine has shut down, indicating that qemu is
# about to exit.
@@ -12,7 +12,7 @@
{ 'event': 'SHUTDOWN' }
##
-# @POWERDOWN
+# @POWERDOWN:
#
# Emitted when the virtual machine is powered down through the power control
# system, such as via ACPI.
@@ -22,7 +22,7 @@
{ 'event': 'POWERDOWN' }
##
-# @RESET
+# @RESET:
#
# Emitted when the virtual machine is reset
#
@@ -31,7 +31,7 @@
{ 'event': 'RESET' }
##
-# @STOP
+# @STOP:
#
# Emitted when the virtual machine is stopped
#
@@ -40,7 +40,7 @@
{ 'event': 'STOP' }
##
-# @RESUME
+# @RESUME:
#
# Emitted when the virtual machine resumes execution
#
@@ -49,7 +49,7 @@
{ 'event': 'RESUME' }
##
-# @SUSPEND
+# @SUSPEND:
#
# Emitted when guest enters a hardware suspension state, for example, S3 state,
# which is sometimes called standby state
@@ -59,7 +59,7 @@
{ 'event': 'SUSPEND' }
##
-# @SUSPEND_DISK
+# @SUSPEND_DISK:
#
# Emitted when guest enters a hardware suspension state with data saved on
# disk, for example, S4 state, which is sometimes called hibernate state
@@ -71,7 +71,7 @@
{ 'event': 'SUSPEND_DISK' }
##
-# @WAKEUP
+# @WAKEUP:
#
# Emitted when the guest has woken up from suspend state and is running
#
@@ -80,7 +80,7 @@
{ 'event': 'WAKEUP' }
##
-# @RTC_CHANGE
+# @RTC_CHANGE:
#
# Emitted when the guest changes the RTC time.
#
@@ -93,7 +93,7 @@
'data': { 'offset': 'int' } }
##
-# @WATCHDOG
+# @WATCHDOG:
#
# Emitted when the watchdog device's timer is expired
#
@@ -108,7 +108,7 @@
'data': { 'action': 'WatchdogExpirationAction' } }
##
-# @DEVICE_DELETED
+# @DEVICE_DELETED:
#
# Emitted whenever the device removal completion is acknowledged by the guest.
# At this point, it's safe to reuse the specified device ID. Device removal can
@@ -124,7 +124,7 @@
'data': { '*device': 'str', 'path': 'str' } }
##
-# @NIC_RX_FILTER_CHANGED
+# @NIC_RX_FILTER_CHANGED:
#
# Emitted once until the 'query-rx-filter' command is executed, the first event
# will always be emitted
@@ -139,7 +139,7 @@
'data': { '*name': 'str', 'path': 'str' } }
##
-# @VNC_CONNECTED
+# @VNC_CONNECTED:
#
# Emitted when a VNC client establishes a connection
#
@@ -157,7 +157,7 @@
'client': 'VncBasicInfo' } }
##
-# @VNC_INITIALIZED
+# @VNC_INITIALIZED:
#
# Emitted after authentication takes place (if any) and the VNC session is
# made active
@@ -173,7 +173,7 @@
'client': 'VncClientInfo' } }
##
-# @VNC_DISCONNECTED
+# @VNC_DISCONNECTED:
#
# Emitted when the connection is closed
#
@@ -188,7 +188,7 @@
'client': 'VncClientInfo' } }
##
-# @SPICE_CONNECTED
+# @SPICE_CONNECTED:
#
# Emitted when a SPICE client establishes a connection
#
@@ -203,7 +203,7 @@
'client': 'SpiceBasicInfo' } }
##
-# @SPICE_INITIALIZED
+# @SPICE_INITIALIZED:
#
# Emitted after initial handshake and authentication takes place (if any)
# and the SPICE channel is up and running
@@ -219,7 +219,7 @@
'client': 'SpiceChannel' } }
##
-# @SPICE_DISCONNECTED
+# @SPICE_DISCONNECTED:
#
# Emitted when the SPICE connection is closed
#
@@ -234,7 +234,7 @@
'client': 'SpiceBasicInfo' } }
##
-# @SPICE_MIGRATE_COMPLETED
+# @SPICE_MIGRATE_COMPLETED:
#
# Emitted when SPICE migration has completed
#
@@ -243,7 +243,7 @@
{ 'event': 'SPICE_MIGRATE_COMPLETED' }
##
-# @MIGRATION
+# @MIGRATION:
#
# Emitted when a migration event happens
#
@@ -255,7 +255,7 @@
'data': {'status': 'MigrationStatus'}}
##
-# @MIGRATION_PASS
+# @MIGRATION_PASS:
#
# Emitted from the source side of a migration at the start of each pass
# (when it syncs the dirty bitmap)
@@ -268,7 +268,7 @@
'data': { 'pass': 'int' } }
##
-# @ACPI_DEVICE_OST
+# @ACPI_DEVICE_OST:
#
# Emitted when guest executes ACPI _OST method.
#
@@ -280,7 +280,7 @@
'data': { 'info': 'ACPIOSTInfo' } }
##
-# @BALLOON_CHANGE
+# @BALLOON_CHANGE:
#
# Emitted when the guest changes the actual BALLOON level. This value is
# equivalent to the @actual field return by the 'query-balloon' command
@@ -293,7 +293,7 @@
'data': { 'actual': 'int' } }
##
-# @GUEST_PANICKED
+# @GUEST_PANICKED:
#
# Emitted when guest OS panic is detected
#
@@ -305,7 +305,7 @@
'data': { 'action': 'GuestPanicAction' } }
##
-# @QUORUM_FAILURE
+# @QUORUM_FAILURE:
#
# Emitted by the Quorum block driver if it fails to establish a quorum
#
@@ -321,7 +321,7 @@
'data': { 'reference': 'str', 'sector-num': 'int', 'sectors-count': 'int' } }
##
-# @QUORUM_REPORT_BAD
+# @QUORUM_REPORT_BAD:
#
# Emitted to report a corruption of a Quorum file
#
@@ -345,7 +345,7 @@
'sector-num': 'int', 'sectors-count': 'int' } }
##
-# @VSERPORT_CHANGE
+# @VSERPORT_CHANGE:
#
# Emitted when the guest opens or closes a virtio-serial port.
#
@@ -359,7 +359,7 @@
'data': { 'id': 'str', 'open': 'bool' } }
##
-# @MEM_UNPLUG_ERROR
+# @MEM_UNPLUG_ERROR:
#
# Emitted when memory hot unplug error occurs.
#
@@ -373,7 +373,7 @@
'data': { 'device': 'str', 'msg': 'str' } }
##
-# @DUMP_COMPLETED
+# @DUMP_COMPLETED:
#
# Emitted when background dump has completed
#
diff --git a/qapi/introspect.json b/qapi/introspect.json
index 3fd81fb540..fd4dc84196 100644
--- a/qapi/introspect.json
+++ b/qapi/introspect.json
@@ -11,7 +11,7 @@
# See the COPYING file in the top-level directory.
##
-# @query-qmp-schema
+# @query-qmp-schema:
#
# Command query-qmp-schema exposes the QMP wire ABI as an array of
# SchemaInfo. This lets QMP clients figure out what commands and
@@ -49,7 +49,7 @@
'gen': false } # just to simplify qmp_query_json()
##
-# @SchemaMetaType
+# @SchemaMetaType:
#
# This is a @SchemaInfo's meta type, i.e. the kind of entity it
# describes.
@@ -75,7 +75,7 @@
'command', 'event' ] }
##
-# @SchemaInfo
+# @SchemaInfo:
#
# @name: the entity's name, inherited from @base.
# Commands and events have the name defined in the QAPI schema.
@@ -105,7 +105,7 @@
'event': 'SchemaInfoEvent' } }
##
-# @SchemaInfoBuiltin
+# @SchemaInfoBuiltin:
#
# Additional SchemaInfo members for meta-type 'builtin'.
#
@@ -117,7 +117,7 @@
'data': { 'json-type': 'JSONType' } }
##
-# @JSONType
+# @JSONType:
#
# The four primitive and two structured types according to RFC 7159
# section 1, plus 'int' (split off 'number'), plus the obvious top
@@ -130,7 +130,7 @@
'object', 'array', 'value' ] }
##
-# @SchemaInfoEnum
+# @SchemaInfoEnum:
#
# Additional SchemaInfo members for meta-type 'enum'.
#
@@ -144,7 +144,7 @@
'data': { 'values': ['str'] } }
##
-# @SchemaInfoArray
+# @SchemaInfoArray:
#
# Additional SchemaInfo members for meta-type 'array'.
#
@@ -158,7 +158,7 @@
'data': { 'element-type': 'str' } }
##
-# @SchemaInfoObject
+# @SchemaInfoObject:
#
# Additional SchemaInfo members for meta-type 'object'.
#
@@ -183,7 +183,7 @@
'*variants': [ 'SchemaInfoObjectVariant' ] } }
##
-# @SchemaInfoObjectMember
+# @SchemaInfoObjectMember:
#
# An object member.
#
@@ -206,7 +206,7 @@
# @default's type must be null or match @type
##
-# @SchemaInfoObjectVariant
+# @SchemaInfoObjectVariant:
#
# The variant members for a value of the type tag.
#
@@ -221,7 +221,7 @@
'data': { 'case': 'str', 'type': 'str' } }
##
-# @SchemaInfoAlternate
+# @SchemaInfoAlternate:
#
# Additional SchemaInfo members for meta-type 'alternate'.
#
@@ -237,7 +237,7 @@
'data': { 'members': [ 'SchemaInfoAlternateMember' ] } }
##
-# @SchemaInfoAlternateMember
+# @SchemaInfoAlternateMember:
#
# An alternate member.
#
@@ -249,7 +249,7 @@
'data': { 'type': 'str' } }
##
-# @SchemaInfoCommand
+# @SchemaInfoCommand:
#
# Additional SchemaInfo members for meta-type 'command'.
#
@@ -266,7 +266,7 @@
'data': { 'arg-type': 'str', 'ret-type': 'str' } }
##
-# @SchemaInfoEvent
+# @SchemaInfoEvent:
#
# Additional SchemaInfo members for meta-type 'event'.
#
diff --git a/qapi/qmp-event.c b/qapi/qmp-event.c
index 8bba165bfb..802ede48e3 100644
--- a/qapi/qmp-event.c
+++ b/qapi/qmp-event.c
@@ -35,21 +35,12 @@ static void timestamp_put(QDict *qdict)
int err;
QObject *obj;
qemu_timeval tv;
- int64_t sec, usec;
err = qemu_gettimeofday(&tv);
- if (err < 0) {
- /* Put -1 to indicate failure of getting host time */
- sec = -1;
- usec = -1;
- } else {
- sec = tv.tv_sec;
- usec = tv.tv_usec;
- }
-
- obj = qobject_from_jsonf("{ 'seconds': %" PRId64 ", "
- "'microseconds': %" PRId64 " }",
- sec, usec);
+ /* Put -1 to indicate failure of getting host time */
+ obj = qobject_from_jsonf("{ 'seconds': %lld, 'microseconds': %lld }",
+ err < 0 ? -1LL : (long long)tv.tv_sec,
+ err < 0 ? -1LL : (long long)tv.tv_usec);
qdict_put_obj(qdict, "timestamp", obj);
}
diff --git a/qapi/rocker.json b/qapi/rocker.json
index 2fe7fdfa66..ace27760f1 100644
--- a/qapi/rocker.json
+++ b/qapi/rocker.json
@@ -1,5 +1,5 @@
##
-# @Rocker:
+# @RockerSwitch:
#
# Rocker switch information.
#
diff --git a/qapi/trace.json b/qapi/trace.json
index e87214677c..4fd39b7792 100644
--- a/qapi/trace.json
+++ b/qapi/trace.json
@@ -17,7 +17,7 @@
#
# @enabled: The event is dynamically enabled.
#
-# Since 2.2
+# Since: 2.2
##
{ 'enum': 'TraceEventState',
'data': ['unavailable', 'disabled', 'enabled'] }
@@ -34,7 +34,7 @@
# An event is per-vCPU if it has the "vcpu" property in the "trace-events"
# files.
#
-# Since 2.2
+# Since: 2.2
##
{ 'struct': 'TraceEventInfo',
'data': {'name': 'str', 'state': 'TraceEventState', 'vcpu': 'bool'} }
@@ -58,7 +58,7 @@
# exact match, @vcpu is given and the event does not have the "vcpu" property,
# an error is returned.
#
-# Since 2.2
+# Since: 2.2
##
{ 'command': 'trace-event-get-state',
'data': {'name': 'str', '*vcpu': 'int'},
@@ -83,7 +83,7 @@
# match, @vcpu is given and the event does not have the "vcpu" property, an
# error is returned.
#
-# Since 2.2
+# Since: 2.2
##
{ 'command': 'trace-event-set-state',
'data': {'name': 'str', 'enable': 'bool', '*ignore-unavailable': 'bool',
diff --git a/qga/qapi-schema.json b/qga/qapi-schema.json
index c21f3084dc..94c03128fd 100644
--- a/qga/qapi-schema.json
+++ b/qga/qapi-schema.json
@@ -102,7 +102,7 @@
#
# Returns: Time in nanoseconds.
#
-# Since 1.5
+# Since: 1.5
##
{ 'command': 'guest-get-time',
'returns': 'int' }
@@ -149,13 +149,13 @@
# @success-response: whether command returns a response on success
# (since 1.7)
#
-# Since 1.1.0
+# Since: 1.1.0
##
{ 'struct': 'GuestAgentCommandInfo',
'data': { 'name': 'str', 'enabled': 'bool', 'success-response': 'bool' } }
##
-# @GuestAgentInfo
+# @GuestAgentInfo:
#
# Information about guest agent.
#
@@ -163,7 +163,7 @@
#
# @supported_commands: Information about guest agent commands
#
-# Since 0.15.0
+# Since: 0.15.0
##
{ 'struct': 'GuestAgentInfo',
'data': { 'version': 'str',
@@ -203,7 +203,7 @@
#
# Open a file in the guest and retrieve a file handle for it
#
-# @filepath: Full path to the file in the guest to open.
+# @path: Full path to the file in the guest to open.
#
# @mode: #optional open mode, as per fopen(), "r" is the default.
#
@@ -230,7 +230,7 @@
'data': { 'handle': 'int' } }
##
-# @GuestFileRead
+# @GuestFileRead:
#
# Result of guest agent file-read operation
#
@@ -264,7 +264,7 @@
'returns': 'GuestFileRead' }
##
-# @GuestFileWrite
+# @GuestFileWrite:
#
# Result of guest agent file-write operation
#
@@ -300,7 +300,7 @@
##
-# @GuestFileSeek
+# @GuestFileSeek:
#
# Result of guest agent file-seek operation
#
@@ -378,7 +378,7 @@
'data': { 'handle': 'int' } }
##
-# @GuestFsFreezeStatus
+# @GuestFsfreezeStatus:
#
# An enumeration of filesystem freeze states
#
@@ -455,7 +455,7 @@
'returns': 'int' }
##
-# @GuestFilesystemTrimResult
+# @GuestFilesystemTrimResult:
#
# @path: path that was trimmed
# @error: an error message when trim failed
@@ -469,7 +469,7 @@
'*trimmed': 'int', '*minimum': 'int', '*error': 'str'} }
##
-# @GuestFilesystemTrimResponse
+# @GuestFilesystemTrimResponse:
#
# @paths: list of @GuestFilesystemTrimResult per path that was trimmed
#
@@ -501,7 +501,7 @@
'returns': 'GuestFilesystemTrimResponse' }
##
-# @guest-suspend-disk
+# @guest-suspend-disk:
#
# Suspend guest to disk.
#
@@ -529,7 +529,7 @@
{ 'command': 'guest-suspend-disk', 'success-response': false }
##
-# @guest-suspend-ram
+# @guest-suspend-ram:
#
# Suspend guest to ram.
#
@@ -561,7 +561,7 @@
{ 'command': 'guest-suspend-ram', 'success-response': false }
##
-# @guest-suspend-hybrid
+# @guest-suspend-hybrid:
#
# Save guest state to disk and suspend to ram.
#
@@ -720,7 +720,7 @@
'returns': 'int' }
##
-# @GuestDiskBusType
+# @GuestDiskBusType:
#
# An enumeration of bus type of disks
#
@@ -770,7 +770,7 @@
# @GuestDiskAddress:
#
# @pci-controller: controller's PCI address
-# @type: bus type
+# @bus-type: bus type
# @bus: bus id
# @target: target id
# @unit: unit id
@@ -783,7 +783,7 @@
'bus': 'int', 'target': 'int', 'unit': 'int'} }
##
-# @GuestFilesystemInfo
+# @GuestFilesystemInfo:
#
# @name: disk name
# @mountpoint: mount point path
@@ -811,7 +811,7 @@
'returns': ['GuestFilesystemInfo'] }
##
-# @guest-set-user-password
+# @guest-set-user-password:
#
# @username: the user account whose password to change
# @password: the new password entry string, base64 encoded
@@ -832,11 +832,12 @@
#
# Returns: Nothing on success.
#
-# Since 2.3
+# Since: 2.3
##
{ 'command': 'guest-set-user-password',
'data': { 'username': 'str', 'password': 'str', 'crypted': 'bool' } }
+##
# @GuestMemoryBlock:
#
# @phys-index: Arbitrary guest-specific unique identifier of the MEMORY BLOCK.
@@ -872,7 +873,7 @@
'returns': ['GuestMemoryBlock'] }
##
-# @GuestMemoryBlockResponseType
+# @GuestMemoryBlockResponseType:
#
# An enumeration of memory block operation result.
#
@@ -936,6 +937,7 @@
'data': {'mem-blks': ['GuestMemoryBlock'] },
'returns': ['GuestMemoryBlockResponse'] }
+##
# @GuestMemoryBlockInfo:
#
# @size: the size (in bytes) of the guest memory blocks,
@@ -952,14 +954,14 @@
#
# Get information relating to guest memory blocks.
#
-# Returns: memory block size in bytes.
# Returns: @GuestMemoryBlockInfo
#
-# Since 2.3
+# Since: 2.3
##
{ 'command': 'guest-get-memory-block-info',
'returns': 'GuestMemoryBlockInfo' }
+##
# @GuestExecStatus:
#
# @exited: true if process has already terminated.
@@ -982,7 +984,7 @@
'*out-data': 'str', '*err-data': 'str',
'*out-truncated': 'bool', '*err-truncated': 'bool' }}
##
-# @guest-exec-status
+# @guest-exec-status:
#
# Check status of process associated with PID retrieved via guest-exec.
# Reap the process and associated metadata if it has exited.
@@ -991,7 +993,7 @@
#
# Returns: GuestExecStatus on success.
#
-# Since 2.5
+# Since: 2.5
##
{ 'command': 'guest-exec-status',
'data': { 'pid': 'int' },
@@ -1001,7 +1003,7 @@
# @GuestExec:
# @pid: pid of child process in guest OS
#
-#Since: 2.5
+# Since: 2.5
##
{ 'struct': 'GuestExec',
'data': { 'pid': 'int'} }
diff --git a/tests/check-qjson.c b/tests/check-qjson.c
index 85955744eb..0b21a22e10 100644
--- a/tests/check-qjson.c
+++ b/tests/check-qjson.c
@@ -964,7 +964,7 @@ static void vararg_number(void)
QInt *qint;
QFloat *qfloat;
int value = 0x2342;
- int64_t value64 = 0x2342342343LL;
+ long long value_ll = 0x2342342343LL;
double valuef = 2.323423423;
obj = qobject_from_jsonf("%d", value);
@@ -976,12 +976,12 @@ static void vararg_number(void)
QDECREF(qint);
- obj = qobject_from_jsonf("%" PRId64, value64);
+ obj = qobject_from_jsonf("%lld", value_ll);
g_assert(obj != NULL);
g_assert(qobject_type(obj) == QTYPE_QINT);
qint = qobject_to_qint(obj);
- g_assert(qint_get_int(qint) == value64);
+ g_assert(qint_get_int(qint) == value_ll);
QDECREF(qint);
diff --git a/tests/test-qga.c b/tests/test-qga.c
index 40af64987a..868b02a40f 100644
--- a/tests/test-qga.c
+++ b/tests/test-qga.c
@@ -837,6 +837,7 @@ static void test_qga_guest_exec(gconstpointer fix)
int64_t pid, now, exitcode;
gsize len;
bool exited;
+ char *cmd;
/* exec 'echo foo bar' */
ret = qmp_fd(fixture->fd, "{'execute': 'guest-exec', 'arguments': {"
@@ -851,9 +852,10 @@ static void test_qga_guest_exec(gconstpointer fix)
/* wait for completion */
now = g_get_monotonic_time();
+ cmd = g_strdup_printf("{'execute': 'guest-exec-status',"
+ " 'arguments': { 'pid': %" PRId64 " } }", pid);
do {
- ret = qmp_fd(fixture->fd, "{'execute': 'guest-exec-status',"
- " 'arguments': { 'pid': %" PRId64 " } }", pid);
+ ret = qmp_fd(fixture->fd, cmd);
g_assert_nonnull(ret);
val = qdict_get_qdict(ret, "return");
exited = qdict_get_bool(val, "exited");
@@ -863,6 +865,7 @@ static void test_qga_guest_exec(gconstpointer fix)
} while (!exited &&
g_get_monotonic_time() < now + 5 * G_TIME_SPAN_SECOND);
g_assert(exited);
+ g_free(cmd);
/* check stdout */
exitcode = qdict_get_int(val, "exitcode");
diff --git a/tests/test-qobject-input-visitor.c b/tests/test-qobject-input-visitor.c
index 26c5012df3..945404a9e0 100644
--- a/tests/test-qobject-input-visitor.c
+++ b/tests/test-qobject-input-visitor.c
@@ -83,10 +83,11 @@ static Visitor *visitor_input_test_init_raw(TestInputVisitorData *data,
static void test_visitor_in_int(TestInputVisitorData *data,
const void *unused)
{
- int64_t res = 0, value = -42;
+ int64_t res = 0;
+ int value = -42;
Visitor *v;
- v = visitor_input_test_init(data, "%" PRId64, value);
+ v = visitor_input_test_init(data, "%d", value);
visit_type_int(v, NULL, &res, &error_abort);
g_assert_cmpint(res, ==, value);