#
# @restrict: #optional isolate the guest from the host
#
+# @ipv4: #optional whether to support IPv4, default true for enabled
+# (since 2.6)
+#
+# @ipv6: #optional whether to support IPv6, default true for enabled
+# (since 2.6)
+#
# @ip: #optional legacy parameter, use net= instead
#
-# @net: #optional IP address and optional netmask
+# @net: #optional IP network address that the guest will see, in the
+# form addr[/netmask] The netmask is optional, and can be
+# either in the form a.b.c.d or as a number of valid top-most
+# bits. Default is 10.0.2.0/24.
#
# @host: #optional guest-visible address of the host
#
# @dnssearch: #optional list of DNS suffixes to search, passed as DHCP option
# to the guest
#
-# @ip6-prefix: #optional IPv6 network prefix (default is fec0::) (since 2.6)
+# @ipv6-prefix: #optional IPv6 network prefix (default is fec0::) (since
+# 2.6). The network prefix is given in the usual
+# hexadecimal IPv6 address notation.
#
-# @ip6-prefixlen: #optional IPv6 network prefix length (default is 64) (since 2.6)
+# @ipv6-prefixlen: #optional IPv6 network prefix length (default is 64)
+# (since 2.6)
#
-# @ip6-host: #optional guest-visible IPv6 address of the host (since 2.6)
+# @ipv6-host: #optional guest-visible IPv6 address of the host (since 2.6)
#
-# @ip6-dns: #optional guest-visible IPv6 address of the virtual nameserver (since 2.6)
+# @ipv6-dns: #optional guest-visible IPv6 address of the virtual
+# nameserver (since 2.6)
#
# @smb: #optional root directory of the built-in SMB server
#
'data': {
'*hostname': 'str',
'*restrict': 'bool',
+ '*ipv4': 'bool',
+ '*ipv6': 'bool',
'*ip': 'str',
'*net': 'str',
'*host': 'str',
'*dhcpstart': 'str',
'*dns': 'str',
'*dnssearch': ['String'],
- '*ip6-prefix': 'str',
- '*ip6-prefixlen': 'int',
- '*ip6-host': 'str',
- '*ip6-dns': 'str',
+ '*ipv6-prefix': 'str',
+ '*ipv6-prefixlen': 'int',
+ '*ipv6-host': 'str',
+ '*ipv6-dns': 'str',
'*smb': 'str',
'*smbserver': 'str',
'*hostfwd': ['String'],
#
# 'unmapped' and 'pause' since 2.0
# 'ro' and 'kp_comma' since 2.4
+# 'kp_equals' and 'power' since 2.6
##
{ 'enum': 'QKeyCode',
'data': [ 'unmapped',
'left', 'up', 'down', 'right', 'insert', 'delete', 'stop', 'again',
'props', 'undo', 'front', 'copy', 'open', 'paste', 'find', 'cut',
'lf', 'help', 'meta_l', 'meta_r', 'compose', 'pause', 'ro',
- 'kp_comma' ] }
+ 'kp_comma', 'kp_equals', 'power' ] }
##
# @KeyValue
##
{ 'enum': 'ReplayMode',
'data': [ 'none', 'record', 'play' ] }
+
+##
+# @GICCapability:
+#
+# The struct describes capability for a specific GIC (Generic
+# Interrupt Controller) version. These bits are not only decided by
+# QEMU/KVM software version, but also decided by the hardware that
+# the program is running upon.
+#
+# @version: version of GIC to be described. Currently, only 2 and 3
+# are supported.
+#
+# @emulated: whether current QEMU/hardware supports emulated GIC
+# device in user space.
+#
+# @kernel: whether current QEMU/hardware supports hardware
+# accelerated GIC device in kernel.
+#
+# Since: 2.6
+##
+{ 'struct': 'GICCapability',
+ 'data': { 'version': 'int',
+ 'emulated': 'bool',
+ 'kernel': 'bool' } }
+
+##
+# @query-gic-capabilities:
+#
+# This command is ARM-only. It will return a list of GICCapability
+# objects that describe its capability bits.
+#
+# Returns: a list of GICCapability objects.
+#
+# Since: 2.6
+##
+{ 'command': 'query-gic-capabilities', 'returns': ['GICCapability'] }