]> git.proxmox.com Git - mirror_qemu.git/blob - qapi/common.json
qapi/qom: Add ObjectOptions for memory-backend-*
[mirror_qemu.git] / qapi / common.json
1 # -*- Mode: Python -*-
2 # vim: filetype=python
3
4 ##
5 # = Common data types
6 ##
7
8 ##
9 # @IoOperationType:
10 #
11 # An enumeration of the I/O operation types
12 #
13 # @read: read operation
14 #
15 # @write: write operation
16 #
17 # Since: 2.1
18 ##
19 { 'enum': 'IoOperationType',
20 'data': [ 'read', 'write' ] }
21
22 ##
23 # @OnOffAuto:
24 #
25 # An enumeration of three options: on, off, and auto
26 #
27 # @auto: QEMU selects the value between on and off
28 #
29 # @on: Enabled
30 #
31 # @off: Disabled
32 #
33 # Since: 2.2
34 ##
35 { 'enum': 'OnOffAuto',
36 'data': [ 'auto', 'on', 'off' ] }
37
38 ##
39 # @OnOffSplit:
40 #
41 # An enumeration of three values: on, off, and split
42 #
43 # @on: Enabled
44 #
45 # @off: Disabled
46 #
47 # @split: Mixed
48 #
49 # Since: 2.6
50 ##
51 { 'enum': 'OnOffSplit',
52 'data': [ 'on', 'off', 'split' ] }
53
54 ##
55 # @String:
56 #
57 # A fat type wrapping 'str', to be embedded in lists.
58 #
59 # Since: 1.2
60 ##
61 { 'struct': 'String',
62 'data': {
63 'str': 'str' } }
64
65 ##
66 # @StrOrNull:
67 #
68 # This is a string value or the explicit lack of a string (null
69 # pointer in C). Intended for cases when 'optional absent' already
70 # has a different meaning.
71 #
72 # @s: the string value
73 # @n: no string value
74 #
75 # Since: 2.10
76 ##
77 { 'alternate': 'StrOrNull',
78 'data': { 's': 'str',
79 'n': 'null' } }
80
81 ##
82 # @OffAutoPCIBAR:
83 #
84 # An enumeration of options for specifying a PCI BAR
85 #
86 # @off: The specified feature is disabled
87 #
88 # @auto: The PCI BAR for the feature is automatically selected
89 #
90 # @bar0: PCI BAR0 is used for the feature
91 #
92 # @bar1: PCI BAR1 is used for the feature
93 #
94 # @bar2: PCI BAR2 is used for the feature
95 #
96 # @bar3: PCI BAR3 is used for the feature
97 #
98 # @bar4: PCI BAR4 is used for the feature
99 #
100 # @bar5: PCI BAR5 is used for the feature
101 #
102 # Since: 2.12
103 ##
104 { 'enum': 'OffAutoPCIBAR',
105 'data': [ 'off', 'auto', 'bar0', 'bar1', 'bar2', 'bar3', 'bar4', 'bar5' ] }
106
107 ##
108 # @PCIELinkSpeed:
109 #
110 # An enumeration of PCIe link speeds in units of GT/s
111 #
112 # @2_5: 2.5GT/s
113 #
114 # @5: 5.0GT/s
115 #
116 # @8: 8.0GT/s
117 #
118 # @16: 16.0GT/s
119 #
120 # Since: 4.0
121 ##
122 { 'enum': 'PCIELinkSpeed',
123 'data': [ '2_5', '5', '8', '16' ] }
124
125 ##
126 # @PCIELinkWidth:
127 #
128 # An enumeration of PCIe link width
129 #
130 # @1: x1
131 #
132 # @2: x2
133 #
134 # @4: x4
135 #
136 # @8: x8
137 #
138 # @12: x12
139 #
140 # @16: x16
141 #
142 # @32: x32
143 #
144 # Since: 4.0
145 ##
146 { 'enum': 'PCIELinkWidth',
147 'data': [ '1', '2', '4', '8', '12', '16', '32' ] }
148
149 ##
150 # @HostMemPolicy:
151 #
152 # Host memory policy types
153 #
154 # @default: restore default policy, remove any nondefault policy
155 #
156 # @preferred: set the preferred host nodes for allocation
157 #
158 # @bind: a strict policy that restricts memory allocation to the
159 # host nodes specified
160 #
161 # @interleave: memory allocations are interleaved across the set
162 # of host nodes specified
163 #
164 # Since: 2.1
165 ##
166 { 'enum': 'HostMemPolicy',
167 'data': [ 'default', 'preferred', 'bind', 'interleave' ] }