]> git.proxmox.com Git - qemu.git/blame - qemu-monitor.hx
trace: Specify trace file name
[qemu.git] / qemu-monitor.hx
CommitLineData
2313086a
BS
1HXCOMM Use DEFHEADING() to define headings in both help text and texi
2HXCOMM Text between STEXI and ETEXI are copied to texi version and
3HXCOMM discarded from C version
b40292e7
JK
4HXCOMM Text between SQMP and EQMP is copied to the QMP documention file and
5HXCOMM does not show up in the other formats.
2313086a
BS
6HXCOMM DEF(command, args, callback, arg_string, help) is used to construct
7HXCOMM monitor commands
8HXCOMM HXCOMM can be used for comments, discarded from both texi and C
9
b40292e7
JK
10SQMP
11 QMP Supported Commands
12 ----------------------
13
14This document describes all commands currently supported by QMP.
15
16Most of the time their usage is exactly the same as in the user Monitor, this
17means that any other document which also describe commands (the manpage,
18QEMU's manual, etc) can and should be consulted.
19
20QMP has two types of commands: regular and query commands. Regular commands
21usually change the Virtual Machine's state someway, while query commands just
22return information. The sections below are divided accordingly.
23
24It's important to observe that all communication examples are formatted in
25a reader-friendly way, so that they're easier to understand. However, in real
26protocol usage, they're emitted as a single line.
27
28Also, the following notation is used to denote data flow:
29
30-> data issued by the Client
31<- Server data response
32
33Please, refer to the QMP specification (QMP/qmp-spec.txt) for detailed
34information on the Server command and response formats.
35
36NOTE: This document is temporary and will be replaced soon.
37
05705ce2
LC
381. Stability Considerations
39===========================
40
41The current QMP command set (described in this file) may be useful for a
42number of use cases, however it's limited and several commands have bad
43defined semantics, specially with regard to command completion.
44
45These problems are going to be solved incrementally in the next QEMU releases
46and we're going to establish a deprecation policy for badly defined commands.
47
48If you're planning to adopt QMP, please observe the following:
49
50 1. The deprecation policy will take efect and be documented soon, please
51 check the documentation of each used command as soon as a new release of
52 QEMU is available
53
54 2. DO NOT rely on anything which is not explicit documented
55
56 3. Errors, in special, are not documented. Applications should NOT check
57 for specific errors classes or data (it's strongly recommended to only
58 check for the "error" key)
59
602. Regular Commands
b40292e7
JK
61===================
62
63Server's responses in the examples below are always a success response, please
64refer to the QMP specification for more details on error responses.
65
66EQMP
67
2313086a
BS
68STEXI
69@table @option
70ETEXI
71
d7f9b689
LC
72 {
73 .name = "help|?",
74 .args_type = "name:s?",
d7f9b689
LC
75 .params = "[cmd]",
76 .help = "show the help",
af4ce882 77 .mhandler.cmd = do_help_cmd,
d7f9b689
LC
78 },
79
2313086a
BS
80STEXI
81@item help or ? [@var{cmd}]
70fcbbe7 82@findex help
2313086a
BS
83Show the help for all commands or just for command @var{cmd}.
84ETEXI
85
d7f9b689
LC
86 {
87 .name = "commit",
88 .args_type = "device:B",
d7f9b689
LC
89 .params = "device|all",
90 .help = "commit changes to the disk images (if -snapshot is used) or backing files",
af4ce882 91 .mhandler.cmd = do_commit,
d7f9b689
LC
92 },
93
2313086a
BS
94STEXI
95@item commit
70fcbbe7 96@findex commit
2313086a 97Commit changes to the disk images (if -snapshot is used) or backing files.
2313086a
BS
98ETEXI
99
d7f9b689
LC
100 {
101 .name = "q|quit",
102 .args_type = "",
d7f9b689
LC
103 .params = "",
104 .help = "quit the emulator",
b223f35f 105 .user_print = monitor_user_noop,
261394db 106 .mhandler.cmd_new = do_quit,
d7f9b689
LC
107 },
108
2313086a
BS
109STEXI
110@item q or quit
70fcbbe7 111@findex quit
2313086a
BS
112Quit the emulator.
113ETEXI
b40292e7
JK
114SQMP
115quit
116----
117
118Quit the emulator.
119
120Arguments: None.
121
122Example:
123
124-> { "execute": "quit" }
125<- { "return": {} }
126
127EQMP
2313086a 128
d7f9b689
LC
129 {
130 .name = "eject",
78d714e0 131 .args_type = "force:-f,device:B",
d7f9b689
LC
132 .params = "[-f] device",
133 .help = "eject a removable medium (use -f to force it)",
e1c923a6 134 .user_print = monitor_user_noop,
261394db 135 .mhandler.cmd_new = do_eject,
d7f9b689
LC
136 },
137
2313086a
BS
138STEXI
139@item eject [-f] @var{device}
70fcbbe7 140@findex eject
2313086a
BS
141Eject a removable medium (use -f to force it).
142ETEXI
b40292e7
JK
143SQMP
144eject
145-----
146
147Eject a removable medium.
148
149Arguments:
150
151- force: force ejection (json-bool, optional)
152- device: device name (json-string)
153
154Example:
155
156-> { "execute": "eject", "arguments": { "device": "ide1-cd0" } }
157<- { "return": {} }
158
159Note: The "force" argument defaults to false.
160
161EQMP
2313086a 162
d7f9b689
LC
163 {
164 .name = "change",
165 .args_type = "device:B,target:F,arg:s?",
d7f9b689
LC
166 .params = "device filename [format]",
167 .help = "change a removable medium, optional format",
ec3b82af 168 .user_print = monitor_user_noop,
261394db 169 .mhandler.cmd_new = do_change,
d7f9b689
LC
170 },
171
2313086a
BS
172STEXI
173@item change @var{device} @var{setting}
70fcbbe7 174@findex change
2313086a
BS
175
176Change the configuration of a device.
177
178@table @option
179@item change @var{diskdevice} @var{filename} [@var{format}]
180Change the medium for a removable disk device to point to @var{filename}. eg
181
182@example
183(qemu) change ide1-cd0 /path/to/some.iso
184@end example
185
186@var{format} is optional.
187
188@item change vnc @var{display},@var{options}
189Change the configuration of the VNC server. The valid syntax for @var{display}
190and @var{options} are described at @ref{sec_invocation}. eg
191
192@example
193(qemu) change vnc localhost:1
194@end example
195
196@item change vnc password [@var{password}]
197
198Change the password associated with the VNC server. If the new password is not
199supplied, the monitor will prompt for it to be entered. VNC passwords are only
200significant up to 8 letters. eg
201
202@example
203(qemu) change vnc password
204Password: ********
205@end example
206
207@end table
208ETEXI
b40292e7
JK
209SQMP
210change
211------
212
213Change a removable medium or VNC configuration.
214
215Arguments:
216
217- "device": device name (json-string)
218- "target": filename or item (json-string)
219- "arg": additional argument (json-string, optional)
220
221Examples:
222
2231. Change a removable medium
224
225-> { "execute": "change",
226 "arguments": { "device": "ide1-cd0",
227 "target": "/srv/images/Fedora-12-x86_64-DVD.iso" } }
228<- { "return": {} }
229
2302. Change VNC password
231
232-> { "execute": "change",
233 "arguments": { "device": "vnc", "target": "password",
234 "arg": "foobar1" } }
235<- { "return": {} }
236
237EQMP
2313086a 238
d7f9b689
LC
239 {
240 .name = "screendump",
241 .args_type = "filename:F",
d7f9b689
LC
242 .params = "filename",
243 .help = "save screen into PPM image 'filename'",
f1dc58e0
LC
244 .user_print = monitor_user_noop,
245 .mhandler.cmd_new = do_screen_dump,
d7f9b689
LC
246 },
247
2313086a
BS
248STEXI
249@item screendump @var{filename}
70fcbbe7 250@findex screendump
2313086a
BS
251Save screen into PPM image @var{filename}.
252ETEXI
b40292e7
JK
253SQMP
254screendump
255----------
256
257Save screen into PPM image.
258
259Arguments:
260
261- "filename": file path (json-string)
262
263Example:
264
265-> { "execute": "screendump", "arguments": { "filename": "/tmp/image" } }
266<- { "return": {} }
267
268EQMP
2313086a 269
d7f9b689
LC
270 {
271 .name = "logfile",
272 .args_type = "filename:F",
d7f9b689
LC
273 .params = "filename",
274 .help = "output logs to 'filename'",
af4ce882 275 .mhandler.cmd = do_logfile,
d7f9b689
LC
276 },
277
2313086a
BS
278STEXI
279@item logfile @var{filename}
70fcbbe7 280@findex logfile
2313086a
BS
281Output logs to @var{filename}.
282ETEXI
283
22890ab5
PS
284#ifdef CONFIG_SIMPLE_TRACE
285 {
286 .name = "trace-event",
287 .args_type = "name:s,option:b",
288 .params = "name on|off",
289 .help = "changes status of a specific trace event",
290 .mhandler.cmd = do_change_trace_event_state,
291 },
292
293STEXI
294@item trace-event
295@findex trace-event
296changes status of a trace event
297ETEXI
298#endif
299
d7f9b689
LC
300 {
301 .name = "log",
302 .args_type = "items:s",
d7f9b689
LC
303 .params = "item1[,...]",
304 .help = "activate logging of the specified items to '/tmp/qemu.log'",
af4ce882 305 .mhandler.cmd = do_log,
d7f9b689
LC
306 },
307
2313086a
BS
308STEXI
309@item log @var{item1}[,...]
70fcbbe7 310@findex log
2313086a
BS
311Activate logging of the specified items to @file{/tmp/qemu.log}.
312ETEXI
313
d7f9b689
LC
314 {
315 .name = "savevm",
316 .args_type = "name:s?",
d7f9b689
LC
317 .params = "[tag|id]",
318 .help = "save a VM snapshot. If no tag or id are provided, a new snapshot is created",
af4ce882 319 .mhandler.cmd = do_savevm,
d7f9b689
LC
320 },
321
2313086a
BS
322STEXI
323@item savevm [@var{tag}|@var{id}]
70fcbbe7 324@findex savevm
2313086a
BS
325Create a snapshot of the whole virtual machine. If @var{tag} is
326provided, it is used as human readable identifier. If there is already
327a snapshot with the same tag or ID, it is replaced. More info at
328@ref{vm_snapshots}.
329ETEXI
330
d7f9b689
LC
331 {
332 .name = "loadvm",
333 .args_type = "name:s",
d7f9b689
LC
334 .params = "tag|id",
335 .help = "restore a VM snapshot from its tag or id",
af4ce882 336 .mhandler.cmd = do_loadvm,
d7f9b689
LC
337 },
338
2313086a
BS
339STEXI
340@item loadvm @var{tag}|@var{id}
70fcbbe7 341@findex loadvm
2313086a
BS
342Set the whole virtual machine to the snapshot identified by the tag
343@var{tag} or the unique snapshot ID @var{id}.
344ETEXI
345
d7f9b689
LC
346 {
347 .name = "delvm",
348 .args_type = "name:s",
d7f9b689
LC
349 .params = "tag|id",
350 .help = "delete a VM snapshot from its tag or id",
af4ce882 351 .mhandler.cmd = do_delvm,
d7f9b689
LC
352 },
353
2313086a
BS
354STEXI
355@item delvm @var{tag}|@var{id}
70fcbbe7 356@findex delvm
2313086a
BS
357Delete the snapshot identified by @var{tag} or @var{id}.
358ETEXI
359
d7f9b689
LC
360 {
361 .name = "singlestep",
362 .args_type = "option:s?",
d7f9b689
LC
363 .params = "[on|off]",
364 .help = "run emulation in singlestep mode or switch to normal mode",
af4ce882 365 .mhandler.cmd = do_singlestep,
d7f9b689
LC
366 },
367
2313086a
BS
368STEXI
369@item singlestep [off]
70fcbbe7 370@findex singlestep
2313086a
BS
371Run the emulation in single step mode.
372If called with option off, the emulation returns to normal mode.
373ETEXI
374
d7f9b689
LC
375 {
376 .name = "stop",
377 .args_type = "",
d7f9b689
LC
378 .params = "",
379 .help = "stop emulation",
e0c97bde 380 .user_print = monitor_user_noop,
261394db 381 .mhandler.cmd_new = do_stop,
d7f9b689
LC
382 },
383
2313086a
BS
384STEXI
385@item stop
70fcbbe7 386@findex stop
2313086a
BS
387Stop emulation.
388ETEXI
b40292e7
JK
389SQMP
390stop
391----
392
393Stop the emulator.
394
395Arguments: None.
396
397Example:
398
399-> { "execute": "stop" }
400<- { "return": {} }
401
402EQMP
2313086a 403
d7f9b689
LC
404 {
405 .name = "c|cont",
406 .args_type = "",
d7f9b689
LC
407 .params = "",
408 .help = "resume emulation",
a1f896a0 409 .user_print = monitor_user_noop,
261394db 410 .mhandler.cmd_new = do_cont,
d7f9b689
LC
411 },
412
2313086a
BS
413STEXI
414@item c or cont
70fcbbe7 415@findex cont
2313086a
BS
416Resume emulation.
417ETEXI
b40292e7
JK
418SQMP
419cont
420----
421
422Resume emulation.
423
424Arguments: None.
425
426Example:
427
428-> { "execute": "cont" }
429<- { "return": {} }
430
431EQMP
2313086a 432
d7f9b689
LC
433 {
434 .name = "gdbserver",
435 .args_type = "device:s?",
d7f9b689
LC
436 .params = "[device]",
437 .help = "start gdbserver on given device (default 'tcp::1234'), stop with 'none'",
af4ce882 438 .mhandler.cmd = do_gdbserver,
d7f9b689
LC
439 },
440
2313086a
BS
441STEXI
442@item gdbserver [@var{port}]
70fcbbe7 443@findex gdbserver
2313086a
BS
444Start gdbserver session (default @var{port}=1234)
445ETEXI
446
d7f9b689
LC
447 {
448 .name = "x",
449 .args_type = "fmt:/,addr:l",
d7f9b689
LC
450 .params = "/fmt addr",
451 .help = "virtual memory dump starting at 'addr'",
af4ce882 452 .mhandler.cmd = do_memory_dump,
d7f9b689
LC
453 },
454
2313086a
BS
455STEXI
456@item x/fmt @var{addr}
70fcbbe7 457@findex x
2313086a
BS
458Virtual memory dump starting at @var{addr}.
459ETEXI
460
d7f9b689
LC
461 {
462 .name = "xp",
463 .args_type = "fmt:/,addr:l",
d7f9b689
LC
464 .params = "/fmt addr",
465 .help = "physical memory dump starting at 'addr'",
af4ce882 466 .mhandler.cmd = do_physical_memory_dump,
d7f9b689
LC
467 },
468
2313086a
BS
469STEXI
470@item xp /@var{fmt} @var{addr}
70fcbbe7 471@findex xp
2313086a
BS
472Physical memory dump starting at @var{addr}.
473
474@var{fmt} is a format which tells the command how to format the
475data. Its syntax is: @option{/@{count@}@{format@}@{size@}}
476
477@table @var
478@item count
479is the number of items to be dumped.
480
481@item format
482can be x (hex), d (signed decimal), u (unsigned decimal), o (octal),
483c (char) or i (asm instruction).
484
485@item size
486can be b (8 bits), h (16 bits), w (32 bits) or g (64 bits). On x86,
487@code{h} or @code{w} can be specified with the @code{i} format to
488respectively select 16 or 32 bit code instruction size.
489
490@end table
491
492Examples:
493@itemize
494@item
495Dump 10 instructions at the current instruction pointer:
496@example
497(qemu) x/10i $eip
4980x90107063: ret
4990x90107064: sti
5000x90107065: lea 0x0(%esi,1),%esi
5010x90107069: lea 0x0(%edi,1),%edi
5020x90107070: ret
5030x90107071: jmp 0x90107080
5040x90107073: nop
5050x90107074: nop
5060x90107075: nop
5070x90107076: nop
508@end example
509
510@item
511Dump 80 16 bit values at the start of the video memory.
512@smallexample
513(qemu) xp/80hx 0xb8000
5140x000b8000: 0x0b50 0x0b6c 0x0b65 0x0b78 0x0b38 0x0b36 0x0b2f 0x0b42
5150x000b8010: 0x0b6f 0x0b63 0x0b68 0x0b73 0x0b20 0x0b56 0x0b47 0x0b41
5160x000b8020: 0x0b42 0x0b69 0x0b6f 0x0b73 0x0b20 0x0b63 0x0b75 0x0b72
5170x000b8030: 0x0b72 0x0b65 0x0b6e 0x0b74 0x0b2d 0x0b63 0x0b76 0x0b73
5180x000b8040: 0x0b20 0x0b30 0x0b35 0x0b20 0x0b4e 0x0b6f 0x0b76 0x0b20
5190x000b8050: 0x0b32 0x0b30 0x0b30 0x0b33 0x0720 0x0720 0x0720 0x0720
5200x000b8060: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
5210x000b8070: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
5220x000b8080: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
5230x000b8090: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
524@end smallexample
525@end itemize
526ETEXI
527
d7f9b689
LC
528 {
529 .name = "p|print",
530 .args_type = "fmt:/,val:l",
d7f9b689
LC
531 .params = "/fmt expr",
532 .help = "print expression value (use $reg for CPU register access)",
af4ce882 533 .mhandler.cmd = do_print,
d7f9b689
LC
534 },
535
2313086a
BS
536STEXI
537@item p or print/@var{fmt} @var{expr}
70fcbbe7 538@findex print
2313086a
BS
539
540Print expression value. Only the @var{format} part of @var{fmt} is
541used.
542ETEXI
543
d7f9b689
LC
544 {
545 .name = "i",
546 .args_type = "fmt:/,addr:i,index:i.",
d7f9b689
LC
547 .params = "/fmt addr",
548 .help = "I/O port read",
af4ce882 549 .mhandler.cmd = do_ioport_read,
d7f9b689
LC
550 },
551
2313086a
BS
552STEXI
553Read I/O port.
554ETEXI
555
d7f9b689
LC
556 {
557 .name = "o",
558 .args_type = "fmt:/,addr:i,val:i",
d7f9b689
LC
559 .params = "/fmt addr value",
560 .help = "I/O port write",
af4ce882 561 .mhandler.cmd = do_ioport_write,
d7f9b689
LC
562 },
563
f114784f
JK
564STEXI
565Write to I/O port.
566ETEXI
2313086a 567
d7f9b689
LC
568 {
569 .name = "sendkey",
570 .args_type = "string:s,hold_time:i?",
d7f9b689
LC
571 .params = "keys [hold_ms]",
572 .help = "send keys to the VM (e.g. 'sendkey ctrl-alt-f1', default hold time=100 ms)",
af4ce882 573 .mhandler.cmd = do_sendkey,
d7f9b689
LC
574 },
575
2313086a
BS
576STEXI
577@item sendkey @var{keys}
70fcbbe7 578@findex sendkey
2313086a
BS
579
580Send @var{keys} to the emulator. @var{keys} could be the name of the
581key or @code{#} followed by the raw value in either decimal or hexadecimal
582format. Use @code{-} to press several keys simultaneously. Example:
583@example
584sendkey ctrl-alt-f1
585@end example
586
587This command is useful to send keys that your graphical user interface
588intercepts at low level, such as @code{ctrl-alt-f1} in X Window.
589ETEXI
590
d7f9b689
LC
591 {
592 .name = "system_reset",
593 .args_type = "",
d7f9b689
LC
594 .params = "",
595 .help = "reset the system",
c80d259e 596 .user_print = monitor_user_noop,
261394db 597 .mhandler.cmd_new = do_system_reset,
d7f9b689
LC
598 },
599
2313086a
BS
600STEXI
601@item system_reset
70fcbbe7 602@findex system_reset
2313086a
BS
603
604Reset the system.
605ETEXI
b40292e7
JK
606SQMP
607system_reset
608------------
609
610Reset the system.
611
612Arguments: None.
613
614Example:
615
616-> { "execute": "system_reset" }
617<- { "return": {} }
618
619EQMP
2313086a 620
d7f9b689
LC
621 {
622 .name = "system_powerdown",
623 .args_type = "",
d7f9b689
LC
624 .params = "",
625 .help = "send system power down event",
43076664 626 .user_print = monitor_user_noop,
261394db 627 .mhandler.cmd_new = do_system_powerdown,
d7f9b689
LC
628 },
629
2313086a
BS
630STEXI
631@item system_powerdown
70fcbbe7 632@findex system_powerdown
2313086a
BS
633
634Power down the system (if supported).
635ETEXI
b40292e7
JK
636SQMP
637system_powerdown
638----------------
639
640Send system power down event.
641
642Arguments: None.
643
644Example:
645
646-> { "execute": "system_powerdown" }
647<- { "return": {} }
648
649EQMP
2313086a 650
d7f9b689
LC
651 {
652 .name = "sum",
653 .args_type = "start:i,size:i",
d7f9b689
LC
654 .params = "addr size",
655 .help = "compute the checksum of a memory region",
af4ce882 656 .mhandler.cmd = do_sum,
d7f9b689
LC
657 },
658
2313086a
BS
659STEXI
660@item sum @var{addr} @var{size}
70fcbbe7 661@findex sum
2313086a
BS
662
663Compute the checksum of a memory region.
664ETEXI
665
d7f9b689
LC
666 {
667 .name = "usb_add",
668 .args_type = "devname:s",
d7f9b689
LC
669 .params = "device",
670 .help = "add USB device (e.g. 'host:bus.addr' or 'host:vendor_id:product_id')",
af4ce882 671 .mhandler.cmd = do_usb_add,
d7f9b689
LC
672 },
673
2313086a
BS
674STEXI
675@item usb_add @var{devname}
70fcbbe7 676@findex usb_add
2313086a
BS
677
678Add the USB device @var{devname}. For details of available devices see
679@ref{usb_devices}
680ETEXI
681
d7f9b689
LC
682 {
683 .name = "usb_del",
684 .args_type = "devname:s",
d7f9b689
LC
685 .params = "device",
686 .help = "remove USB device 'bus.addr'",
af4ce882 687 .mhandler.cmd = do_usb_del,
d7f9b689
LC
688 },
689
2313086a
BS
690STEXI
691@item usb_del @var{devname}
70fcbbe7 692@findex usb_del
2313086a
BS
693
694Remove the USB device @var{devname} from the QEMU virtual USB
695hub. @var{devname} has the syntax @code{bus.addr}. Use the monitor
696command @code{info usb} to see the devices you can remove.
697ETEXI
698
d7f9b689
LC
699 {
700 .name = "device_add",
c7e4e8ce
MA
701 .args_type = "device:O",
702 .params = "driver[,prop=value][,...]",
d7f9b689 703 .help = "add device, like -device on the command line",
8bc27249
MA
704 .user_print = monitor_user_noop,
705 .mhandler.cmd_new = do_device_add,
d7f9b689
LC
706 },
707
3418bd25
GH
708STEXI
709@item device_add @var{config}
70fcbbe7 710@findex device_add
3418bd25
GH
711
712Add device.
713ETEXI
b40292e7
JK
714SQMP
715device_add
716----------
717
718Add a device.
719
720Arguments:
721
722- "driver": the name of the new device's driver (json-string)
723- "bus": the device's parent bus (device tree path, json-string, optional)
724- "id": the device's ID, must be unique (json-string)
725- device properties
726
727Example:
728
729-> { "execute": "device_add", "arguments": { "driver": "e1000", "id": "net1" } }
730<- { "return": {} }
731
732Notes:
733
734(1) For detailed information about this command, please refer to the
735 'docs/qdev-device-use.txt' file.
736
737(2) It's possible to list device properties by running QEMU with the
738 "-device DEVICE,\?" command-line argument, where DEVICE is the device's name
739
740EQMP
3418bd25 741
d7f9b689
LC
742 {
743 .name = "device_del",
744 .args_type = "id:s",
d7f9b689
LC
745 .params = "device",
746 .help = "remove device",
17a38eaa
MA
747 .user_print = monitor_user_noop,
748 .mhandler.cmd_new = do_device_del,
d7f9b689
LC
749 },
750
3418bd25
GH
751STEXI
752@item device_del @var{id}
70fcbbe7 753@findex device_del
3418bd25
GH
754
755Remove device @var{id}.
756ETEXI
b40292e7
JK
757SQMP
758device_del
759----------
760
761Remove a device.
762
763Arguments:
764
765- "id": the device's ID (json-string)
766
767Example:
768
769-> { "execute": "device_del", "arguments": { "id": "net1" } }
770<- { "return": {} }
771
772EQMP
3418bd25 773
d7f9b689
LC
774 {
775 .name = "cpu",
776 .args_type = "index:i",
d7f9b689
LC
777 .params = "index",
778 .help = "set the default CPU",
81a1b45a 779 .user_print = monitor_user_noop,
261394db 780 .mhandler.cmd_new = do_cpu_set,
d7f9b689 781 },
3418bd25 782
2313086a 783STEXI
c427ea9c
MA
784@item cpu @var{index}
785@findex cpu
2313086a
BS
786Set the default CPU.
787ETEXI
b40292e7
JK
788SQMP
789cpu
790---
791
792Set the default CPU.
793
794Arguments:
795
796- "index": the CPU's index (json-int)
797
798Example:
799
800-> { "execute": "cpu", "arguments": { "index": 0 } }
801<- { "return": {} }
802
803Note: CPUs' indexes are obtained with the 'query-cpus' command.
804
805EQMP
2313086a 806
d7f9b689
LC
807 {
808 .name = "mouse_move",
809 .args_type = "dx_str:s,dy_str:s,dz_str:s?",
d7f9b689
LC
810 .params = "dx dy [dz]",
811 .help = "send mouse move events",
af4ce882 812 .mhandler.cmd = do_mouse_move,
d7f9b689
LC
813 },
814
2313086a
BS
815STEXI
816@item mouse_move @var{dx} @var{dy} [@var{dz}]
70fcbbe7 817@findex mouse_move
2313086a
BS
818Move the active mouse to the specified coordinates @var{dx} @var{dy}
819with optional scroll axis @var{dz}.
820ETEXI
821
d7f9b689
LC
822 {
823 .name = "mouse_button",
824 .args_type = "button_state:i",
d7f9b689
LC
825 .params = "state",
826 .help = "change mouse button state (1=L, 2=M, 4=R)",
af4ce882 827 .mhandler.cmd = do_mouse_button,
d7f9b689
LC
828 },
829
2313086a
BS
830STEXI
831@item mouse_button @var{val}
70fcbbe7 832@findex mouse_button
2313086a
BS
833Change the active mouse button state @var{val} (1=L, 2=M, 4=R).
834ETEXI
835
d7f9b689
LC
836 {
837 .name = "mouse_set",
838 .args_type = "index:i",
d7f9b689
LC
839 .params = "index",
840 .help = "set which mouse device receives events",
af4ce882 841 .mhandler.cmd = do_mouse_set,
d7f9b689
LC
842 },
843
2313086a
BS
844STEXI
845@item mouse_set @var{index}
70fcbbe7 846@findex mouse_set
2313086a
BS
847Set which mouse device receives events at given @var{index}, index
848can be obtained with
849@example
850info mice
851@end example
852ETEXI
853
854#ifdef HAS_AUDIO
d7f9b689
LC
855 {
856 .name = "wavcapture",
857 .args_type = "path:F,freq:i?,bits:i?,nchannels:i?",
d7f9b689
LC
858 .params = "path [frequency [bits [channels]]]",
859 .help = "capture audio to a wave file (default frequency=44100 bits=16 channels=2)",
af4ce882 860 .mhandler.cmd = do_wav_capture,
d7f9b689 861 },
2313086a
BS
862#endif
863STEXI
864@item wavcapture @var{filename} [@var{frequency} [@var{bits} [@var{channels}]]]
70fcbbe7 865@findex wavcapture
2313086a
BS
866Capture audio into @var{filename}. Using sample rate @var{frequency}
867bits per sample @var{bits} and number of channels @var{channels}.
868
869Defaults:
870@itemize @minus
871@item Sample rate = 44100 Hz - CD quality
872@item Bits = 16
873@item Number of channels = 2 - Stereo
874@end itemize
875ETEXI
876
877#ifdef HAS_AUDIO
d7f9b689
LC
878 {
879 .name = "stopcapture",
880 .args_type = "n:i",
d7f9b689
LC
881 .params = "capture index",
882 .help = "stop capture",
af4ce882 883 .mhandler.cmd = do_stop_capture,
d7f9b689 884 },
2313086a
BS
885#endif
886STEXI
887@item stopcapture @var{index}
70fcbbe7 888@findex stopcapture
2313086a
BS
889Stop capture with a given @var{index}, index can be obtained with
890@example
891info capture
892@end example
893ETEXI
894
d7f9b689
LC
895 {
896 .name = "memsave",
897 .args_type = "val:l,size:i,filename:s",
d7f9b689
LC
898 .params = "addr size file",
899 .help = "save to disk virtual memory dump starting at 'addr' of size 'size'",
57e09454 900 .user_print = monitor_user_noop,
261394db 901 .mhandler.cmd_new = do_memory_save,
d7f9b689
LC
902 },
903
2313086a
BS
904STEXI
905@item memsave @var{addr} @var{size} @var{file}
70fcbbe7 906@findex memsave
2313086a
BS
907save to disk virtual memory dump starting at @var{addr} of size @var{size}.
908ETEXI
b40292e7
JK
909SQMP
910memsave
911-------
912
913Save to disk virtual memory dump starting at 'val' of size 'size'.
914
915Arguments:
916
917- "val": the starting address (json-int)
918- "size": the memory size, in bytes (json-int)
919- "filename": file path (json-string)
920
921Example:
922
923-> { "execute": "memsave",
924 "arguments": { "val": 10,
925 "size": 100,
926 "filename": "/tmp/virtual-mem-dump" } }
927<- { "return": {} }
928
929Note: Depends on the current CPU.
930
931EQMP
2313086a 932
d7f9b689
LC
933 {
934 .name = "pmemsave",
935 .args_type = "val:l,size:i,filename:s",
d7f9b689
LC
936 .params = "addr size file",
937 .help = "save to disk physical memory dump starting at 'addr' of size 'size'",
18f5a8bf 938 .user_print = monitor_user_noop,
261394db 939 .mhandler.cmd_new = do_physical_memory_save,
d7f9b689
LC
940 },
941
2313086a
BS
942STEXI
943@item pmemsave @var{addr} @var{size} @var{file}
70fcbbe7 944@findex pmemsave
2313086a
BS
945save to disk physical memory dump starting at @var{addr} of size @var{size}.
946ETEXI
b40292e7
JK
947SQMP
948pmemsave
949--------
950
951Save to disk physical memory dump starting at 'val' of size 'size'.
952
953Arguments:
954
955- "val": the starting address (json-int)
956- "size": the memory size, in bytes (json-int)
957- "filename": file path (json-string)
958
959Example:
960
961-> { "execute": "pmemsave",
962 "arguments": { "val": 10,
963 "size": 100,
964 "filename": "/tmp/physical-mem-dump" } }
965<- { "return": {} }
966
967EQMP
2313086a 968
d7f9b689
LC
969 {
970 .name = "boot_set",
971 .args_type = "bootdevice:s",
d7f9b689
LC
972 .params = "bootdevice",
973 .help = "define new values for the boot device list",
af4ce882 974 .mhandler.cmd = do_boot_set,
d7f9b689
LC
975 },
976
2313086a
BS
977STEXI
978@item boot_set @var{bootdevicelist}
70fcbbe7 979@findex boot_set
2313086a
BS
980
981Define new values for the boot device list. Those values will override
982the values specified on the command line through the @code{-boot} option.
983
984The values that can be specified here depend on the machine type, but are
985the same that can be specified in the @code{-boot} command line option.
986ETEXI
987
988#if defined(TARGET_I386)
d7f9b689
LC
989 {
990 .name = "nmi",
991 .args_type = "cpu_index:i",
d7f9b689
LC
992 .params = "cpu",
993 .help = "inject an NMI on the given CPU",
af4ce882 994 .mhandler.cmd = do_inject_nmi,
d7f9b689 995 },
2313086a
BS
996#endif
997STEXI
998@item nmi @var{cpu}
70fcbbe7 999@findex nmi
2313086a
BS
1000Inject an NMI on the given CPU (x86 only).
1001ETEXI
1002
d7f9b689
LC
1003 {
1004 .name = "migrate",
fbc3d96c 1005 .args_type = "detach:-d,blk:-b,inc:-i,uri:s",
1006 .params = "[-d] [-b] [-i] uri",
1007 .help = "migrate to URI (using -d to not wait for completion)"
1008 "\n\t\t\t -b for migration without shared storage with"
1009 " full copy of disk\n\t\t\t -i for migration without "
1010 "shared storage with incremental copy of disk "
1011 "(base image shared between src and destination)",
1012 .user_print = monitor_user_noop,
261394db 1013 .mhandler.cmd_new = do_migrate,
d7f9b689
LC
1014 },
1015
fbc3d96c 1016
2313086a 1017STEXI
fbc3d96c 1018@item migrate [-d] [-b] [-i] @var{uri}
70fcbbe7 1019@findex migrate
2313086a 1020Migrate to @var{uri} (using -d to not wait for completion).
fbc3d96c 1021 -b for migration with full copy of disk
1022 -i for migration with incremental copy of disk (base image is shared)
2313086a 1023ETEXI
b40292e7
JK
1024SQMP
1025migrate
1026-------
1027
1028Migrate to URI.
1029
1030Arguments:
1031
1032- "blk": block migration, full disk copy (json-bool, optional)
1033- "inc": incremental disk copy (json-bool, optional)
1034- "uri": Destination URI (json-string)
1035
1036Example:
1037
1038-> { "execute": "migrate", "arguments": { "uri": "tcp:0:4446" } }
1039<- { "return": {} }
1040
1041Notes:
1042
1043(1) The 'query-migrate' command should be used to check migration's progress
1044 and final result (this information is provided by the 'status' member)
1045(2) All boolean arguments default to false
1046(3) The user Monitor's "detach" argument is invalid in QMP and should not
1047 be used
1048
1049EQMP
2313086a 1050
d7f9b689
LC
1051 {
1052 .name = "migrate_cancel",
1053 .args_type = "",
d7f9b689
LC
1054 .params = "",
1055 .help = "cancel the current VM migration",
911d2963 1056 .user_print = monitor_user_noop,
261394db 1057 .mhandler.cmd_new = do_migrate_cancel,
d7f9b689
LC
1058 },
1059
2313086a
BS
1060STEXI
1061@item migrate_cancel
70fcbbe7 1062@findex migrate_cancel
2313086a
BS
1063Cancel the current VM migration.
1064ETEXI
b40292e7
JK
1065SQMP
1066migrate_cancel
1067--------------
1068
1069Cancel the current migration.
1070
1071Arguments: None.
1072
1073Example:
1074
1075-> { "execute": "migrate_cancel" }
1076<- { "return": {} }
1077
1078EQMP
2313086a 1079
d7f9b689
LC
1080 {
1081 .name = "migrate_set_speed",
ee9545da 1082 .args_type = "value:f",
d7f9b689
LC
1083 .params = "value",
1084 .help = "set maximum speed (in bytes) for migrations",
5fd9083c 1085 .user_print = monitor_user_noop,
261394db 1086 .mhandler.cmd_new = do_migrate_set_speed,
d7f9b689
LC
1087 },
1088
2313086a
BS
1089STEXI
1090@item migrate_set_speed @var{value}
70fcbbe7 1091@findex migrate_set_speed
2313086a 1092Set maximum speed to @var{value} (in bytes) for migrations.
2ea42952 1093ETEXI
b40292e7
JK
1094SQMP
1095migrate_set_speed
1096-----------------
1097
1098Set maximum speed for migrations.
1099
1100Arguments:
1101
1102- "value": maximum speed, in bytes per second (json-number)
1103
1104Example:
1105
1106-> { "execute": "migrate_set_speed", "arguments": { "value": 1024 } }
1107<- { "return": {} }
1108
1109EQMP
2ea42952 1110
d7f9b689
LC
1111 {
1112 .name = "migrate_set_downtime",
b0fbf7d3 1113 .args_type = "value:T",
d7f9b689
LC
1114 .params = "value",
1115 .help = "set maximum tolerated downtime (in seconds) for migrations",
c6027f56 1116 .user_print = monitor_user_noop,
261394db 1117 .mhandler.cmd_new = do_migrate_set_downtime,
d7f9b689 1118 },
2ea42952
GC
1119
1120STEXI
1121@item migrate_set_downtime @var{second}
70fcbbe7 1122@findex migrate_set_downtime
2ea42952 1123Set maximum tolerated downtime (in seconds) for migration.
2313086a 1124ETEXI
b40292e7
JK
1125SQMP
1126migrate_set_downtime
1127--------------------
1128
1129Set maximum tolerated downtime (in seconds) for migrations.
1130
1131Arguments:
1132
1133- "value": maximum downtime (json-number)
1134
1135Example:
1136
1137-> { "execute": "migrate_set_downtime", "arguments": { "value": 0.1 } }
1138<- { "return": {} }
1139
1140EQMP
2313086a
BS
1141
1142#if defined(TARGET_I386)
d7f9b689
LC
1143 {
1144 .name = "drive_add",
1145 .args_type = "pci_addr:s,opts:s",
d7f9b689
LC
1146 .params = "[[<domain>:]<bus>:]<slot>\n"
1147 "[file=file][,if=type][,bus=n]\n"
1148 "[,unit=m][,media=d][index=i]\n"
1149 "[,cyls=c,heads=h,secs=s[,trans=t]]\n"
1150 "[snapshot=on|off][,cache=on|off]",
1151 .help = "add drive to PCI storage controller",
af4ce882 1152 .mhandler.cmd = drive_hot_add,
d7f9b689 1153 },
2313086a 1154#endif
d7f9b689 1155
2313086a
BS
1156STEXI
1157@item drive_add
70fcbbe7 1158@findex drive_add
2313086a
BS
1159Add drive to PCI storage controller.
1160ETEXI
1161
1162#if defined(TARGET_I386)
d7f9b689
LC
1163 {
1164 .name = "pci_add",
1165 .args_type = "pci_addr:s,type:s,opts:s?",
d7f9b689
LC
1166 .params = "auto|[[<domain>:]<bus>:]<slot> nic|storage [[vlan=n][,macaddr=addr][,model=type]] [file=file][,if=type][,bus=nr]...",
1167 .help = "hot-add PCI device",
6c6a58ae 1168 .mhandler.cmd = pci_device_hot_add,
d7f9b689 1169 },
2313086a 1170#endif
d7f9b689 1171
2313086a
BS
1172STEXI
1173@item pci_add
70fcbbe7 1174@findex pci_add
2313086a
BS
1175Hot-add PCI device.
1176ETEXI
1177
1178#if defined(TARGET_I386)
d7f9b689
LC
1179 {
1180 .name = "pci_del",
1181 .args_type = "pci_addr:s",
d7f9b689
LC
1182 .params = "[[<domain>:]<bus>:]<slot>",
1183 .help = "hot remove PCI device",
b752daf0 1184 .mhandler.cmd = do_pci_device_hot_remove,
d7f9b689 1185 },
2313086a 1186#endif
d7f9b689 1187
2313086a
BS
1188STEXI
1189@item pci_del
70fcbbe7 1190@findex pci_del
2313086a
BS
1191Hot remove PCI device.
1192ETEXI
1193
d7f9b689
LC
1194 {
1195 .name = "host_net_add",
1196 .args_type = "device:s,opts:s?",
d7f9b689
LC
1197 .params = "tap|user|socket|vde|dump [options]",
1198 .help = "add host VLAN client",
af4ce882 1199 .mhandler.cmd = net_host_device_add,
d7f9b689
LC
1200 },
1201
2313086a
BS
1202STEXI
1203@item host_net_add
70fcbbe7 1204@findex host_net_add
2313086a
BS
1205Add host VLAN client.
1206ETEXI
1207
d7f9b689
LC
1208 {
1209 .name = "host_net_remove",
1210 .args_type = "vlan_id:i,device:s",
d7f9b689
LC
1211 .params = "vlan_id name",
1212 .help = "remove host VLAN client",
af4ce882 1213 .mhandler.cmd = net_host_device_remove,
d7f9b689
LC
1214 },
1215
2313086a
BS
1216STEXI
1217@item host_net_remove
70fcbbe7 1218@findex host_net_remove
2313086a 1219Remove host VLAN client.
ae82d324
MA
1220ETEXI
1221
1222 {
1223 .name = "netdev_add",
1224 .args_type = "netdev:O",
1225 .params = "[user|tap|socket],id=str[,prop=value][,...]",
1226 .help = "add host network device",
1227 .user_print = monitor_user_noop,
1228 .mhandler.cmd_new = do_netdev_add,
1229 },
1230
1231STEXI
1232@item netdev_add
1233@findex netdev_add
1234Add host network device.
1235ETEXI
b40292e7
JK
1236SQMP
1237netdev_add
1238----------
1239
1240Add host network device.
1241
1242Arguments:
1243
1244- "type": the device type, "tap", "user", ... (json-string)
1245- "id": the device's ID, must be unique (json-string)
1246- device options
1247
1248Example:
1249
1250-> { "execute": "netdev_add", "arguments": { "type": "user", "id": "netdev1" } }
1251<- { "return": {} }
1252
1253Note: The supported device options are the same ones supported by the '-net'
1254 command-line argument, which are listed in the '-help' output or QEMU's
1255 manual
1256
1257EQMP
ae82d324
MA
1258
1259 {
1260 .name = "netdev_del",
1261 .args_type = "id:s",
1262 .params = "id",
1263 .help = "remove host network device",
1264 .user_print = monitor_user_noop,
1265 .mhandler.cmd_new = do_netdev_del,
1266 },
1267
1268STEXI
1269@item netdev_del
1270@findex netdev_del
1271Remove host network device.
2313086a 1272ETEXI
b40292e7
JK
1273SQMP
1274netdev_del
1275----------
1276
1277Remove host network device.
1278
1279Arguments:
1280
1281- "id": the device's ID, must be unique (json-string)
1282
1283Example:
1284
1285-> { "execute": "netdev_del", "arguments": { "id": "netdev1" } }
1286<- { "return": {} }
1287
1288EQMP
2313086a
BS
1289
1290#ifdef CONFIG_SLIRP
d7f9b689
LC
1291 {
1292 .name = "hostfwd_add",
1293 .args_type = "arg1:s,arg2:s?,arg3:s?",
d7f9b689
LC
1294 .params = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport",
1295 .help = "redirect TCP or UDP connections from host to guest (requires -net user)",
af4ce882 1296 .mhandler.cmd = net_slirp_hostfwd_add,
d7f9b689 1297 },
21413d68
MA
1298#endif
1299STEXI
1300@item hostfwd_add
1301@findex hostfwd_add
1302Redirect TCP or UDP connections from host to guest (requires -net user).
1303ETEXI
d7f9b689 1304
21413d68 1305#ifdef CONFIG_SLIRP
d7f9b689
LC
1306 {
1307 .name = "hostfwd_remove",
1308 .args_type = "arg1:s,arg2:s?,arg3:s?",
d7f9b689
LC
1309 .params = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport",
1310 .help = "remove host-to-guest TCP or UDP redirection",
af4ce882 1311 .mhandler.cmd = net_slirp_hostfwd_remove,
d7f9b689
LC
1312 },
1313
2313086a
BS
1314#endif
1315STEXI
21413d68
MA
1316@item hostfwd_remove
1317@findex hostfwd_remove
1318Remove host-to-guest TCP or UDP redirection.
2313086a
BS
1319ETEXI
1320
d7f9b689
LC
1321 {
1322 .name = "balloon",
3b0bd6ec 1323 .args_type = "value:M",
d7f9b689 1324 .params = "target",
3c05613a 1325 .help = "request VM to change its memory allocation (in MB)",
83fb1de2 1326 .user_print = monitor_user_noop,
625a5bef 1327 .mhandler.cmd_async = do_balloon,
8ac470c1 1328 .flags = MONITOR_CMD_ASYNC,
d7f9b689
LC
1329 },
1330
2313086a
BS
1331STEXI
1332@item balloon @var{value}
70fcbbe7 1333@findex balloon
2313086a
BS
1334Request VM to change its memory allocation to @var{value} (in MB).
1335ETEXI
b40292e7
JK
1336SQMP
1337balloon
1338-------
1339
1340Request VM to change its memory allocation (in bytes).
1341
1342Arguments:
1343
1344- "value": New memory allocation (json-int)
1345
1346Example:
1347
1348-> { "execute": "balloon", "arguments": { "value": 536870912 } }
1349<- { "return": {} }
1350
1351EQMP
2313086a 1352
d7f9b689
LC
1353 {
1354 .name = "set_link",
c9b26a4c
MA
1355 .args_type = "name:s,up:b",
1356 .params = "name on|off",
d7f9b689 1357 .help = "change the link status of a network adapter",
5369e3c0
MA
1358 .user_print = monitor_user_noop,
1359 .mhandler.cmd_new = do_set_link,
d7f9b689
LC
1360 },
1361
2313086a 1362STEXI
c9b26a4c 1363@item set_link @var{name} [on|off]
70fcbbe7 1364@findex set_link
c9b26a4c 1365Switch link @var{name} on (i.e. up) or off (i.e. down).
2313086a 1366ETEXI
b40292e7
JK
1367SQMP
1368set_link
1369--------
1370
1371Change the link status of a network adapter.
1372
1373Arguments:
1374
1375- "name": network device name (json-string)
1376- "up": status is up (json-bool)
1377
1378Example:
1379
1380-> { "execute": "set_link", "arguments": { "name": "e1000.0", "up": false } }
1381<- { "return": {} }
1382
1383EQMP
2313086a 1384
d7f9b689
LC
1385 {
1386 .name = "watchdog_action",
1387 .args_type = "action:s",
d7f9b689
LC
1388 .params = "[reset|shutdown|poweroff|pause|debug|none]",
1389 .help = "change watchdog action",
af4ce882 1390 .mhandler.cmd = do_watchdog_action,
d7f9b689
LC
1391 },
1392
2313086a
BS
1393STEXI
1394@item watchdog_action
70fcbbe7 1395@findex watchdog_action
2313086a
BS
1396Change watchdog action.
1397ETEXI
1398
d7f9b689
LC
1399 {
1400 .name = "acl_show",
1401 .args_type = "aclname:s",
d7f9b689
LC
1402 .params = "aclname",
1403 .help = "list rules in the access control list",
af4ce882 1404 .mhandler.cmd = do_acl_show,
d7f9b689
LC
1405 },
1406
2313086a 1407STEXI
15dfcd45 1408@item acl_show @var{aclname}
70fcbbe7 1409@findex acl_show
15dfcd45
JK
1410List all the matching rules in the access control list, and the default
1411policy. There are currently two named access control lists,
1412@var{vnc.x509dname} and @var{vnc.username} matching on the x509 client
1413certificate distinguished name, and SASL username respectively.
1414ETEXI
2313086a 1415
d7f9b689
LC
1416 {
1417 .name = "acl_policy",
1418 .args_type = "aclname:s,policy:s",
d7f9b689
LC
1419 .params = "aclname allow|deny",
1420 .help = "set default access control list policy",
af4ce882 1421 .mhandler.cmd = do_acl_policy,
d7f9b689
LC
1422 },
1423
15dfcd45 1424STEXI
cbbfacc6 1425@item acl_policy @var{aclname} @code{allow|deny}
70fcbbe7 1426@findex acl_policy
15dfcd45 1427Set the default access control list policy, used in the event that
2313086a 1428none of the explicit rules match. The default policy at startup is
15dfcd45
JK
1429always @code{deny}.
1430ETEXI
1431
d7f9b689
LC
1432 {
1433 .name = "acl_add",
1434 .args_type = "aclname:s,match:s,policy:s,index:i?",
d7f9b689
LC
1435 .params = "aclname match allow|deny [index]",
1436 .help = "add a match rule to the access control list",
af4ce882 1437 .mhandler.cmd = do_acl_add,
d7f9b689
LC
1438 },
1439
15dfcd45 1440STEXI
0e4aec98
MA
1441@item acl_add @var{aclname} @var{match} @code{allow|deny} [@var{index}]
1442@findex acl_add
15dfcd45
JK
1443Add a match rule to the access control list, allowing or denying access.
1444The match will normally be an exact username or x509 distinguished name,
1445but can optionally include wildcard globs. eg @code{*@@EXAMPLE.COM} to
1446allow all users in the @code{EXAMPLE.COM} kerberos realm. The match will
2313086a 1447normally be appended to the end of the ACL, but can be inserted
15dfcd45
JK
1448earlier in the list if the optional @var{index} parameter is supplied.
1449ETEXI
1450
d7f9b689
LC
1451 {
1452 .name = "acl_remove",
1453 .args_type = "aclname:s,match:s",
d7f9b689
LC
1454 .params = "aclname match",
1455 .help = "remove a match rule from the access control list",
af4ce882 1456 .mhandler.cmd = do_acl_remove,
d7f9b689
LC
1457 },
1458
15dfcd45
JK
1459STEXI
1460@item acl_remove @var{aclname} @var{match}
70fcbbe7 1461@findex acl_remove
15dfcd45
JK
1462Remove the specified match rule from the access control list.
1463ETEXI
1464
d7f9b689
LC
1465 {
1466 .name = "acl_reset",
1467 .args_type = "aclname:s",
d7f9b689
LC
1468 .params = "aclname",
1469 .help = "reset the access control list",
af4ce882 1470 .mhandler.cmd = do_acl_reset,
d7f9b689
LC
1471 },
1472
15dfcd45 1473STEXI
0e4aec98
MA
1474@item acl_reset @var{aclname}
1475@findex acl_reset
15dfcd45 1476Remove all matches from the access control list, and set the default
2313086a 1477policy back to @code{deny}.
2313086a
BS
1478ETEXI
1479
79c4f6b0 1480#if defined(TARGET_I386)
d7f9b689
LC
1481
1482 {
1483 .name = "mce",
1484 .args_type = "cpu_index:i,bank:i,status:l,mcg_status:l,addr:l,misc:l",
d7f9b689
LC
1485 .params = "cpu bank status mcgstatus addr misc",
1486 .help = "inject a MCE on the given CPU",
af4ce882 1487 .mhandler.cmd = do_inject_mce,
d7f9b689
LC
1488 },
1489
79c4f6b0
HY
1490#endif
1491STEXI
1492@item mce @var{cpu} @var{bank} @var{status} @var{mcgstatus} @var{addr} @var{misc}
70fcbbe7 1493@findex mce (x86)
79c4f6b0 1494Inject an MCE on the given CPU (x86 only).
f07918fd
MM
1495ETEXI
1496
d7f9b689
LC
1497 {
1498 .name = "getfd",
1499 .args_type = "fdname:s",
d7f9b689
LC
1500 .params = "getfd name",
1501 .help = "receive a file descriptor via SCM rights and assign it a name",
f0d6000a 1502 .user_print = monitor_user_noop,
261394db 1503 .mhandler.cmd_new = do_getfd,
d7f9b689
LC
1504 },
1505
f07918fd
MM
1506STEXI
1507@item getfd @var{fdname}
70fcbbe7 1508@findex getfd
f07918fd
MM
1509If a file descriptor is passed alongside this command using the SCM_RIGHTS
1510mechanism on unix sockets, it is stored using the name @var{fdname} for
1511later use by other monitor commands.
1512ETEXI
b40292e7
JK
1513SQMP
1514getfd
1515-----
1516
1517Receive a file descriptor via SCM rights and assign it a name.
1518
1519Arguments:
1520
1521- "fdname": file descriptor name (json-string)
1522
1523Example:
1524
1525-> { "execute": "getfd", "arguments": { "fdname": "fd1" } }
1526<- { "return": {} }
1527
1528EQMP
f07918fd 1529
d7f9b689
LC
1530 {
1531 .name = "closefd",
1532 .args_type = "fdname:s",
d7f9b689
LC
1533 .params = "closefd name",
1534 .help = "close a file descriptor previously passed via SCM rights",
18f3a515 1535 .user_print = monitor_user_noop,
261394db 1536 .mhandler.cmd_new = do_closefd,
d7f9b689
LC
1537 },
1538
f07918fd
MM
1539STEXI
1540@item closefd @var{fdname}
70fcbbe7 1541@findex closefd
f07918fd
MM
1542Close the file descriptor previously assigned to @var{fdname} using the
1543@code{getfd} command. This is only needed if the file descriptor was never
1544used by another monitor command.
a3a55a2e 1545ETEXI
b40292e7
JK
1546SQMP
1547closefd
1548-------
1549
1550Close a file descriptor previously passed via SCM rights.
1551
1552Arguments:
1553
1554- "fdname": file descriptor name (json-string)
1555
1556Example:
1557
1558-> { "execute": "closefd", "arguments": { "fdname": "fd1" } }
1559<- { "return": {} }
1560
1561EQMP
a3a55a2e
LC
1562
1563 {
1564 .name = "block_passwd",
1565 .args_type = "device:B,password:s",
1566 .params = "block_passwd device password",
1567 .help = "set the password of encrypted block devices",
1568 .user_print = monitor_user_noop,
261394db 1569 .mhandler.cmd_new = do_block_set_passwd,
a3a55a2e
LC
1570 },
1571
1572STEXI
1573@item block_passwd @var{device} @var{password}
70fcbbe7 1574@findex block_passwd
a3a55a2e 1575Set the encrypted device @var{device} password to @var{password}
4a7e1190 1576ETEXI
b40292e7
JK
1577SQMP
1578block_passwd
1579------------
1580
1581Set the password of encrypted block devices.
1582
1583Arguments:
1584
1585- "device": device name (json-string)
1586- "password": password (json-string)
1587
1588Example:
1589
1590-> { "execute": "block_passwd", "arguments": { "device": "ide0-hd0",
1591 "password": "12345" } }
1592<- { "return": {} }
1593
1594EQMP
4a7e1190
LC
1595
1596 {
1597 .name = "qmp_capabilities",
1598 .args_type = "",
1599 .params = "",
1600 .help = "enable QMP capabilities",
1601 .user_print = monitor_user_noop,
261394db 1602 .mhandler.cmd_new = do_qmp_capabilities,
4a7e1190
LC
1603 },
1604
1605STEXI
1606@item qmp_capabilities
54d7cf13 1607@findex qmp_capabilities
4a7e1190 1608Enable the specified QMP capabilities
79c4f6b0 1609ETEXI
b40292e7
JK
1610SQMP
1611qmp_capabilities
1612----------------
1613
1614Enable QMP capabilities.
1615
1616Arguments: None.
1617
1618Example:
1619
1620-> { "execute": "qmp_capabilities" }
1621<- { "return": {} }
1622
1623Note: This command must be issued before issuing any other command.
1624
1625EQMP
79c4f6b0 1626
33572ece
JK
1627
1628HXCOMM Keep the 'info' command at the end!
1629HXCOMM This is required for the QMP documentation layout.
1630
b40292e7
JK
1631SQMP
1632
05705ce2 16333. Query Commands
b40292e7
JK
1634=================
1635
1636EQMP
1637
33572ece
JK
1638 {
1639 .name = "info",
1640 .args_type = "item:s?",
1641 .params = "[subcommand]",
1642 .help = "show various information about the system state",
1643 .user_print = monitor_user_noop,
1644 .mhandler.cmd_new = do_info,
1645 },
1646
1647STEXI
1648@item info @var{subcommand}
1649@findex info
1650Show various information about the system state.
1651
1652@table @option
1653@item info version
1654show the version of QEMU
b40292e7
JK
1655ETEXI
1656SQMP
1657query-version
1658-------------
1659
1660Show QEMU version.
1661
1662Return a json-object with the following information:
1663
6597e1a6
MDCF
1664- "qemu": A json-object containing three integer values:
1665 - "major": QEMU's major version (json-int)
1666 - "minor": QEMU's minor version (json-int)
1667 - "micro": QEMU's micro version (json-int)
b40292e7
JK
1668- "package": package's version (json-string)
1669
1670Example:
1671
1672-> { "execute": "query-version" }
6597e1a6
MDCF
1673<- {
1674 "return":{
1675 "qemu":{
1676 "major":0,
1677 "minor":11,
1678 "micro":5
1679 },
1680 "package":""
1681 }
1682 }
b40292e7
JK
1683
1684EQMP
1685
1686STEXI
33572ece
JK
1687@item info commands
1688list QMP available commands
b40292e7
JK
1689ETEXI
1690SQMP
1691query-commands
1692--------------
1693
1694List QMP available commands.
1695
1696Each command is represented by a json-object, the returned value is a json-array
1697of all commands.
1698
1699Each json-object contain:
1700
1701- "name": command's name (json-string)
1702
1703Example:
1704
1705-> { "execute": "query-commands" }
1706<- {
1707 "return":[
1708 {
1709 "name":"query-balloon"
1710 },
1711 {
1712 "name":"system_powerdown"
1713 }
1714 ]
1715 }
1716
1717Note: This example has been shortened as the real response is too long.
1718
1719EQMP
1720
1721STEXI
33572ece
JK
1722@item info network
1723show the various VLANs and the associated devices
b40292e7
JK
1724ETEXI
1725
1726STEXI
33572ece
JK
1727@item info chardev
1728show the character devices
b40292e7
JK
1729ETEXI
1730SQMP
1731query-chardev
1732-------------
1733
1734Each device is represented by a json-object. The returned value is a json-array
1735of all devices.
1736
1737Each json-object contain the following:
1738
1739- "label": device's label (json-string)
1740- "filename": device's file (json-string)
1741
1742Example:
1743
1744-> { "execute": "query-chardev" }
1745<- {
1746 "return":[
1747 {
1748 "label":"monitor",
1749 "filename":"stdio"
1750 },
1751 {
1752 "label":"serial0",
1753 "filename":"vc"
1754 }
1755 ]
1756 }
1757
1758EQMP
1759
1760STEXI
33572ece
JK
1761@item info block
1762show the block devices
b40292e7
JK
1763ETEXI
1764SQMP
1765query-block
1766-----------
1767
1768Show the block devices.
1769
1770Each block device information is stored in a json-object and the returned value
1771is a json-array of all devices.
1772
1773Each json-object contain the following:
1774
1775- "device": device name (json-string)
1776- "type": device type (json-string)
1777 - Possible values: "hd", "cdrom", "floppy", "unknown"
1778- "removable": true if the device is removable, false otherwise (json-bool)
1779- "locked": true if the device is locked, false otherwise (json-bool)
1780- "inserted": only present if the device is inserted, it is a json-object
1781 containing the following:
1782 - "file": device file name (json-string)
1783 - "ro": true if read-only, false otherwise (json-bool)
1784 - "drv": driver format name (json-string)
1785 - Possible values: "blkdebug", "bochs", "cloop", "cow", "dmg",
1786 "file", "file", "ftp", "ftps", "host_cdrom",
1787 "host_device", "host_floppy", "http", "https",
1788 "nbd", "parallels", "qcow", "qcow2", "raw",
1789 "tftp", "vdi", "vmdk", "vpc", "vvfat"
1790 - "backing_file": backing file name (json-string, optional)
1791 - "encrypted": true if encrypted, false otherwise (json-bool)
1792
1793Example:
1794
1795-> { "execute": "query-block" }
1796<- {
1797 "return":[
1798 {
1799 "device":"ide0-hd0",
1800 "locked":false,
1801 "removable":false,
1802 "inserted":{
1803 "ro":false,
1804 "drv":"qcow2",
1805 "encrypted":false,
1806 "file":"disks/test.img"
1807 },
1808 "type":"hd"
1809 },
1810 {
1811 "device":"ide1-cd0",
1812 "locked":false,
1813 "removable":true,
1814 "type":"cdrom"
1815 },
1816 {
1817 "device":"floppy0",
1818 "locked":false,
1819 "removable":true,
1820 "type": "floppy"
1821 },
1822 {
1823 "device":"sd0",
1824 "locked":false,
1825 "removable":true,
1826 "type":"floppy"
1827 }
1828 ]
1829 }
1830
1831EQMP
1832
1833STEXI
33572ece
JK
1834@item info blockstats
1835show block device statistics
b40292e7
JK
1836ETEXI
1837SQMP
1838query-blockstats
1839----------------
1840
1841Show block device statistics.
1842
1843Each device statistic information is stored in a json-object and the returned
1844value is a json-array of all devices.
1845
1846Each json-object contain the following:
1847
1848- "device": device name (json-string)
1849- "stats": A json-object with the statistics information, it contains:
1850 - "rd_bytes": bytes read (json-int)
1851 - "wr_bytes": bytes written (json-int)
1852 - "rd_operations": read operations (json-int)
1853 - "wr_operations": write operations (json-int)
1854 - "wr_highest_offset": Highest offset of a sector written since the
1855 BlockDriverState has been opened (json-int)
1856- "parent": Contains recursively the statistics of the underlying
1857 protocol (e.g. the host file for a qcow2 image). If there is
1858 no underlying protocol, this field is omitted
1859 (json-object, optional)
1860
1861Example:
1862
1863-> { "execute": "query-blockstats" }
1864<- {
1865 "return":[
1866 {
1867 "device":"ide0-hd0",
1868 "parent":{
1869 "stats":{
1870 "wr_highest_offset":3686448128,
1871 "wr_bytes":9786368,
1872 "wr_operations":751,
1873 "rd_bytes":122567168,
1874 "rd_operations":36772
1875 }
1876 },
1877 "stats":{
1878 "wr_highest_offset":2821110784,
1879 "wr_bytes":9786368,
1880 "wr_operations":692,
1881 "rd_bytes":122739200,
1882 "rd_operations":36604
1883 }
1884 },
1885 {
1886 "device":"ide1-cd0",
1887 "stats":{
1888 "wr_highest_offset":0,
1889 "wr_bytes":0,
1890 "wr_operations":0,
1891 "rd_bytes":0,
1892 "rd_operations":0
1893 }
1894 },
1895 {
1896 "device":"floppy0",
1897 "stats":{
1898 "wr_highest_offset":0,
1899 "wr_bytes":0,
1900 "wr_operations":0,
1901 "rd_bytes":0,
1902 "rd_operations":0
1903 }
1904 },
1905 {
1906 "device":"sd0",
1907 "stats":{
1908 "wr_highest_offset":0,
1909 "wr_bytes":0,
1910 "wr_operations":0,
1911 "rd_bytes":0,
1912 "rd_operations":0
1913 }
1914 }
1915 ]
1916 }
1917
1918EQMP
1919
1920STEXI
33572ece
JK
1921@item info registers
1922show the cpu registers
1923@item info cpus
1924show infos for each CPU
b40292e7
JK
1925ETEXI
1926SQMP
1927query-cpus
1928----------
1929
1930Show CPU information.
1931
1932Return a json-array. Each CPU is represented by a json-object, which contains:
1933
1934- "CPU": CPU index (json-int)
1935- "current": true if this is the current CPU, false otherwise (json-bool)
1936- "halted": true if the cpu is halted, false otherwise (json-bool)
1937- Current program counter. The key's name depends on the architecture:
1938 "pc": i386/x86_64 (json-int)
1939 "nip": PPC (json-int)
1940 "pc" and "npc": sparc (json-int)
1941 "PC": mips (json-int)
1942
1943Example:
1944
1945-> { "execute": "query-cpus" }
1946<- {
1947 "return":[
1948 {
1949 "CPU":0,
1950 "current":true,
1951 "halted":false,
1952 "pc":3227107138
1953 },
1954 {
1955 "CPU":1,
1956 "current":false,
1957 "halted":true,
1958 "pc":7108165
1959 }
1960 ]
1961 }
1962
1963EQMP
1964
1965STEXI
33572ece
JK
1966@item info history
1967show the command line history
1968@item info irq
1969show the interrupts statistics (if available)
1970@item info pic
1971show i8259 (PIC) state
b40292e7
JK
1972ETEXI
1973
1974STEXI
33572ece
JK
1975@item info pci
1976show emulated PCI device info
b40292e7
JK
1977ETEXI
1978SQMP
1979query-pci
1980---------
1981
1982PCI buses and devices information.
1983
1984The returned value is a json-array of all buses. Each bus is represented by
1985a json-object, which has a key with a json-array of all PCI devices attached
1986to it. Each device is represented by a json-object.
1987
1988The bus json-object contains the following:
1989
1990- "bus": bus number (json-int)
1991- "devices": a json-array of json-objects, each json-object represents a
1992 PCI device
1993
1994The PCI device json-object contains the following:
1995
1996- "bus": identical to the parent's bus number (json-int)
1997- "slot": slot number (json-int)
1998- "function": function number (json-int)
1999- "class_info": a json-object containing:
2000 - "desc": device class description (json-string, optional)
2001 - "class": device class number (json-int)
2002- "id": a json-object containing:
2003 - "device": device ID (json-int)
2004 - "vendor": vendor ID (json-int)
2005- "irq": device's IRQ if assigned (json-int, optional)
2006- "qdev_id": qdev id string (json-string)
2007- "pci_bridge": It's a json-object, only present if this device is a
2008 PCI bridge, contains:
2009 - "bus": bus number (json-int)
2010 - "secondary": secondary bus number (json-int)
2011 - "subordinate": subordinate bus number (json-int)
2012 - "io_range": I/O memory range information, a json-object with the
2013 following members:
2014 - "base": base address, in bytes (json-int)
2015 - "limit": limit address, in bytes (json-int)
2016 - "memory_range": memory range information, a json-object with the
2017 following members:
2018 - "base": base address, in bytes (json-int)
2019 - "limit": limit address, in bytes (json-int)
2020 - "prefetchable_range": Prefetchable memory range information, a
2021 json-object with the following members:
2022 - "base": base address, in bytes (json-int)
2023 - "limit": limit address, in bytes (json-int)
2024 - "devices": a json-array of PCI devices if there's any attached, each
2025 each element is represented by a json-object, which contains
2026 the same members of the 'PCI device json-object' described
2027 above (optional)
2028- "regions": a json-array of json-objects, each json-object represents a
2029 memory region of this device
2030
2031The memory range json-object contains the following:
2032
2033- "base": base memory address (json-int)
2034- "limit": limit value (json-int)
2035
2036The region json-object can be an I/O region or a memory region, an I/O region
2037json-object contains the following:
2038
2039- "type": "io" (json-string, fixed)
2040- "bar": BAR number (json-int)
2041- "address": memory address (json-int)
2042- "size": memory size (json-int)
2043
2044A memory region json-object contains the following:
2045
2046- "type": "memory" (json-string, fixed)
2047- "bar": BAR number (json-int)
2048- "address": memory address (json-int)
2049- "size": memory size (json-int)
2050- "mem_type_64": true or false (json-bool)
2051- "prefetch": true or false (json-bool)
2052
2053Example:
2054
2055-> { "execute": "query-pci" }
2056<- {
2057 "return":[
2058 {
2059 "bus":0,
2060 "devices":[
2061 {
2062 "bus":0,
2063 "qdev_id":"",
2064 "slot":0,
2065 "class_info":{
2066 "class":1536,
2067 "desc":"Host bridge"
2068 },
2069 "id":{
2070 "device":32902,
2071 "vendor":4663
2072 },
2073 "function":0,
2074 "regions":[
2075
2076 ]
2077 },
2078 {
2079 "bus":0,
2080 "qdev_id":"",
2081 "slot":1,
2082 "class_info":{
2083 "class":1537,
2084 "desc":"ISA bridge"
2085 },
2086 "id":{
2087 "device":32902,
2088 "vendor":28672
2089 },
2090 "function":0,
2091 "regions":[
2092
2093 ]
2094 },
2095 {
2096 "bus":0,
2097 "qdev_id":"",
2098 "slot":1,
2099 "class_info":{
2100 "class":257,
2101 "desc":"IDE controller"
2102 },
2103 "id":{
2104 "device":32902,
2105 "vendor":28688
2106 },
2107 "function":1,
2108 "regions":[
2109 {
2110 "bar":4,
2111 "size":16,
2112 "address":49152,
2113 "type":"io"
2114 }
2115 ]
2116 },
2117 {
2118 "bus":0,
2119 "qdev_id":"",
2120 "slot":2,
2121 "class_info":{
2122 "class":768,
2123 "desc":"VGA controller"
2124 },
2125 "id":{
2126 "device":4115,
2127 "vendor":184
2128 },
2129 "function":0,
2130 "regions":[
2131 {
2132 "prefetch":true,
2133 "mem_type_64":false,
2134 "bar":0,
2135 "size":33554432,
2136 "address":4026531840,
2137 "type":"memory"
2138 },
2139 {
2140 "prefetch":false,
2141 "mem_type_64":false,
2142 "bar":1,
2143 "size":4096,
2144 "address":4060086272,
2145 "type":"memory"
2146 },
2147 {
2148 "prefetch":false,
2149 "mem_type_64":false,
2150 "bar":6,
2151 "size":65536,
2152 "address":-1,
2153 "type":"memory"
2154 }
2155 ]
2156 },
2157 {
2158 "bus":0,
2159 "qdev_id":"",
2160 "irq":11,
2161 "slot":4,
2162 "class_info":{
2163 "class":1280,
2164 "desc":"RAM controller"
2165 },
2166 "id":{
2167 "device":6900,
2168 "vendor":4098
2169 },
2170 "function":0,
2171 "regions":[
2172 {
2173 "bar":0,
2174 "size":32,
2175 "address":49280,
2176 "type":"io"
2177 }
2178 ]
2179 }
2180 ]
2181 }
2182 ]
2183 }
2184
2185Note: This example has been shortened as the real response is too long.
2186
2187EQMP
2188
2189STEXI
33572ece
JK
2190@item info tlb
2191show virtual to physical memory mappings (i386 only)
2192@item info mem
2193show the active virtual memory mappings (i386 only)
b40292e7
JK
2194ETEXI
2195
b40292e7 2196STEXI
33572ece
JK
2197@item info jit
2198show dynamic compiler info
2199@item info kvm
2200show KVM information
2201@item info numa
2202show NUMA information
b40292e7
JK
2203ETEXI
2204
2205STEXI
2206@item info kvm
2207show KVM information
2208ETEXI
2209SQMP
2210query-kvm
2211---------
2212
2213Show KVM information.
2214
2215Return a json-object with the following information:
2216
2217- "enabled": true if KVM support is enabled, false otherwise (json-bool)
2218- "present": true if QEMU has KVM support, false otherwise (json-bool)
2219
2220Example:
2221
2222-> { "execute": "query-kvm" }
2223<- { "return": { "enabled": true, "present": true } }
2224
2225EQMP
2226
2227STEXI
33572ece
JK
2228@item info usb
2229show USB devices plugged on the virtual USB hub
2230@item info usbhost
2231show all USB host devices
2232@item info profile
2233show profiling information
2234@item info capture
2235show information about active capturing
2236@item info snapshots
2237show list of VM snapshots
b40292e7
JK
2238ETEXI
2239
2240STEXI
33572ece
JK
2241@item info status
2242show the current VM status (running|paused)
b40292e7
JK
2243ETEXI
2244SQMP
2245query-status
2246------------
2247
2248Return a json-object with the following information:
2249
2250- "running": true if the VM is running, or false if it is paused (json-bool)
2251- "singlestep": true if the VM is in single step mode,
2252 false otherwise (json-bool)
2253
2254Example:
2255
2256-> { "execute": "query-status" }
2257<- { "return": { "running": true, "singlestep": false } }
2258
2259EQMP
2260
2261STEXI
33572ece
JK
2262@item info pcmcia
2263show guest PCMCIA status
b40292e7
JK
2264ETEXI
2265
2266STEXI
33572ece
JK
2267@item info mice
2268show which guest mouse is receiving events
b40292e7
JK
2269ETEXI
2270SQMP
2271query-mice
2272----------
2273
2274Show VM mice information.
2275
2276Each mouse is represented by a json-object, the returned value is a json-array
2277of all mice.
2278
2279The mouse json-object contains the following:
2280
2281- "name": mouse's name (json-string)
2282- "index": mouse's index (json-int)
2283- "current": true if this mouse is receiving events, false otherwise (json-bool)
2284- "absolute": true if the mouse generates absolute input events (json-bool)
2285
2286Example:
2287
2288-> { "execute": "query-mice" }
2289<- {
2290 "return":[
2291 {
2292 "name":"QEMU Microsoft Mouse",
2293 "index":0,
2294 "current":false,
2295 "absolute":false
2296 },
2297 {
2298 "name":"QEMU PS/2 Mouse",
2299 "index":1,
2300 "current":true,
2301 "absolute":true
2302 }
2303 ]
2304 }
2305
2306EQMP
2307
2308STEXI
33572ece
JK
2309@item info vnc
2310show the vnc server status
b40292e7
JK
2311ETEXI
2312SQMP
2313query-vnc
2314---------
2315
2316Show VNC server information.
2317
2318Return a json-object with server information. Connected clients are returned
2319as a json-array of json-objects.
2320
2321The main json-object contains the following:
2322
2323- "enabled": true or false (json-bool)
2324- "host": server's IP address (json-string)
2325- "family": address family (json-string)
2326 - Possible values: "ipv4", "ipv6", "unix", "unknown"
2327- "service": server's port number (json-string)
2328- "auth": authentication method (json-string)
2329 - Possible values: "invalid", "none", "ra2", "ra2ne", "sasl", "tight",
2330 "tls", "ultra", "unknown", "vencrypt", "vencrypt",
2331 "vencrypt+plain", "vencrypt+tls+none",
2332 "vencrypt+tls+plain", "vencrypt+tls+sasl",
2333 "vencrypt+tls+vnc", "vencrypt+x509+none",
2334 "vencrypt+x509+plain", "vencrypt+x509+sasl",
2335 "vencrypt+x509+vnc", "vnc"
2336- "clients": a json-array of all connected clients
2337
2338Clients are described by a json-object, each one contain the following:
2339
2340- "host": client's IP address (json-string)
2341- "family": address family (json-string)
2342 - Possible values: "ipv4", "ipv6", "unix", "unknown"
2343- "service": client's port number (json-string)
2344- "x509_dname": TLS dname (json-string, optional)
2345- "sasl_username": SASL username (json-string, optional)
2346
2347Example:
2348
2349-> { "execute": "query-vnc" }
2350<- {
2351 "return":{
2352 "enabled":true,
2353 "host":"0.0.0.0",
2354 "service":"50402",
2355 "auth":"vnc",
2356 "family":"ipv4",
2357 "clients":[
2358 {
2359 "host":"127.0.0.1",
2360 "service":"50401",
2361 "family":"ipv4"
2362 }
2363 ]
2364 }
2365 }
2366
2367EQMP
2368
2369STEXI
33572ece
JK
2370@item info name
2371show the current VM name
b40292e7
JK
2372ETEXI
2373SQMP
2374query-name
2375----------
2376
2377Show VM name.
2378
2379Return a json-object with the following information:
2380
2381- "name": VM's name (json-string, optional)
2382
2383Example:
2384
2385-> { "execute": "query-name" }
2386<- { "return": { "name": "qemu-name" } }
2387
2388EQMP
2389
2390STEXI
33572ece
JK
2391@item info uuid
2392show the current VM UUID
b40292e7
JK
2393ETEXI
2394SQMP
2395query-uuid
2396----------
2397
2398Show VM UUID.
2399
2400Return a json-object with the following information:
2401
2402- "UUID": Universally Unique Identifier (json-string)
2403
2404Example:
2405
2406-> { "execute": "query-uuid" }
2407<- { "return": { "UUID": "550e8400-e29b-41d4-a716-446655440000" } }
2408
2409EQMP
2410
2411STEXI
33572ece
JK
2412@item info cpustats
2413show CPU statistics
2414@item info usernet
2415show user network stack connection states
b40292e7
JK
2416ETEXI
2417
2418STEXI
33572ece
JK
2419@item info migrate
2420show migration status
b40292e7
JK
2421ETEXI
2422SQMP
2423query-migrate
2424-------------
2425
2426Migration status.
2427
2428Return a json-object. If migration is active there will be another json-object
2429with RAM migration status and if block migration is active another one with
2430block migration status.
2431
2432The main json-object contains the following:
2433
2434- "status": migration status (json-string)
2435 - Possible values: "active", "completed", "failed", "cancelled"
2436- "ram": only present if "status" is "active", it is a json-object with the
2437 following RAM information (in bytes):
2438 - "transferred": amount transferred (json-int)
2439 - "remaining": amount remaining (json-int)
2440 - "total": total (json-int)
2441- "disk": only present if "status" is "active" and it is a block migration,
2442 it is a json-object with the following disk information (in bytes):
2443 - "transferred": amount transferred (json-int)
2444 - "remaining": amount remaining (json-int)
2445 - "total": total (json-int)
2446
2447Examples:
2448
24491. Before the first migration
2450
2451-> { "execute": "query-migrate" }
2452<- { "return": {} }
2453
24542. Migration is done and has succeeded
2455
2456-> { "execute": "query-migrate" }
2457<- { "return": { "status": "completed" } }
2458
24593. Migration is done and has failed
2460
2461-> { "execute": "query-migrate" }
2462<- { "return": { "status": "failed" } }
2463
24644. Migration is being performed and is not a block migration:
2465
2466-> { "execute": "query-migrate" }
2467<- {
2468 "return":{
2469 "status":"active",
2470 "ram":{
2471 "transferred":123,
2472 "remaining":123,
2473 "total":246
2474 }
2475 }
2476 }
2477
24785. Migration is being performed and is a block migration:
2479
2480-> { "execute": "query-migrate" }
2481<- {
2482 "return":{
2483 "status":"active",
2484 "ram":{
2485 "total":1057024,
2486 "remaining":1053304,
2487 "transferred":3720
2488 },
2489 "disk":{
2490 "total":20971520,
2491 "remaining":20880384,
2492 "transferred":91136
2493 }
2494 }
2495 }
2496
2497EQMP
2498
2499STEXI
33572ece
JK
2500@item info balloon
2501show balloon information
b40292e7
JK
2502ETEXI
2503SQMP
2504query-balloon
2505-------------
2506
2507Show balloon information.
2508
2509Make an asynchronous request for balloon info. When the request completes a
2510json-object will be returned containing the following data:
2511
2512- "actual": current balloon value in bytes (json-int)
2513- "mem_swapped_in": Amount of memory swapped in bytes (json-int, optional)
2514- "mem_swapped_out": Amount of memory swapped out in bytes (json-int, optional)
2515- "major_page_faults": Number of major faults (json-int, optional)
2516- "minor_page_faults": Number of minor faults (json-int, optional)
2517- "free_mem": Total amount of free and unused memory in
2518 bytes (json-int, optional)
2519- "total_mem": Total amount of available memory in bytes (json-int, optional)
2520
2521Example:
2522
2523-> { "execute": "query-balloon" }
2524<- {
2525 "return":{
2526 "actual":1073741824,
2527 "mem_swapped_in":0,
2528 "mem_swapped_out":0,
2529 "major_page_faults":142,
2530 "minor_page_faults":239245,
2531 "free_mem":1014185984,
2532 "total_mem":1044668416
2533 }
2534 }
2535
2536EQMP
2537
2538STEXI
33572ece
JK
2539@item info qtree
2540show device tree
2541@item info qdm
2542show qdev device model list
2543@item info roms
2544show roms
2545@end table
2546ETEXI
2547
22890ab5
PS
2548#ifdef CONFIG_SIMPLE_TRACE
2549STEXI
2550@item info trace
2551show contents of trace buffer
2552@item info trace-events
2553show available trace events and their state
2554ETEXI
2555#endif
2556
33572ece
JK
2557HXCOMM DO NOT add new commands after 'info', move your addition before it!
2558
2313086a
BS
2559STEXI
2560@end table
2561ETEXI