]> Git Repo - qemu.git/blame - qapi/event.json
Merge remote-tracking branch 'remotes/mjt/tags/trivial-patches-fetch' into staging
[qemu.git] / qapi / event.json
CommitLineData
d3a48372
MAL
1# -*- Mode: Python -*-
2
3##
4# = Other events
5##
6
84321831 7##
5072f7b3 8# @SHUTDOWN:
84321831 9#
2f44a08b
WX
10# Emitted when the virtual machine has shut down, indicating that qemu is
11# about to exit.
84321831 12#
08fba7ac
EB
13# @guest: If true, the shutdown was triggered by a guest request (such as
14# a guest-initiated ACPI shutdown request or other hardware-specific action)
15# rather than a host request (such as sending qemu a SIGINT). (since 2.10)
16#
84321831
WX
17# Note: If the command-line option "-no-shutdown" has been specified, qemu will
18# not exit, and a STOP event will eventually follow the SHUTDOWN event
19#
20# Since: 0.12.0
12defe50
MAL
21#
22# Example:
23#
08fba7ac 24# <- { "event": "SHUTDOWN", "data": { "guest": true },
12defe50
MAL
25# "timestamp": { "seconds": 1267040730, "microseconds": 682951 } }
26#
84321831 27##
08fba7ac 28{ 'event': 'SHUTDOWN', 'data': { 'guest': 'bool' } }
0aab9ec3
WX
29
30##
5072f7b3 31# @POWERDOWN:
0aab9ec3
WX
32#
33# Emitted when the virtual machine is powered down through the power control
34# system, such as via ACPI.
35#
36# Since: 0.12.0
189d43be
MAL
37#
38# Example:
39#
40# <- { "event": "POWERDOWN",
41# "timestamp": { "seconds": 1267040730, "microseconds": 682951 } }
42#
0aab9ec3
WX
43##
44{ 'event': 'POWERDOWN' }
a6330785
WX
45
46##
5072f7b3 47# @RESET:
a6330785
WX
48#
49# Emitted when the virtual machine is reset
50#
08fba7ac
EB
51# @guest: If true, the reset was triggered by a guest request (such as
52# a guest-initiated ACPI reboot request or other hardware-specific action)
53# rather than a host request (such as the QMP command system_reset).
54# (since 2.10)
55#
a6330785 56# Since: 0.12.0
7a2aae7a
MAL
57#
58# Example:
59#
08fba7ac 60# <- { "event": "RESET", "data": { "guest": false },
7a2aae7a
MAL
61# "timestamp": { "seconds": 1267041653, "microseconds": 9518 } }
62#
a6330785 63##
08fba7ac 64{ 'event': 'RESET', 'data': { 'guest': 'bool' } }
a4e15de9
WX
65
66##
5072f7b3 67# @STOP:
a4e15de9
WX
68#
69# Emitted when the virtual machine is stopped
70#
71# Since: 0.12.0
138c454c
MAL
72#
73# Example:
74#
75# <- { "event": "STOP",
76# "timestamp": { "seconds": 1267041730, "microseconds": 281295 } }
77#
a4e15de9
WX
78##
79{ 'event': 'STOP' }
591c48fb
WX
80
81##
5072f7b3 82# @RESUME:
591c48fb
WX
83#
84# Emitted when the virtual machine resumes execution
85#
86# Since: 0.12.0
a2235a04
MAL
87#
88# Example:
89#
90# <- { "event": "RESUME",
91# "timestamp": { "seconds": 1271770767, "microseconds": 582542 } }
92#
591c48fb
WX
93##
94{ 'event': 'RESUME' }
1d11a95a
WX
95
96##
5072f7b3 97# @SUSPEND:
1d11a95a
WX
98#
99# Emitted when guest enters a hardware suspension state, for example, S3 state,
100# which is sometimes called standby state
101#
102# Since: 1.1
6f3cc540
MAL
103#
104# Example:
105#
106# <- { "event": "SUSPEND",
107# "timestamp": { "seconds": 1344456160, "microseconds": 309119 } }
108#
1d11a95a
WX
109##
110{ 'event': 'SUSPEND' }
2ea4100f
WX
111
112##
5072f7b3 113# @SUSPEND_DISK:
2ea4100f
WX
114#
115# Emitted when guest enters a hardware suspension state with data saved on
116# disk, for example, S4 state, which is sometimes called hibernate state
117#
118# Note: QEMU shuts down (similar to event @SHUTDOWN) when entering this state
119#
120# Since: 1.2
4de62c38
MAL
121#
122# Example:
123#
124# <- { "event": "SUSPEND_DISK",
125# "timestamp": { "seconds": 1344456160, "microseconds": 309119 } }
126#
2ea4100f
WX
127##
128{ 'event': 'SUSPEND_DISK' }
7a906f7f
WX
129
130##
5072f7b3 131# @WAKEUP:
7a906f7f
WX
132#
133# Emitted when the guest has woken up from suspend state and is running
134#
135# Since: 1.1
aa496f98
MAL
136#
137# Example:
138#
139# <- { "event": "WAKEUP",
140# "timestamp": { "seconds": 1344522075, "microseconds": 745528 } }
141#
7a906f7f
WX
142##
143{ 'event': 'WAKEUP' }
e010ad8f
WX
144
145##
5072f7b3 146# @RTC_CHANGE:
e010ad8f
WX
147#
148# Emitted when the guest changes the RTC time.
149#
150# @offset: offset between base RTC clock (as specified by -rtc base), and
151# new RTC clock value
152#
73c41bfd
MAL
153# Note: This event is rate-limited.
154#
e010ad8f 155# Since: 0.13.0
73c41bfd
MAL
156#
157# Example:
158#
159# <- { "event": "RTC_CHANGE",
160# "data": { "offset": 78 },
161# "timestamp": { "seconds": 1267020223, "microseconds": 435656 } }
162#
e010ad8f
WX
163##
164{ 'event': 'RTC_CHANGE',
165 'data': { 'offset': 'int' } }
99eaf09c
WX
166
167##
5072f7b3 168# @WATCHDOG:
99eaf09c
WX
169#
170# Emitted when the watchdog device's timer is expired
171#
172# @action: action that has been taken
173#
174# Note: If action is "reset", "shutdown", or "pause" the WATCHDOG event is
175# followed respectively by the RESET, SHUTDOWN, or STOP events
176#
9ba5cec9
MAL
177# Note: This event is rate-limited.
178#
99eaf09c 179# Since: 0.13.0
9ba5cec9
MAL
180#
181# Example:
182#
183# <- { "event": "WATCHDOG",
184# "data": { "action": "reset" },
185# "timestamp": { "seconds": 1267061043, "microseconds": 959568 } }
186#
99eaf09c
WX
187##
188{ 'event': 'WATCHDOG',
189 'data': { 'action': 'WatchdogExpirationAction' } }
24b699fb
WX
190
191##
5072f7b3 192# @DEVICE_DELETED:
24b699fb
WX
193#
194# Emitted whenever the device removal completion is acknowledged by the guest.
195# At this point, it's safe to reuse the specified device ID. Device removal can
196# be initiated by the guest or by HMP/QMP commands.
197#
1d8bda12 198# @device: device name
24b699fb
WX
199#
200# @path: device path
201#
202# Since: 1.5
cdc94a1b
MAL
203#
204# Example:
205#
206# <- { "event": "DEVICE_DELETED",
207# "data": { "device": "virtio-net-pci-0",
208# "path": "/machine/peripheral/virtio-net-pci-0" },
209# "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
210#
24b699fb
WX
211##
212{ 'event': 'DEVICE_DELETED',
213 'data': { '*device': 'str', 'path': 'str' } }
06150279
WX
214
215##
5072f7b3 216# @NIC_RX_FILTER_CHANGED:
06150279
WX
217#
218# Emitted once until the 'query-rx-filter' command is executed, the first event
219# will always be emitted
220#
1d8bda12 221# @name: net client name
06150279
WX
222#
223# @path: device path
224#
225# Since: 1.6
5dbdcf43
MAL
226#
227# Example:
228#
229# <- { "event": "NIC_RX_FILTER_CHANGED",
230# "data": { "name": "vnet0",
231# "path": "/machine/peripheral/vnet0/virtio-backend" },
232# "timestamp": { "seconds": 1368697518, "microseconds": 326866 } }
233# }
234#
06150279
WX
235##
236{ 'event': 'NIC_RX_FILTER_CHANGED',
237 'data': { '*name': 'str', 'path': 'str' } }
fb6ba0d5
WX
238
239##
5072f7b3 240# @VNC_CONNECTED:
fb6ba0d5
WX
241#
242# Emitted when a VNC client establishes a connection
243#
244# @server: server information
245#
246# @client: client information
247#
248# Note: This event is emitted before any authentication takes place, thus
249# the authentication ID is not provided
250#
251# Since: 0.13.0
f46052fd
MAL
252#
253# Example:
254#
255# <- { "event": "VNC_CONNECTED",
256# "data": {
257# "server": { "auth": "sasl", "family": "ipv4",
258# "service": "5901", "host": "0.0.0.0" },
259# "client": { "family": "ipv4", "service": "58425",
260# "host": "127.0.0.1" } },
261# "timestamp": { "seconds": 1262976601, "microseconds": 975795 } }
262#
fb6ba0d5
WX
263##
264{ 'event': 'VNC_CONNECTED',
265 'data': { 'server': 'VncServerInfo',
266 'client': 'VncBasicInfo' } }
267
268##
5072f7b3 269# @VNC_INITIALIZED:
fb6ba0d5
WX
270#
271# Emitted after authentication takes place (if any) and the VNC session is
272# made active
273#
274# @server: server information
275#
276# @client: client information
277#
278# Since: 0.13.0
99ab2471
MAL
279#
280# Example:
281#
282# <- { "event": "VNC_INITIALIZED",
283# "data": {
284# "server": { "auth": "sasl", "family": "ipv4",
285# "service": "5901", "host": "0.0.0.0"},
286# "client": { "family": "ipv4", "service": "46089",
287# "host": "127.0.0.1", "sasl_username": "luiz" } },
288# "timestamp": { "seconds": 1263475302, "microseconds": 150772 } }
289#
fb6ba0d5
WX
290##
291{ 'event': 'VNC_INITIALIZED',
292 'data': { 'server': 'VncServerInfo',
293 'client': 'VncClientInfo' } }
294
295##
5072f7b3 296# @VNC_DISCONNECTED:
fb6ba0d5
WX
297#
298# Emitted when the connection is closed
299#
300# @server: server information
301#
302# @client: client information
303#
304# Since: 0.13.0
659789ba
MAL
305#
306# Example:
307#
308# <- { "event": "VNC_DISCONNECTED",
309# "data": {
310# "server": { "auth": "sasl", "family": "ipv4",
311# "service": "5901", "host": "0.0.0.0" },
312# "client": { "family": "ipv4", "service": "58425",
313# "host": "127.0.0.1", "sasl_username": "luiz" } },
314# "timestamp": { "seconds": 1262976601, "microseconds": 975795 } }
315#
fb6ba0d5
WX
316##
317{ 'event': 'VNC_DISCONNECTED',
318 'data': { 'server': 'VncServerInfo',
319 'client': 'VncClientInfo' } }
7cfadb6b
WX
320
321##
5072f7b3 322# @SPICE_CONNECTED:
7cfadb6b
WX
323#
324# Emitted when a SPICE client establishes a connection
325#
326# @server: server information
327#
328# @client: client information
329#
330# Since: 0.14.0
5db66703
MAL
331#
332# Example:
333#
334# <- { "timestamp": {"seconds": 1290688046, "microseconds": 388707},
335# "event": "SPICE_CONNECTED",
336# "data": {
337# "server": { "port": "5920", "family": "ipv4", "host": "127.0.0.1"},
338# "client": {"port": "52873", "family": "ipv4", "host": "127.0.0.1"}
339# }}
340#
7cfadb6b
WX
341##
342{ 'event': 'SPICE_CONNECTED',
343 'data': { 'server': 'SpiceBasicInfo',
344 'client': 'SpiceBasicInfo' } }
345
346##
5072f7b3 347# @SPICE_INITIALIZED:
7cfadb6b
WX
348#
349# Emitted after initial handshake and authentication takes place (if any)
350# and the SPICE channel is up and running
351#
352# @server: server information
353#
354# @client: client information
355#
356# Since: 0.14.0
da08e2a5
MAL
357#
358# Example:
359#
360# <- { "timestamp": {"seconds": 1290688046, "microseconds": 417172},
361# "event": "SPICE_INITIALIZED",
362# "data": {"server": {"auth": "spice", "port": "5921",
363# "family": "ipv4", "host": "127.0.0.1"},
364# "client": {"port": "49004", "family": "ipv4", "channel-type": 3,
365# "connection-id": 1804289383, "host": "127.0.0.1",
366# "channel-id": 0, "tls": true}
367# }}
368#
7cfadb6b
WX
369##
370{ 'event': 'SPICE_INITIALIZED',
371 'data': { 'server': 'SpiceServerInfo',
372 'client': 'SpiceChannel' } }
373
374##
5072f7b3 375# @SPICE_DISCONNECTED:
7cfadb6b
WX
376#
377# Emitted when the SPICE connection is closed
378#
379# @server: server information
380#
381# @client: client information
382#
383# Since: 0.14.0
93ab0fc3
MAL
384#
385# Example:
386#
387# <- { "timestamp": {"seconds": 1290688046, "microseconds": 388707},
388# "event": "SPICE_DISCONNECTED",
389# "data": {
390# "server": { "port": "5920", "family": "ipv4", "host": "127.0.0.1"},
391# "client": {"port": "52873", "family": "ipv4", "host": "127.0.0.1"}
392# }}
393#
7cfadb6b
WX
394##
395{ 'event': 'SPICE_DISCONNECTED',
396 'data': { 'server': 'SpiceBasicInfo',
397 'client': 'SpiceBasicInfo' } }
398
399##
5072f7b3 400# @SPICE_MIGRATE_COMPLETED:
7cfadb6b
WX
401#
402# Emitted when SPICE migration has completed
403#
404# Since: 1.3
e6bcb080
MAL
405#
406# Example:
407#
408# <- { "timestamp": {"seconds": 1290688046, "microseconds": 417172},
409# "event": "SPICE_MIGRATE_COMPLETED" }
410#
7cfadb6b
WX
411##
412{ 'event': 'SPICE_MIGRATE_COMPLETED' }
5f41fbba 413
598cd2bd 414##
5072f7b3 415# @MIGRATION:
598cd2bd
JQ
416#
417# Emitted when a migration event happens
418#
419# @status: @MigrationStatus describing the current migration status.
420#
421# Since: 2.4
bce911ce
MAL
422#
423# Example:
424#
425# <- {"timestamp": {"seconds": 1432121972, "microseconds": 744001},
426# "event": "MIGRATION",
427# "data": {"status": "completed"} }
428#
598cd2bd
JQ
429##
430{ 'event': 'MIGRATION',
431 'data': {'status': 'MigrationStatus'}}
432
4addcd4f 433##
5072f7b3 434# @MIGRATION_PASS:
4addcd4f
DDAG
435#
436# Emitted from the source side of a migration at the start of each pass
437# (when it syncs the dirty bitmap)
438#
439# @pass: An incrementing count (starting at 1 on the first pass)
440#
441# Since: 2.6
231aaf3a
MAL
442#
443# Example:
444#
445# { "timestamp": {"seconds": 1449669631, "microseconds": 239225},
446# "event": "MIGRATION_PASS", "data": {"pass": 2} }
447#
4addcd4f
DDAG
448##
449{ 'event': 'MIGRATION_PASS',
450 'data': { 'pass': 'int' } }
451
5f41fbba 452##
5072f7b3 453# @ACPI_DEVICE_OST:
5f41fbba
IM
454#
455# Emitted when guest executes ACPI _OST method.
456#
5f41fbba 457# @info: ACPIOSTInfo type as described in qapi-schema.json
5807ff88
MAL
458#
459# Since: 2.1
622b3a6a
MAL
460#
461# Example:
462#
463# <- { "event": "ACPI_DEVICE_OST",
464# "data": { "device": "d1", "slot": "0",
465# "slot-type": "DIMM", "source": 1, "status": 0 } }
466#
5f41fbba
IM
467##
468{ 'event': 'ACPI_DEVICE_OST',
469 'data': { 'info': 'ACPIOSTInfo' } }
aef9d311
WX
470
471##
5072f7b3 472# @BALLOON_CHANGE:
aef9d311
WX
473#
474# Emitted when the guest changes the actual BALLOON level. This value is
475# equivalent to the @actual field return by the 'query-balloon' command
476#
477# @actual: actual level of the guest memory balloon in bytes
478#
a030dc00
MAL
479# Note: this event is rate-limited.
480#
aef9d311 481# Since: 1.2
a030dc00
MAL
482#
483# Example:
484#
485# <- { "event": "BALLOON_CHANGE",
486# "data": { "actual": 944766976 },
487# "timestamp": { "seconds": 1267020223, "microseconds": 435656 } }
488#
aef9d311
WX
489##
490{ 'event': 'BALLOON_CHANGE',
491 'data': { 'actual': 'int' } }
3a449690
WX
492
493##
5072f7b3 494# @GUEST_PANICKED:
3a449690
WX
495#
496# Emitted when guest OS panic is detected
497#
498# @action: action that has been taken, currently always "pause"
499#
1d8bda12 500# @info: information about a panic (since 2.9)
c86f106b 501#
11953be7 502# Since: 1.5
449dbec1
MAL
503#
504# Example:
505#
506# <- { "event": "GUEST_PANICKED",
507# "data": { "action": "pause" } }
508#
3a449690
WX
509##
510{ 'event': 'GUEST_PANICKED',
c86f106b 511 'data': { 'action': 'GuestPanicAction', '*info': 'GuestPanicInformation' } }
fe069d9d
WX
512
513##
5072f7b3 514# @QUORUM_FAILURE:
fe069d9d
WX
515#
516# Emitted by the Quorum block driver if it fails to establish a quorum
517#
518# @reference: device name if defined else node name
519#
520# @sector-num: number of the first sector of the failed read operation
521#
4e855baa 522# @sectors-count: failed read operation sector count
fe069d9d 523#
9dcbe9a7
MAL
524# Note: This event is rate-limited.
525#
fe069d9d 526# Since: 2.0
9dcbe9a7
MAL
527#
528# Example:
529#
530# <- { "event": "QUORUM_FAILURE",
531# "data": { "reference": "usr1", "sector-num": 345435, "sectors-count": 5 },
532# "timestamp": { "seconds": 1344522075, "microseconds": 745528 } }
533#
fe069d9d
WX
534##
535{ 'event': 'QUORUM_FAILURE',
4e855baa 536 'data': { 'reference': 'str', 'sector-num': 'int', 'sectors-count': 'int' } }
fe069d9d
WX
537
538##
5072f7b3 539# @QUORUM_REPORT_BAD:
fe069d9d
WX
540#
541# Emitted to report a corruption of a Quorum file
542#
0ae053b7
CX
543# @type: quorum operation type (Since 2.6)
544#
1d8bda12 545# @error: error message. Only present on failure. This field
fe069d9d
WX
546# contains a human-readable error message. There are no semantics other
547# than that the block layer reported an error and clients should not
548# try to interpret the error string.
549#
550# @node-name: the graph node name of the block driver state
551#
552# @sector-num: number of the first sector of the failed read operation
553#
4e855baa 554# @sectors-count: failed read operation sector count
fe069d9d 555#
2ee7fea7
MAL
556# Note: This event is rate-limited.
557#
fe069d9d 558# Since: 2.0
2ee7fea7
MAL
559#
560# Example:
561#
562# 1. Read operation
563#
564# { "event": "QUORUM_REPORT_BAD",
565# "data": { "node-name": "node0", "sector-num": 345435, "sectors-count": 5,
566# "type": "read" },
567# "timestamp": { "seconds": 1344522075, "microseconds": 745528 } }
568#
569# 2. Flush operation
570#
571# { "event": "QUORUM_REPORT_BAD",
572# "data": { "node-name": "node0", "sector-num": 0, "sectors-count": 2097120,
573# "type": "flush", "error": "Broken pipe" },
574# "timestamp": { "seconds": 1456406829, "microseconds": 291763 } }
575#
fe069d9d
WX
576##
577{ 'event': 'QUORUM_REPORT_BAD',
0ae053b7 578 'data': { 'type': 'QuorumOpType', '*error': 'str', 'node-name': 'str',
4e855baa 579 'sector-num': 'int', 'sectors-count': 'int' } }
e2ae6159
LE
580
581##
5072f7b3 582# @VSERPORT_CHANGE:
e2ae6159
LE
583#
584# Emitted when the guest opens or closes a virtio-serial port.
585#
586# @id: device identifier of the virtio-serial port
587#
588# @open: true if the guest has opened the virtio-serial port
589#
590# Since: 2.1
14df1ea1
MAL
591#
592# Example:
593#
594# <- { "event": "VSERPORT_CHANGE",
595# "data": { "id": "channel0", "open": true },
596# "timestamp": { "seconds": 1401385907, "microseconds": 422329 } }
597#
e2ae6159
LE
598##
599{ 'event': 'VSERPORT_CHANGE',
600 'data': { 'id': 'str', 'open': 'bool' } }
bc09e061
ZG
601
602##
5072f7b3 603# @MEM_UNPLUG_ERROR:
bc09e061
ZG
604#
605# Emitted when memory hot unplug error occurs.
606#
607# @device: device name
608#
609# @msg: Informative message
610#
611# Since: 2.4
e602f0b4
MAL
612#
613# Example:
614#
615# <- { "event": "MEM_UNPLUG_ERROR"
616# "data": { "device": "dimm1",
617# "msg": "acpi: device unplug for unsupported device"
618# },
619# "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
620#
bc09e061
ZG
621##
622{ 'event': 'MEM_UNPLUG_ERROR',
623 'data': { 'device': 'str', 'msg': 'str' } }
d42a0d14
PX
624
625##
5072f7b3 626# @DUMP_COMPLETED:
d42a0d14
PX
627#
628# Emitted when background dump has completed
629#
630# @result: DumpQueryResult type described in qapi-schema.json.
631#
1d8bda12 632# @error: human-readable error string that provides
d42a0d14
PX
633# hint on why dump failed. Only presents on failure. The
634# user should not try to interpret the error string.
635#
636# Since: 2.6
a102a4ac
MAL
637#
638# Example:
639#
640# { "event": "DUMP_COMPLETED",
641# "data": {"result": {"total": 1090650112, "status": "completed",
642# "completed": 1090650112} } }
643#
d42a0d14
PX
644##
645{ 'event': 'DUMP_COMPLETED' ,
646 'data': { 'result': 'DumpQueryResult', '*error': 'str' } }
This page took 0.261164 seconds and 4 git commands to generate.