xref: /openbmc/qemu/qapi/common.json (revision a937b6aa)
1d34bda71SBenoît Canet# -*- Mode: Python -*-
2f7160f32SAndrea Bolognani# vim: filetype=python
3d3a48372SMarc-André Lureau
4d3a48372SMarc-André Lureau##
5f5cf31c5SMarkus Armbruster# = Common data types
6d3a48372SMarc-André Lureau##
7d34bda71SBenoît Canet
8d34bda71SBenoît Canet##
92031c133SMarkus Armbruster# @IoOperationType:
102031c133SMarkus Armbruster#
112031c133SMarkus Armbruster# An enumeration of the I/O operation types
122031c133SMarkus Armbruster#
132031c133SMarkus Armbruster# @read: read operation
142031c133SMarkus Armbruster#
152031c133SMarkus Armbruster# @write: write operation
162031c133SMarkus Armbruster#
172031c133SMarkus Armbruster# Since: 2.1
182031c133SMarkus Armbruster##
192031c133SMarkus Armbruster{ 'enum': 'IoOperationType',
202031c133SMarkus Armbruster  'data': [ 'read', 'write' ] }
212031c133SMarkus Armbruster
222031c133SMarkus Armbruster##
235072f7b3SMarc-André Lureau# @OnOffAuto:
24d1048befSDon Slutz#
25d1048befSDon Slutz# An enumeration of three options: on, off, and auto
26d1048befSDon Slutz#
27d1048befSDon Slutz# @auto: QEMU selects the value between on and off
28d1048befSDon Slutz#
29d1048befSDon Slutz# @on: Enabled
30d1048befSDon Slutz#
31d1048befSDon Slutz# @off: Disabled
32d1048befSDon Slutz#
33d1048befSDon Slutz# Since: 2.2
34d1048befSDon Slutz##
35d1048befSDon Slutz{ 'enum': 'OnOffAuto',
36d1048befSDon Slutz  'data': [ 'auto', 'on', 'off' ] }
3732c18a2dSMatt Gingell
3832c18a2dSMatt Gingell##
395072f7b3SMarc-André Lureau# @OnOffSplit:
4032c18a2dSMatt Gingell#
4132c18a2dSMatt Gingell# An enumeration of three values: on, off, and split
4232c18a2dSMatt Gingell#
4332c18a2dSMatt Gingell# @on: Enabled
4432c18a2dSMatt Gingell#
4532c18a2dSMatt Gingell# @off: Disabled
4632c18a2dSMatt Gingell#
4732c18a2dSMatt Gingell# @split: Mixed
4832c18a2dSMatt Gingell#
4932c18a2dSMatt Gingell# Since: 2.6
5032c18a2dSMatt Gingell##
5132c18a2dSMatt Gingell{ 'enum': 'OnOffSplit',
5232c18a2dSMatt Gingell  'data': [ 'on', 'off', 'split' ] }
53a2ff5a48SMarkus Armbruster
54a2ff5a48SMarkus Armbruster##
55a2ff5a48SMarkus Armbruster# @String:
56a2ff5a48SMarkus Armbruster#
57a2ff5a48SMarkus Armbruster# A fat type wrapping 'str', to be embedded in lists.
58a2ff5a48SMarkus Armbruster#
59a2ff5a48SMarkus Armbruster# Since: 1.2
60a2ff5a48SMarkus Armbruster##
61a2ff5a48SMarkus Armbruster{ 'struct': 'String',
62a2ff5a48SMarkus Armbruster  'data': {
63a2ff5a48SMarkus Armbruster    'str': 'str' } }
6448685a8eSMarkus Armbruster
6548685a8eSMarkus Armbruster##
6648685a8eSMarkus Armbruster# @StrOrNull:
6748685a8eSMarkus Armbruster#
6848685a8eSMarkus Armbruster# This is a string value or the explicit lack of a string (null
6948685a8eSMarkus Armbruster# pointer in C).  Intended for cases when 'optional absent' already
7048685a8eSMarkus Armbruster# has a different meaning.
7148685a8eSMarkus Armbruster#
7248685a8eSMarkus Armbruster# @s: the string value
73*a937b6aaSMarkus Armbruster#
7448685a8eSMarkus Armbruster# @n: no string value
7548685a8eSMarkus Armbruster#
7648685a8eSMarkus Armbruster# Since: 2.10
7748685a8eSMarkus Armbruster##
7848685a8eSMarkus Armbruster{ 'alternate': 'StrOrNull',
7948685a8eSMarkus Armbruster  'data': { 's': 'str',
8048685a8eSMarkus Armbruster            'n': 'null' } }
81c3bbbdbfSAlex Williamson
82c3bbbdbfSAlex Williamson##
83c3bbbdbfSAlex Williamson# @OffAutoPCIBAR:
84c3bbbdbfSAlex Williamson#
85c3bbbdbfSAlex Williamson# An enumeration of options for specifying a PCI BAR
86c3bbbdbfSAlex Williamson#
87c3bbbdbfSAlex Williamson# @off: The specified feature is disabled
88c3bbbdbfSAlex Williamson#
89c3bbbdbfSAlex Williamson# @auto: The PCI BAR for the feature is automatically selected
90c3bbbdbfSAlex Williamson#
91c3bbbdbfSAlex Williamson# @bar0: PCI BAR0 is used for the feature
92c3bbbdbfSAlex Williamson#
93c3bbbdbfSAlex Williamson# @bar1: PCI BAR1 is used for the feature
94c3bbbdbfSAlex Williamson#
95c3bbbdbfSAlex Williamson# @bar2: PCI BAR2 is used for the feature
96c3bbbdbfSAlex Williamson#
97c3bbbdbfSAlex Williamson# @bar3: PCI BAR3 is used for the feature
98c3bbbdbfSAlex Williamson#
99c3bbbdbfSAlex Williamson# @bar4: PCI BAR4 is used for the feature
100c3bbbdbfSAlex Williamson#
101c3bbbdbfSAlex Williamson# @bar5: PCI BAR5 is used for the feature
102c3bbbdbfSAlex Williamson#
103c3bbbdbfSAlex Williamson# Since: 2.12
104c3bbbdbfSAlex Williamson##
105c3bbbdbfSAlex Williamson{ 'enum': 'OffAutoPCIBAR',
106c3bbbdbfSAlex Williamson  'data': [ 'off', 'auto', 'bar0', 'bar1', 'bar2', 'bar3', 'bar4', 'bar5' ] }
1079a801c7dSLaszlo Ersek
1089a801c7dSLaszlo Ersek##
1094695a2c5SAlex Williamson# @PCIELinkSpeed:
1104695a2c5SAlex Williamson#
1114695a2c5SAlex Williamson# An enumeration of PCIe link speeds in units of GT/s
1124695a2c5SAlex Williamson#
1134695a2c5SAlex Williamson# @2_5: 2.5GT/s
1144695a2c5SAlex Williamson#
1154695a2c5SAlex Williamson# @5: 5.0GT/s
1164695a2c5SAlex Williamson#
1174695a2c5SAlex Williamson# @8: 8.0GT/s
1184695a2c5SAlex Williamson#
1194695a2c5SAlex Williamson# @16: 16.0GT/s
1204695a2c5SAlex Williamson#
1214695a2c5SAlex Williamson# Since: 4.0
1224695a2c5SAlex Williamson##
1234695a2c5SAlex Williamson{ 'enum': 'PCIELinkSpeed',
1244695a2c5SAlex Williamson  'data': [ '2_5', '5', '8', '16' ] }
1254695a2c5SAlex Williamson
1264695a2c5SAlex Williamson##
1274695a2c5SAlex Williamson# @PCIELinkWidth:
1284695a2c5SAlex Williamson#
1294695a2c5SAlex Williamson# An enumeration of PCIe link width
1304695a2c5SAlex Williamson#
1314695a2c5SAlex Williamson# @1: x1
1324695a2c5SAlex Williamson#
1334695a2c5SAlex Williamson# @2: x2
1344695a2c5SAlex Williamson#
1354695a2c5SAlex Williamson# @4: x4
1364695a2c5SAlex Williamson#
1374695a2c5SAlex Williamson# @8: x8
1384695a2c5SAlex Williamson#
1394695a2c5SAlex Williamson# @12: x12
1404695a2c5SAlex Williamson#
1414695a2c5SAlex Williamson# @16: x16
1424695a2c5SAlex Williamson#
1434695a2c5SAlex Williamson# @32: x32
1444695a2c5SAlex Williamson#
1454695a2c5SAlex Williamson# Since: 4.0
1464695a2c5SAlex Williamson##
1474695a2c5SAlex Williamson{ 'enum': 'PCIELinkWidth',
1484695a2c5SAlex Williamson  'data': [ '1', '2', '4', '8', '12', '16', '32' ] }
149913d9063SKevin Wolf
150913d9063SKevin Wolf##
151913d9063SKevin Wolf# @HostMemPolicy:
152913d9063SKevin Wolf#
153913d9063SKevin Wolf# Host memory policy types
154913d9063SKevin Wolf#
155913d9063SKevin Wolf# @default: restore default policy, remove any nondefault policy
156913d9063SKevin Wolf#
157913d9063SKevin Wolf# @preferred: set the preferred host nodes for allocation
158913d9063SKevin Wolf#
159*a937b6aaSMarkus Armbruster# @bind: a strict policy that restricts memory allocation to the host
160*a937b6aaSMarkus Armbruster#     nodes specified
161913d9063SKevin Wolf#
162*a937b6aaSMarkus Armbruster# @interleave: memory allocations are interleaved across the set of
163*a937b6aaSMarkus Armbruster#     host nodes specified
164913d9063SKevin Wolf#
165913d9063SKevin Wolf# Since: 2.1
166913d9063SKevin Wolf##
167913d9063SKevin Wolf{ 'enum': 'HostMemPolicy',
168913d9063SKevin Wolf  'data': [ 'default', 'preferred', 'bind', 'interleave' ] }
1691156a675SKevin Wolf
1701156a675SKevin Wolf##
1711156a675SKevin Wolf# @NetFilterDirection:
1721156a675SKevin Wolf#
173*a937b6aaSMarkus Armbruster# Indicates whether a netfilter is attached to a netdev's transmit
174*a937b6aaSMarkus Armbruster# queue or receive queue or both.
1751156a675SKevin Wolf#
1761156a675SKevin Wolf# @all: the filter is attached both to the receive and the transmit
1771156a675SKevin Wolf#     queue of the netdev (default).
1781156a675SKevin Wolf#
1791156a675SKevin Wolf# @rx: the filter is attached to the receive queue of the netdev,
1801156a675SKevin Wolf#     where it will receive packets sent to the netdev.
1811156a675SKevin Wolf#
1821156a675SKevin Wolf# @tx: the filter is attached to the transmit queue of the netdev,
1831156a675SKevin Wolf#     where it will receive packets sent by the netdev.
1841156a675SKevin Wolf#
1851156a675SKevin Wolf# Since: 2.5
1861156a675SKevin Wolf##
1871156a675SKevin Wolf{ 'enum': 'NetFilterDirection',
1881156a675SKevin Wolf  'data': [ 'all', 'rx', 'tx' ] }
18930e863e5SKevin Wolf
19030e863e5SKevin Wolf##
19130e863e5SKevin Wolf# @GrabToggleKeys:
19230e863e5SKevin Wolf#
19330e863e5SKevin Wolf# Keys to toggle input-linux between host and guest.
19430e863e5SKevin Wolf#
19530e863e5SKevin Wolf# Since: 4.0
19630e863e5SKevin Wolf##
19730e863e5SKevin Wolf{ 'enum': 'GrabToggleKeys',
19830e863e5SKevin Wolf  'data': [ 'ctrl-ctrl', 'alt-alt', 'shift-shift','meta-meta', 'scrolllock',
19930e863e5SKevin Wolf            'ctrl-scrolllock' ] }
200f9429c67SDaniel P. Berrangé
201f9429c67SDaniel P. Berrangé##
202f9429c67SDaniel P. Berrangé# @HumanReadableText:
203f9429c67SDaniel P. Berrangé#
204f9429c67SDaniel P. Berrangé# @human-readable-text: Formatted output intended for humans.
205f9429c67SDaniel P. Berrangé#
206f9429c67SDaniel P. Berrangé# Since: 6.2
207f9429c67SDaniel P. Berrangé##
208f9429c67SDaniel P. Berrangé{ 'struct': 'HumanReadableText',
209f9429c67SDaniel P. Berrangé  'data': { 'human-readable-text': 'str' } }
210