hw/arm/virt: use VirtMachineState.gic_version
[qemu.git] / qapi / event.json
1 ##
2 # @SHUTDOWN:
3 #
4 # Emitted when the virtual machine has shut down, indicating that qemu is
5 # about to exit.
6 #
7 # Note: If the command-line option "-no-shutdown" has been specified, qemu will
8 # not exit, and a STOP event will eventually follow the SHUTDOWN event
9 #
10 # Since: 0.12.0
11 ##
12 { 'event': 'SHUTDOWN' }
13
14 ##
15 # @POWERDOWN:
16 #
17 # Emitted when the virtual machine is powered down through the power control
18 # system, such as via ACPI.
19 #
20 # Since: 0.12.0
21 ##
22 { 'event': 'POWERDOWN' }
23
24 ##
25 # @RESET:
26 #
27 # Emitted when the virtual machine is reset
28 #
29 # Since: 0.12.0
30 ##
31 { 'event': 'RESET' }
32
33 ##
34 # @STOP:
35 #
36 # Emitted when the virtual machine is stopped
37 #
38 # Since: 0.12.0
39 ##
40 { 'event': 'STOP' }
41
42 ##
43 # @RESUME:
44 #
45 # Emitted when the virtual machine resumes execution
46 #
47 # Since: 0.12.0
48 ##
49 { 'event': 'RESUME' }
50
51 ##
52 # @SUSPEND:
53 #
54 # Emitted when guest enters a hardware suspension state, for example, S3 state,
55 # which is sometimes called standby state
56 #
57 # Since: 1.1
58 ##
59 { 'event': 'SUSPEND' }
60
61 ##
62 # @SUSPEND_DISK:
63 #
64 # Emitted when guest enters a hardware suspension state with data saved on
65 # disk, for example, S4 state, which is sometimes called hibernate state
66 #
67 # Note: QEMU shuts down (similar to event @SHUTDOWN) when entering this state
68 #
69 # Since: 1.2
70 ##
71 { 'event': 'SUSPEND_DISK' }
72
73 ##
74 # @WAKEUP:
75 #
76 # Emitted when the guest has woken up from suspend state and is running
77 #
78 # Since: 1.1
79 ##
80 { 'event': 'WAKEUP' }
81
82 ##
83 # @RTC_CHANGE:
84 #
85 # Emitted when the guest changes the RTC time.
86 #
87 # @offset: offset between base RTC clock (as specified by -rtc base), and
88 #          new RTC clock value
89 #
90 # Since: 0.13.0
91 ##
92 { 'event': 'RTC_CHANGE',
93   'data': { 'offset': 'int' } }
94
95 ##
96 # @WATCHDOG:
97 #
98 # Emitted when the watchdog device's timer is expired
99 #
100 # @action: action that has been taken
101 #
102 # Note: If action is "reset", "shutdown", or "pause" the WATCHDOG event is
103 # followed respectively by the RESET, SHUTDOWN, or STOP events
104 #
105 # Since: 0.13.0
106 ##
107 { 'event': 'WATCHDOG',
108   'data': { 'action': 'WatchdogExpirationAction' } }
109
110 ##
111 # @DEVICE_DELETED:
112 #
113 # Emitted whenever the device removal completion is acknowledged by the guest.
114 # At this point, it's safe to reuse the specified device ID. Device removal can
115 # be initiated by the guest or by HMP/QMP commands.
116 #
117 # @device: #optional, device name
118 #
119 # @path: device path
120 #
121 # Since: 1.5
122 ##
123 { 'event': 'DEVICE_DELETED',
124   'data': { '*device': 'str', 'path': 'str' } }
125
126 ##
127 # @NIC_RX_FILTER_CHANGED:
128 #
129 # Emitted once until the 'query-rx-filter' command is executed, the first event
130 # will always be emitted
131 #
132 # @name: #optional, net client name
133 #
134 # @path: device path
135 #
136 # Since: 1.6
137 ##
138 { 'event': 'NIC_RX_FILTER_CHANGED',
139   'data': { '*name': 'str', 'path': 'str' } }
140
141 ##
142 # @VNC_CONNECTED:
143 #
144 # Emitted when a VNC client establishes a connection
145 #
146 # @server: server information
147 #
148 # @client: client information
149 #
150 # Note: This event is emitted before any authentication takes place, thus
151 # the authentication ID is not provided
152 #
153 # Since: 0.13.0
154 ##
155 { 'event': 'VNC_CONNECTED',
156   'data': { 'server': 'VncServerInfo',
157             'client': 'VncBasicInfo' } }
158
159 ##
160 # @VNC_INITIALIZED:
161 #
162 # Emitted after authentication takes place (if any) and the VNC session is
163 # made active
164 #
165 # @server: server information
166 #
167 # @client: client information
168 #
169 # Since: 0.13.0
170 ##
171 { 'event': 'VNC_INITIALIZED',
172   'data': { 'server': 'VncServerInfo',
173             'client': 'VncClientInfo' } }
174
175 ##
176 # @VNC_DISCONNECTED:
177 #
178 # Emitted when the connection is closed
179 #
180 # @server: server information
181 #
182 # @client: client information
183 #
184 # Since: 0.13.0
185 ##
186 { 'event': 'VNC_DISCONNECTED',
187   'data': { 'server': 'VncServerInfo',
188             'client': 'VncClientInfo' } }
189
190 ##
191 # @SPICE_CONNECTED:
192 #
193 # Emitted when a SPICE client establishes a connection
194 #
195 # @server: server information
196 #
197 # @client: client information
198 #
199 # Since: 0.14.0
200 ##
201 { 'event': 'SPICE_CONNECTED',
202   'data': { 'server': 'SpiceBasicInfo',
203             'client': 'SpiceBasicInfo' } }
204
205 ##
206 # @SPICE_INITIALIZED:
207 #
208 # Emitted after initial handshake and authentication takes place (if any)
209 # and the SPICE channel is up and running
210 #
211 # @server: server information
212 #
213 # @client: client information
214 #
215 # Since: 0.14.0
216 ##
217 { 'event': 'SPICE_INITIALIZED',
218   'data': { 'server': 'SpiceServerInfo',
219             'client': 'SpiceChannel' } }
220
221 ##
222 # @SPICE_DISCONNECTED:
223 #
224 # Emitted when the SPICE connection is closed
225 #
226 # @server: server information
227 #
228 # @client: client information
229 #
230 # Since: 0.14.0
231 ##
232 { 'event': 'SPICE_DISCONNECTED',
233   'data': { 'server': 'SpiceBasicInfo',
234             'client': 'SpiceBasicInfo' } }
235
236 ##
237 # @SPICE_MIGRATE_COMPLETED:
238 #
239 # Emitted when SPICE migration has completed
240 #
241 # Since: 1.3
242 ##
243 { 'event': 'SPICE_MIGRATE_COMPLETED' }
244
245 ##
246 # @MIGRATION:
247 #
248 # Emitted when a migration event happens
249 #
250 # @status: @MigrationStatus describing the current migration status.
251 #
252 # Since: 2.4
253 ##
254 { 'event': 'MIGRATION',
255   'data': {'status': 'MigrationStatus'}}
256
257 ##
258 # @MIGRATION_PASS:
259 #
260 # Emitted from the source side of a migration at the start of each pass
261 # (when it syncs the dirty bitmap)
262 #
263 # @pass: An incrementing count (starting at 1 on the first pass)
264 #
265 # Since: 2.6
266 ##
267 { 'event': 'MIGRATION_PASS',
268   'data': { 'pass': 'int' } }
269
270 ##
271 # @ACPI_DEVICE_OST:
272 #
273 # Emitted when guest executes ACPI _OST method.
274 #
275 # Since: 2.1
276 #
277 # @info: ACPIOSTInfo type as described in qapi-schema.json
278 ##
279 { 'event': 'ACPI_DEVICE_OST',
280      'data': { 'info': 'ACPIOSTInfo' } }
281
282 ##
283 # @BALLOON_CHANGE:
284 #
285 # Emitted when the guest changes the actual BALLOON level. This value is
286 # equivalent to the @actual field return by the 'query-balloon' command
287 #
288 # @actual: actual level of the guest memory balloon in bytes
289 #
290 # Since: 1.2
291 ##
292 { 'event': 'BALLOON_CHANGE',
293   'data': { 'actual': 'int' } }
294
295 ##
296 # @GUEST_PANICKED:
297 #
298 # Emitted when guest OS panic is detected
299 #
300 # @action: action that has been taken, currently always "pause"
301 #
302 # Since: 1.5
303 ##
304 { 'event': 'GUEST_PANICKED',
305   'data': { 'action': 'GuestPanicAction' } }
306
307 ##
308 # @QUORUM_FAILURE:
309 #
310 # Emitted by the Quorum block driver if it fails to establish a quorum
311 #
312 # @reference: device name if defined else node name
313 #
314 # @sector-num: number of the first sector of the failed read operation
315 #
316 # @sectors-count: failed read operation sector count
317 #
318 # Since: 2.0
319 ##
320 { 'event': 'QUORUM_FAILURE',
321   'data': { 'reference': 'str', 'sector-num': 'int', 'sectors-count': 'int' } }
322
323 ##
324 # @QUORUM_REPORT_BAD:
325 #
326 # Emitted to report a corruption of a Quorum file
327 #
328 # @type: quorum operation type (Since 2.6)
329 #
330 # @error: #optional, error message. Only present on failure. This field
331 #         contains a human-readable error message. There are no semantics other
332 #         than that the block layer reported an error and clients should not
333 #         try to interpret the error string.
334 #
335 # @node-name: the graph node name of the block driver state
336 #
337 # @sector-num: number of the first sector of the failed read operation
338 #
339 # @sectors-count: failed read operation sector count
340 #
341 # Since: 2.0
342 ##
343 { 'event': 'QUORUM_REPORT_BAD',
344   'data': { 'type': 'QuorumOpType', '*error': 'str', 'node-name': 'str',
345             'sector-num': 'int', 'sectors-count': 'int' } }
346
347 ##
348 # @VSERPORT_CHANGE:
349 #
350 # Emitted when the guest opens or closes a virtio-serial port.
351 #
352 # @id: device identifier of the virtio-serial port
353 #
354 # @open: true if the guest has opened the virtio-serial port
355 #
356 # Since: 2.1
357 ##
358 { 'event': 'VSERPORT_CHANGE',
359   'data': { 'id': 'str', 'open': 'bool' } }
360
361 ##
362 # @MEM_UNPLUG_ERROR:
363 #
364 # Emitted when memory hot unplug error occurs.
365 #
366 # @device: device name
367 #
368 # @msg: Informative message
369 #
370 # Since: 2.4
371 ##
372 { 'event': 'MEM_UNPLUG_ERROR',
373   'data': { 'device': 'str', 'msg': 'str' } }
374
375 ##
376 # @DUMP_COMPLETED:
377 #
378 # Emitted when background dump has completed
379 #
380 # @result: DumpQueryResult type described in qapi-schema.json.
381 #
382 # @error: #optional human-readable error string that provides
383 #         hint on why dump failed. Only presents on failure. The
384 #         user should not try to interpret the error string.
385 #
386 # Since: 2.6
387 ##
388 { 'event': 'DUMP_COMPLETED' ,
389   'data': { 'result': 'DumpQueryResult', '*error': 'str' } }