blob: 99d313ef3b59230c04bbfd88c10bfedb5ceadb8e [file] [log] [blame]
Benoît Canetd34bda72014-06-05 13:45:29 +02001# -*- Mode: Python -*-
Marc-André Lureaud3a48372017-01-13 15:41:23 +01002
3##
Markus Armbrusterf5cf31c2017-08-24 21:14:08 +02004# = Common data types
Marc-André Lureaud3a48372017-01-13 15:41:23 +01005##
Benoît Canetd34bda72014-06-05 13:45:29 +02006
7##
Marc-André Lureau5072f7b2016-11-17 19:54:55 +04008# @QapiErrorClass:
Benoît Canetd34bda72014-06-05 13:45:29 +02009#
10# QEMU error classes
11#
12# @GenericError: this is used for errors that don't require a specific error
13# class. This should be the default case for most errors
14#
15# @CommandNotFound: the requested command has not been found
16#
Benoît Canetd34bda72014-06-05 13:45:29 +020017# @DeviceNotActive: a device has failed to be become active
18#
19# @DeviceNotFound: the requested device has not been found
20#
21# @KVMMissingCap: the requested operation can't be fulfilled because a
22# required KVM capability is missing
23#
24# Since: 1.2
25##
Eric Blakef22a28b2015-11-18 01:53:00 -070026{ 'enum': 'QapiErrorClass',
27 # Keep this in sync with ErrorClass in error.h
Daniel P. Berrangec01c2142017-06-23 17:24:16 +010028 'data': [ 'GenericError', 'CommandNotFound',
Benoît Canetd34bda72014-06-05 13:45:29 +020029 'DeviceNotActive', 'DeviceNotFound', 'KVMMissingCap' ] }
30
31##
Markus Armbruster2031c132017-08-24 21:14:06 +020032# @IoOperationType:
33#
34# An enumeration of the I/O operation types
35#
36# @read: read operation
37#
38# @write: write operation
39#
40# Since: 2.1
41##
42{ 'enum': 'IoOperationType',
43 'data': [ 'read', 'write' ] }
44
45##
Marc-André Lureau5072f7b2016-11-17 19:54:55 +040046# @OnOffAuto:
Don Slutzd1048be2014-11-21 11:18:52 -050047#
48# An enumeration of three options: on, off, and auto
49#
50# @auto: QEMU selects the value between on and off
51#
52# @on: Enabled
53#
54# @off: Disabled
55#
56# Since: 2.2
57##
58{ 'enum': 'OnOffAuto',
59 'data': [ 'auto', 'on', 'off' ] }
Matt Gingell32c18a22015-11-16 10:03:06 -080060
61##
Marc-André Lureau5072f7b2016-11-17 19:54:55 +040062# @OnOffSplit:
Matt Gingell32c18a22015-11-16 10:03:06 -080063#
64# An enumeration of three values: on, off, and split
65#
66# @on: Enabled
67#
68# @off: Disabled
69#
70# @split: Mixed
71#
72# Since: 2.6
73##
74{ 'enum': 'OnOffSplit',
75 'data': [ 'on', 'off', 'split' ] }
Markus Armbrustera2ff5a42017-08-24 21:13:56 +020076
77##
78# @String:
79#
80# A fat type wrapping 'str', to be embedded in lists.
81#
82# Since: 1.2
83##
84{ 'struct': 'String',
85 'data': {
86 'str': 'str' } }
Markus Armbruster48685a82017-08-24 21:14:01 +020087
88##
89# @StrOrNull:
90#
91# This is a string value or the explicit lack of a string (null
92# pointer in C). Intended for cases when 'optional absent' already
93# has a different meaning.
94#
95# @s: the string value
96# @n: no string value
97#
98# Since: 2.10
99##
100{ 'alternate': 'StrOrNull',
101 'data': { 's': 'str',
102 'n': 'null' } }
Alex Williamsonc3bbbdb2018-02-06 11:08:26 -0700103
104##
105# @OffAutoPCIBAR:
106#
107# An enumeration of options for specifying a PCI BAR
108#
109# @off: The specified feature is disabled
110#
111# @auto: The PCI BAR for the feature is automatically selected
112#
113# @bar0: PCI BAR0 is used for the feature
114#
115# @bar1: PCI BAR1 is used for the feature
116#
117# @bar2: PCI BAR2 is used for the feature
118#
119# @bar3: PCI BAR3 is used for the feature
120#
121# @bar4: PCI BAR4 is used for the feature
122#
123# @bar5: PCI BAR5 is used for the feature
124#
125# Since: 2.12
126##
127{ 'enum': 'OffAutoPCIBAR',
128 'data': [ 'off', 'auto', 'bar0', 'bar1', 'bar2', 'bar3', 'bar4', 'bar5' ] }
Laszlo Ersek9a801c72018-04-27 21:28:49 +0200129
130##
Alex Williamson4695a2c2018-12-12 12:39:08 -0700131# @PCIELinkSpeed:
132#
133# An enumeration of PCIe link speeds in units of GT/s
134#
135# @2_5: 2.5GT/s
136#
137# @5: 5.0GT/s
138#
139# @8: 8.0GT/s
140#
141# @16: 16.0GT/s
142#
143# Since: 4.0
144##
145{ 'enum': 'PCIELinkSpeed',
146 'data': [ '2_5', '5', '8', '16' ] }
147
148##
149# @PCIELinkWidth:
150#
151# An enumeration of PCIe link width
152#
153# @1: x1
154#
155# @2: x2
156#
157# @4: x4
158#
159# @8: x8
160#
161# @12: x12
162#
163# @16: x16
164#
165# @32: x32
166#
167# Since: 4.0
168##
169{ 'enum': 'PCIELinkWidth',
170 'data': [ '1', '2', '4', '8', '12', '16', '32' ] }
171
172##
Laszlo Ersek9a801c72018-04-27 21:28:49 +0200173# @SysEmuTarget:
174#
175# The comprehensive enumeration of QEMU system emulation ("softmmu")
176# targets. Run "./configure --help" in the project root directory, and
177# look for the *-softmmu targets near the "--target-list" option. The
178# individual target constants are not documented here, for the time
179# being.
180#
181# Notes: The resulting QMP strings can be appended to the "qemu-system-"
182# prefix to produce the corresponding QEMU executable name. This
183# is true even for "qemu-system-x86_64".
184#
Thomas Huth416756c2018-08-21 13:27:48 +0200185# ppcemb: dropped in 3.1
186#
Peter Maydell51f63ec2018-05-22 11:39:56 +0100187# Since: 3.0
Laszlo Ersek9a801c72018-04-27 21:28:49 +0200188##
189{ 'enum' : 'SysEmuTarget',
190 'data' : [ 'aarch64', 'alpha', 'arm', 'cris', 'hppa', 'i386', 'lm32',
191 'm68k', 'microblaze', 'microblazeel', 'mips', 'mips64',
192 'mips64el', 'mipsel', 'moxie', 'nios2', 'or1k', 'ppc',
Thomas Hutha69dc532018-08-21 13:27:48 +0200193 'ppc64', 'riscv32', 'riscv64', 's390x', 'sh4',
Laszlo Ersek9a801c72018-04-27 21:28:49 +0200194 'sh4eb', 'sparc', 'sparc64', 'tricore', 'unicore32',
195 'x86_64', 'xtensa', 'xtensaeb' ] }