10 # Emitted when the virtual machine has shut down, indicating that qemu is
13 # Note: If the command-line option "-no-shutdown" has been specified, qemu will
14 # not exit, and a STOP event will eventually follow the SHUTDOWN event
20 # <- { "event": "SHUTDOWN",
21 # "timestamp": { "seconds": 1267040730, "microseconds": 682951 } }
24 { 'event': 'SHUTDOWN' }
29 # Emitted when the virtual machine is powered down through the power control
30 # system, such as via ACPI.
36 # <- { "event": "POWERDOWN",
37 # "timestamp": { "seconds": 1267040730, "microseconds": 682951 } }
40 { 'event': 'POWERDOWN' }
45 # Emitted when the virtual machine is reset
51 # <- { "event": "RESET",
52 # "timestamp": { "seconds": 1267041653, "microseconds": 9518 } }
60 # Emitted when the virtual machine is stopped
66 # <- { "event": "STOP",
67 # "timestamp": { "seconds": 1267041730, "microseconds": 281295 } }
75 # Emitted when the virtual machine resumes execution
81 # <- { "event": "RESUME",
82 # "timestamp": { "seconds": 1271770767, "microseconds": 582542 } }
90 # Emitted when guest enters a hardware suspension state, for example, S3 state,
91 # which is sometimes called standby state
97 # <- { "event": "SUSPEND",
98 # "timestamp": { "seconds": 1344456160, "microseconds": 309119 } }
101 { 'event': 'SUSPEND' }
106 # Emitted when guest enters a hardware suspension state with data saved on
107 # disk, for example, S4 state, which is sometimes called hibernate state
109 # Note: QEMU shuts down (similar to event @SHUTDOWN) when entering this state
115 # <- { "event": "SUSPEND_DISK",
116 # "timestamp": { "seconds": 1344456160, "microseconds": 309119 } }
119 { 'event': 'SUSPEND_DISK' }
124 # Emitted when the guest has woken up from suspend state and is running
130 # <- { "event": "WAKEUP",
131 # "timestamp": { "seconds": 1344522075, "microseconds": 745528 } }
134 { 'event': 'WAKEUP' }
139 # Emitted when the guest changes the RTC time.
141 # @offset: offset between base RTC clock (as specified by -rtc base), and
142 # new RTC clock value
144 # Note: This event is rate-limited.
150 # <- { "event": "RTC_CHANGE",
151 # "data": { "offset": 78 },
152 # "timestamp": { "seconds": 1267020223, "microseconds": 435656 } }
155 { 'event': 'RTC_CHANGE',
156 'data': { 'offset': 'int' } }
161 # Emitted when the watchdog device's timer is expired
163 # @action: action that has been taken
165 # Note: If action is "reset", "shutdown", or "pause" the WATCHDOG event is
166 # followed respectively by the RESET, SHUTDOWN, or STOP events
170 { 'event': 'WATCHDOG',
171 'data': { 'action': 'WatchdogExpirationAction' } }
176 # Emitted whenever the device removal completion is acknowledged by the guest.
177 # At this point, it's safe to reuse the specified device ID. Device removal can
178 # be initiated by the guest or by HMP/QMP commands.
180 # @device: #optional, device name
186 { 'event': 'DEVICE_DELETED',
187 'data': { '*device': 'str', 'path': 'str' } }
190 # @NIC_RX_FILTER_CHANGED:
192 # Emitted once until the 'query-rx-filter' command is executed, the first event
193 # will always be emitted
195 # @name: #optional, net client name
201 { 'event': 'NIC_RX_FILTER_CHANGED',
202 'data': { '*name': 'str', 'path': 'str' } }
207 # Emitted when a VNC client establishes a connection
209 # @server: server information
211 # @client: client information
213 # Note: This event is emitted before any authentication takes place, thus
214 # the authentication ID is not provided
218 { 'event': 'VNC_CONNECTED',
219 'data': { 'server': 'VncServerInfo',
220 'client': 'VncBasicInfo' } }
225 # Emitted after authentication takes place (if any) and the VNC session is
228 # @server: server information
230 # @client: client information
234 { 'event': 'VNC_INITIALIZED',
235 'data': { 'server': 'VncServerInfo',
236 'client': 'VncClientInfo' } }
241 # Emitted when the connection is closed
243 # @server: server information
245 # @client: client information
249 { 'event': 'VNC_DISCONNECTED',
250 'data': { 'server': 'VncServerInfo',
251 'client': 'VncClientInfo' } }
256 # Emitted when a SPICE client establishes a connection
258 # @server: server information
260 # @client: client information
264 { 'event': 'SPICE_CONNECTED',
265 'data': { 'server': 'SpiceBasicInfo',
266 'client': 'SpiceBasicInfo' } }
269 # @SPICE_INITIALIZED:
271 # Emitted after initial handshake and authentication takes place (if any)
272 # and the SPICE channel is up and running
274 # @server: server information
276 # @client: client information
280 { 'event': 'SPICE_INITIALIZED',
281 'data': { 'server': 'SpiceServerInfo',
282 'client': 'SpiceChannel' } }
285 # @SPICE_DISCONNECTED:
287 # Emitted when the SPICE connection is closed
289 # @server: server information
291 # @client: client information
295 { 'event': 'SPICE_DISCONNECTED',
296 'data': { 'server': 'SpiceBasicInfo',
297 'client': 'SpiceBasicInfo' } }
300 # @SPICE_MIGRATE_COMPLETED:
302 # Emitted when SPICE migration has completed
306 { 'event': 'SPICE_MIGRATE_COMPLETED' }
311 # Emitted when a migration event happens
313 # @status: @MigrationStatus describing the current migration status.
317 { 'event': 'MIGRATION',
318 'data': {'status': 'MigrationStatus'}}
323 # Emitted from the source side of a migration at the start of each pass
324 # (when it syncs the dirty bitmap)
326 # @pass: An incrementing count (starting at 1 on the first pass)
330 { 'event': 'MIGRATION_PASS',
331 'data': { 'pass': 'int' } }
336 # Emitted when guest executes ACPI _OST method.
338 # @info: ACPIOSTInfo type as described in qapi-schema.json
342 { 'event': 'ACPI_DEVICE_OST',
343 'data': { 'info': 'ACPIOSTInfo' } }
348 # Emitted when the guest changes the actual BALLOON level. This value is
349 # equivalent to the @actual field return by the 'query-balloon' command
351 # @actual: actual level of the guest memory balloon in bytes
355 { 'event': 'BALLOON_CHANGE',
356 'data': { 'actual': 'int' } }
361 # Emitted when guest OS panic is detected
363 # @action: action that has been taken, currently always "pause"
367 { 'event': 'GUEST_PANICKED',
368 'data': { 'action': 'GuestPanicAction' } }
373 # Emitted by the Quorum block driver if it fails to establish a quorum
375 # @reference: device name if defined else node name
377 # @sector-num: number of the first sector of the failed read operation
379 # @sectors-count: failed read operation sector count
383 { 'event': 'QUORUM_FAILURE',
384 'data': { 'reference': 'str', 'sector-num': 'int', 'sectors-count': 'int' } }
387 # @QUORUM_REPORT_BAD:
389 # Emitted to report a corruption of a Quorum file
391 # @type: quorum operation type (Since 2.6)
393 # @error: #optional, error message. Only present on failure. This field
394 # contains a human-readable error message. There are no semantics other
395 # than that the block layer reported an error and clients should not
396 # try to interpret the error string.
398 # @node-name: the graph node name of the block driver state
400 # @sector-num: number of the first sector of the failed read operation
402 # @sectors-count: failed read operation sector count
406 { 'event': 'QUORUM_REPORT_BAD',
407 'data': { 'type': 'QuorumOpType', '*error': 'str', 'node-name': 'str',
408 'sector-num': 'int', 'sectors-count': 'int' } }
413 # Emitted when the guest opens or closes a virtio-serial port.
415 # @id: device identifier of the virtio-serial port
417 # @open: true if the guest has opened the virtio-serial port
421 { 'event': 'VSERPORT_CHANGE',
422 'data': { 'id': 'str', 'open': 'bool' } }
427 # Emitted when memory hot unplug error occurs.
429 # @device: device name
431 # @msg: Informative message
435 { 'event': 'MEM_UNPLUG_ERROR',
436 'data': { 'device': 'str', 'msg': 'str' } }
441 # Emitted when background dump has completed
443 # @result: DumpQueryResult type described in qapi-schema.json.
445 # @error: #optional human-readable error string that provides
446 # hint on why dump failed. Only presents on failure. The
447 # user should not try to interpret the error string.
451 { 'event': 'DUMP_COMPLETED' ,
452 'data': { 'result': 'DumpQueryResult', '*error': 'str' } }