]> Git Repo - qemu.git/blob - hmp-commands.hx
5f09594756fdd244285cc602a360f5afc0be6446
[qemu.git] / hmp-commands.hx
1 HXCOMM Use DEFHEADING() to define headings in both help text and texi
2 HXCOMM Text between STEXI and ETEXI are copied to texi version and
3 HXCOMM discarded from C version
4 HXCOMM DEF(command, args, callback, arg_string, help) is used to construct
5 HXCOMM monitor commands
6 HXCOMM HXCOMM can be used for comments, discarded from both texi and C
7
8 STEXI
9 @table @option
10 ETEXI
11
12     {
13         .name       = "help|?",
14         .args_type  = "name:s?",
15         .params     = "[cmd]",
16         .help       = "show the help",
17         .mhandler.cmd = do_help_cmd,
18     },
19
20 STEXI
21 @item help or ? [@var{cmd}]
22 @findex help
23 Show the help for all commands or just for command @var{cmd}.
24 ETEXI
25
26     {
27         .name       = "commit",
28         .args_type  = "device:B",
29         .params     = "device|all",
30         .help       = "commit changes to the disk images (if -snapshot is used) or backing files",
31         .mhandler.cmd = do_commit,
32     },
33
34 STEXI
35 @item commit
36 @findex commit
37 Commit changes to the disk images (if -snapshot is used) or backing files.
38 ETEXI
39
40     {
41         .name       = "q|quit",
42         .args_type  = "",
43         .params     = "",
44         .help       = "quit the emulator",
45         .user_print = monitor_user_noop,
46         .mhandler.cmd = hmp_quit,
47     },
48
49 STEXI
50 @item q or quit
51 @findex quit
52 Quit the emulator.
53 ETEXI
54
55     {
56         .name       = "block_resize",
57         .args_type  = "device:B,size:o",
58         .params     = "device size",
59         .help       = "resize a block image",
60         .mhandler.cmd = hmp_block_resize,
61     },
62
63 STEXI
64 @item block_resize
65 @findex block_resize
66 Resize a block image while a guest is running.  Usually requires guest
67 action to see the updated size.  Resize to a lower size is supported,
68 but should be used with extreme caution.  Note that this command only
69 resizes image files, it can not resize block devices like LVM volumes.
70 ETEXI
71
72     {
73         .name       = "block_stream",
74         .args_type  = "device:B,base:s?",
75         .params     = "device [base]",
76         .help       = "copy data from a backing file into a block device",
77         .mhandler.cmd = hmp_block_stream,
78     },
79
80 STEXI
81 @item block_stream
82 @findex block_stream
83 Copy data from a backing file into a block device.
84 ETEXI
85
86     {
87         .name       = "eject",
88         .args_type  = "force:-f,device:B",
89         .params     = "[-f] device",
90         .help       = "eject a removable medium (use -f to force it)",
91         .mhandler.cmd = hmp_eject,
92     },
93
94 STEXI
95 @item eject [-f] @var{device}
96 @findex eject
97 Eject a removable medium (use -f to force it).
98 ETEXI
99
100     {
101         .name       = "drive_del",
102         .args_type  = "id:s",
103         .params     = "device",
104         .help       = "remove host block device",
105         .user_print = monitor_user_noop,
106         .mhandler.cmd_new = do_drive_del,
107     },
108
109 STEXI
110 @item drive_del @var{device}
111 @findex drive_del
112 Remove host block device.  The result is that guest generated IO is no longer
113 submitted against the host device underlying the disk.  Once a drive has
114 been deleted, the QEMU Block layer returns -EIO which results in IO
115 errors in the guest for applications that are reading/writing to the device.
116 ETEXI
117
118     {
119         .name       = "change",
120         .args_type  = "device:B,target:F,arg:s?",
121         .params     = "device filename [format]",
122         .help       = "change a removable medium, optional format",
123         .mhandler.cmd = hmp_change,
124     },
125
126 STEXI
127 @item change @var{device} @var{setting}
128 @findex change
129
130 Change the configuration of a device.
131
132 @table @option
133 @item change @var{diskdevice} @var{filename} [@var{format}]
134 Change the medium for a removable disk device to point to @var{filename}. eg
135
136 @example
137 (qemu) change ide1-cd0 /path/to/some.iso
138 @end example
139
140 @var{format} is optional.
141
142 @item change vnc @var{display},@var{options}
143 Change the configuration of the VNC server. The valid syntax for @var{display}
144 and @var{options} are described at @ref{sec_invocation}. eg
145
146 @example
147 (qemu) change vnc localhost:1
148 @end example
149
150 @item change vnc password [@var{password}]
151
152 Change the password associated with the VNC server. If the new password is not
153 supplied, the monitor will prompt for it to be entered. VNC passwords are only
154 significant up to 8 letters. eg
155
156 @example
157 (qemu) change vnc password
158 Password: ********
159 @end example
160
161 @end table
162 ETEXI
163
164     {
165         .name       = "screendump",
166         .args_type  = "filename:F",
167         .params     = "filename",
168         .help       = "save screen into PPM image 'filename'",
169         .user_print = monitor_user_noop,
170         .mhandler.cmd_new = do_screen_dump,
171     },
172
173 STEXI
174 @item screendump @var{filename}
175 @findex screendump
176 Save screen into PPM image @var{filename}.
177 ETEXI
178
179     {
180         .name       = "logfile",
181         .args_type  = "filename:F",
182         .params     = "filename",
183         .help       = "output logs to 'filename'",
184         .mhandler.cmd = do_logfile,
185     },
186
187 STEXI
188 @item logfile @var{filename}
189 @findex logfile
190 Output logs to @var{filename}.
191 ETEXI
192
193     {
194         .name       = "trace-event",
195         .args_type  = "name:s,option:b",
196         .params     = "name on|off",
197         .help       = "changes status of a specific trace event",
198         .mhandler.cmd = do_trace_event_set_state,
199     },
200
201 STEXI
202 @item trace-event
203 @findex trace-event
204 changes status of a trace event
205 ETEXI
206
207 #if defined(CONFIG_TRACE_SIMPLE)
208     {
209         .name       = "trace-file",
210         .args_type  = "op:s?,arg:F?",
211         .params     = "on|off|flush|set [arg]",
212         .help       = "open, close, or flush trace file, or set a new file name",
213         .mhandler.cmd = do_trace_file,
214     },
215
216 STEXI
217 @item trace-file on|off|flush
218 @findex trace-file
219 Open, close, or flush the trace file.  If no argument is given, the status of the trace file is displayed.
220 ETEXI
221 #endif
222
223     {
224         .name       = "log",
225         .args_type  = "items:s",
226         .params     = "item1[,...]",
227         .help       = "activate logging of the specified items to '/tmp/qemu.log'",
228         .mhandler.cmd = do_log,
229     },
230
231 STEXI
232 @item log @var{item1}[,...]
233 @findex log
234 Activate logging of the specified items to @file{/tmp/qemu.log}.
235 ETEXI
236
237     {
238         .name       = "savevm",
239         .args_type  = "name:s?",
240         .params     = "[tag|id]",
241         .help       = "save a VM snapshot. If no tag or id are provided, a new snapshot is created",
242         .mhandler.cmd = do_savevm,
243     },
244
245 STEXI
246 @item savevm [@var{tag}|@var{id}]
247 @findex savevm
248 Create a snapshot of the whole virtual machine. If @var{tag} is
249 provided, it is used as human readable identifier. If there is already
250 a snapshot with the same tag or ID, it is replaced. More info at
251 @ref{vm_snapshots}.
252 ETEXI
253
254     {
255         .name       = "loadvm",
256         .args_type  = "name:s",
257         .params     = "tag|id",
258         .help       = "restore a VM snapshot from its tag or id",
259         .mhandler.cmd = do_loadvm,
260     },
261
262 STEXI
263 @item loadvm @var{tag}|@var{id}
264 @findex loadvm
265 Set the whole virtual machine to the snapshot identified by the tag
266 @var{tag} or the unique snapshot ID @var{id}.
267 ETEXI
268
269     {
270         .name       = "delvm",
271         .args_type  = "name:s",
272         .params     = "tag|id",
273         .help       = "delete a VM snapshot from its tag or id",
274         .mhandler.cmd = do_delvm,
275     },
276
277 STEXI
278 @item delvm @var{tag}|@var{id}
279 @findex delvm
280 Delete the snapshot identified by @var{tag} or @var{id}.
281 ETEXI
282
283     {
284         .name       = "singlestep",
285         .args_type  = "option:s?",
286         .params     = "[on|off]",
287         .help       = "run emulation in singlestep mode or switch to normal mode",
288         .mhandler.cmd = do_singlestep,
289     },
290
291 STEXI
292 @item singlestep [off]
293 @findex singlestep
294 Run the emulation in single step mode.
295 If called with option off, the emulation returns to normal mode.
296 ETEXI
297
298     {
299         .name       = "stop",
300         .args_type  = "",
301         .params     = "",
302         .help       = "stop emulation",
303         .mhandler.cmd = hmp_stop,
304     },
305
306 STEXI
307 @item stop
308 @findex stop
309 Stop emulation.
310 ETEXI
311
312     {
313         .name       = "c|cont",
314         .args_type  = "",
315         .params     = "",
316         .help       = "resume emulation",
317         .mhandler.cmd = hmp_cont,
318     },
319
320 STEXI
321 @item c or cont
322 @findex cont
323 Resume emulation.
324 ETEXI
325
326     {
327         .name       = "gdbserver",
328         .args_type  = "device:s?",
329         .params     = "[device]",
330         .help       = "start gdbserver on given device (default 'tcp::1234'), stop with 'none'",
331         .mhandler.cmd = do_gdbserver,
332     },
333
334 STEXI
335 @item gdbserver [@var{port}]
336 @findex gdbserver
337 Start gdbserver session (default @var{port}=1234)
338 ETEXI
339
340     {
341         .name       = "x",
342         .args_type  = "fmt:/,addr:l",
343         .params     = "/fmt addr",
344         .help       = "virtual memory dump starting at 'addr'",
345         .mhandler.cmd = do_memory_dump,
346     },
347
348 STEXI
349 @item x/fmt @var{addr}
350 @findex x
351 Virtual memory dump starting at @var{addr}.
352 ETEXI
353
354     {
355         .name       = "xp",
356         .args_type  = "fmt:/,addr:l",
357         .params     = "/fmt addr",
358         .help       = "physical memory dump starting at 'addr'",
359         .mhandler.cmd = do_physical_memory_dump,
360     },
361
362 STEXI
363 @item xp /@var{fmt} @var{addr}
364 @findex xp
365 Physical memory dump starting at @var{addr}.
366
367 @var{fmt} is a format which tells the command how to format the
368 data. Its syntax is: @option{/@{count@}@{format@}@{size@}}
369
370 @table @var
371 @item count
372 is the number of items to be dumped.
373
374 @item format
375 can be x (hex), d (signed decimal), u (unsigned decimal), o (octal),
376 c (char) or i (asm instruction).
377
378 @item size
379 can be b (8 bits), h (16 bits), w (32 bits) or g (64 bits). On x86,
380 @code{h} or @code{w} can be specified with the @code{i} format to
381 respectively select 16 or 32 bit code instruction size.
382
383 @end table
384
385 Examples:
386 @itemize
387 @item
388 Dump 10 instructions at the current instruction pointer:
389 @example
390 (qemu) x/10i $eip
391 0x90107063:  ret
392 0x90107064:  sti
393 0x90107065:  lea    0x0(%esi,1),%esi
394 0x90107069:  lea    0x0(%edi,1),%edi
395 0x90107070:  ret
396 0x90107071:  jmp    0x90107080
397 0x90107073:  nop
398 0x90107074:  nop
399 0x90107075:  nop
400 0x90107076:  nop
401 @end example
402
403 @item
404 Dump 80 16 bit values at the start of the video memory.
405 @smallexample
406 (qemu) xp/80hx 0xb8000
407 0x000b8000: 0x0b50 0x0b6c 0x0b65 0x0b78 0x0b38 0x0b36 0x0b2f 0x0b42
408 0x000b8010: 0x0b6f 0x0b63 0x0b68 0x0b73 0x0b20 0x0b56 0x0b47 0x0b41
409 0x000b8020: 0x0b42 0x0b69 0x0b6f 0x0b73 0x0b20 0x0b63 0x0b75 0x0b72
410 0x000b8030: 0x0b72 0x0b65 0x0b6e 0x0b74 0x0b2d 0x0b63 0x0b76 0x0b73
411 0x000b8040: 0x0b20 0x0b30 0x0b35 0x0b20 0x0b4e 0x0b6f 0x0b76 0x0b20
412 0x000b8050: 0x0b32 0x0b30 0x0b30 0x0b33 0x0720 0x0720 0x0720 0x0720
413 0x000b8060: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
414 0x000b8070: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
415 0x000b8080: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
416 0x000b8090: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
417 @end smallexample
418 @end itemize
419 ETEXI
420
421     {
422         .name       = "p|print",
423         .args_type  = "fmt:/,val:l",
424         .params     = "/fmt expr",
425         .help       = "print expression value (use $reg for CPU register access)",
426         .mhandler.cmd = do_print,
427     },
428
429 STEXI
430 @item p or print/@var{fmt} @var{expr}
431 @findex print
432
433 Print expression value. Only the @var{format} part of @var{fmt} is
434 used.
435 ETEXI
436
437     {
438         .name       = "i",
439         .args_type  = "fmt:/,addr:i,index:i.",
440         .params     = "/fmt addr",
441         .help       = "I/O port read",
442         .mhandler.cmd = do_ioport_read,
443     },
444
445 STEXI
446 Read I/O port.
447 ETEXI
448
449     {
450         .name       = "o",
451         .args_type  = "fmt:/,addr:i,val:i",
452         .params     = "/fmt addr value",
453         .help       = "I/O port write",
454         .mhandler.cmd = do_ioport_write,
455     },
456
457 STEXI
458 Write to I/O port.
459 ETEXI
460
461     {
462         .name       = "sendkey",
463         .args_type  = "string:s,hold_time:i?",
464         .params     = "keys [hold_ms]",
465         .help       = "send keys to the VM (e.g. 'sendkey ctrl-alt-f1', default hold time=100 ms)",
466         .mhandler.cmd = do_sendkey,
467     },
468
469 STEXI
470 @item sendkey @var{keys}
471 @findex sendkey
472
473 Send @var{keys} to the emulator. @var{keys} could be the name of the
474 key or @code{#} followed by the raw value in either decimal or hexadecimal
475 format. Use @code{-} to press several keys simultaneously. Example:
476 @example
477 sendkey ctrl-alt-f1
478 @end example
479
480 This command is useful to send keys that your graphical user interface
481 intercepts at low level, such as @code{ctrl-alt-f1} in X Window.
482 ETEXI
483
484     {
485         .name       = "system_reset",
486         .args_type  = "",
487         .params     = "",
488         .help       = "reset the system",
489         .mhandler.cmd = hmp_system_reset,
490     },
491
492 STEXI
493 @item system_reset
494 @findex system_reset
495
496 Reset the system.
497 ETEXI
498
499     {
500         .name       = "system_powerdown",
501         .args_type  = "",
502         .params     = "",
503         .help       = "send system power down event",
504         .mhandler.cmd = hmp_system_powerdown,
505     },
506
507 STEXI
508 @item system_powerdown
509 @findex system_powerdown
510
511 Power down the system (if supported).
512 ETEXI
513
514     {
515         .name       = "sum",
516         .args_type  = "start:i,size:i",
517         .params     = "addr size",
518         .help       = "compute the checksum of a memory region",
519         .mhandler.cmd = do_sum,
520     },
521
522 STEXI
523 @item sum @var{addr} @var{size}
524 @findex sum
525
526 Compute the checksum of a memory region.
527 ETEXI
528
529     {
530         .name       = "usb_add",
531         .args_type  = "devname:s",
532         .params     = "device",
533         .help       = "add USB device (e.g. 'host:bus.addr' or 'host:vendor_id:product_id')",
534         .mhandler.cmd = do_usb_add,
535     },
536
537 STEXI
538 @item usb_add @var{devname}
539 @findex usb_add
540
541 Add the USB device @var{devname}.  For details of available devices see
542 @ref{usb_devices}
543 ETEXI
544
545     {
546         .name       = "usb_del",
547         .args_type  = "devname:s",
548         .params     = "device",
549         .help       = "remove USB device 'bus.addr'",
550         .mhandler.cmd = do_usb_del,
551     },
552
553 STEXI
554 @item usb_del @var{devname}
555 @findex usb_del
556
557 Remove the USB device @var{devname} from the QEMU virtual USB
558 hub. @var{devname} has the syntax @code{bus.addr}. Use the monitor
559 command @code{info usb} to see the devices you can remove.
560 ETEXI
561
562     {
563         .name       = "device_add",
564         .args_type  = "device:O",
565         .params     = "driver[,prop=value][,...]",
566         .help       = "add device, like -device on the command line",
567         .user_print = monitor_user_noop,
568         .mhandler.cmd_new = do_device_add,
569     },
570
571 STEXI
572 @item device_add @var{config}
573 @findex device_add
574
575 Add device.
576 ETEXI
577
578     {
579         .name       = "device_del",
580         .args_type  = "id:s",
581         .params     = "device",
582         .help       = "remove device",
583         .user_print = monitor_user_noop,
584         .mhandler.cmd_new = do_device_del,
585     },
586
587 STEXI
588 @item device_del @var{id}
589 @findex device_del
590
591 Remove device @var{id}.
592 ETEXI
593
594     {
595         .name       = "cpu",
596         .args_type  = "index:i",
597         .params     = "index",
598         .help       = "set the default CPU",
599         .mhandler.cmd = hmp_cpu,
600     },
601
602 STEXI
603 @item cpu @var{index}
604 @findex cpu
605 Set the default CPU.
606 ETEXI
607
608     {
609         .name       = "mouse_move",
610         .args_type  = "dx_str:s,dy_str:s,dz_str:s?",
611         .params     = "dx dy [dz]",
612         .help       = "send mouse move events",
613         .mhandler.cmd = do_mouse_move,
614     },
615
616 STEXI
617 @item mouse_move @var{dx} @var{dy} [@var{dz}]
618 @findex mouse_move
619 Move the active mouse to the specified coordinates @var{dx} @var{dy}
620 with optional scroll axis @var{dz}.
621 ETEXI
622
623     {
624         .name       = "mouse_button",
625         .args_type  = "button_state:i",
626         .params     = "state",
627         .help       = "change mouse button state (1=L, 2=M, 4=R)",
628         .mhandler.cmd = do_mouse_button,
629     },
630
631 STEXI
632 @item mouse_button @var{val}
633 @findex mouse_button
634 Change the active mouse button state @var{val} (1=L, 2=M, 4=R).
635 ETEXI
636
637     {
638         .name       = "mouse_set",
639         .args_type  = "index:i",
640         .params     = "index",
641         .help       = "set which mouse device receives events",
642         .mhandler.cmd = do_mouse_set,
643     },
644
645 STEXI
646 @item mouse_set @var{index}
647 @findex mouse_set
648 Set which mouse device receives events at given @var{index}, index
649 can be obtained with
650 @example
651 info mice
652 @end example
653 ETEXI
654
655 #ifdef HAS_AUDIO
656     {
657         .name       = "wavcapture",
658         .args_type  = "path:F,freq:i?,bits:i?,nchannels:i?",
659         .params     = "path [frequency [bits [channels]]]",
660         .help       = "capture audio to a wave file (default frequency=44100 bits=16 channels=2)",
661         .mhandler.cmd = do_wav_capture,
662     },
663 #endif
664 STEXI
665 @item wavcapture @var{filename} [@var{frequency} [@var{bits} [@var{channels}]]]
666 @findex wavcapture
667 Capture audio into @var{filename}. Using sample rate @var{frequency}
668 bits per sample @var{bits} and number of channels @var{channels}.
669
670 Defaults:
671 @itemize @minus
672 @item Sample rate = 44100 Hz - CD quality
673 @item Bits = 16
674 @item Number of channels = 2 - Stereo
675 @end itemize
676 ETEXI
677
678 #ifdef HAS_AUDIO
679     {
680         .name       = "stopcapture",
681         .args_type  = "n:i",
682         .params     = "capture index",
683         .help       = "stop capture",
684         .mhandler.cmd = do_stop_capture,
685     },
686 #endif
687 STEXI
688 @item stopcapture @var{index}
689 @findex stopcapture
690 Stop capture with a given @var{index}, index can be obtained with
691 @example
692 info capture
693 @end example
694 ETEXI
695
696     {
697         .name       = "memsave",
698         .args_type  = "val:l,size:i,filename:s",
699         .params     = "addr size file",
700         .help       = "save to disk virtual memory dump starting at 'addr' of size 'size'",
701         .mhandler.cmd = hmp_memsave,
702     },
703
704 STEXI
705 @item memsave @var{addr} @var{size} @var{file}
706 @findex memsave
707 save to disk virtual memory dump starting at @var{addr} of size @var{size}.
708 ETEXI
709
710     {
711         .name       = "pmemsave",
712         .args_type  = "val:l,size:i,filename:s",
713         .params     = "addr size file",
714         .help       = "save to disk physical memory dump starting at 'addr' of size 'size'",
715         .mhandler.cmd = hmp_pmemsave,
716     },
717
718 STEXI
719 @item pmemsave @var{addr} @var{size} @var{file}
720 @findex pmemsave
721 save to disk physical memory dump starting at @var{addr} of size @var{size}.
722 ETEXI
723
724     {
725         .name       = "boot_set",
726         .args_type  = "bootdevice:s",
727         .params     = "bootdevice",
728         .help       = "define new values for the boot device list",
729         .mhandler.cmd = do_boot_set,
730     },
731
732 STEXI
733 @item boot_set @var{bootdevicelist}
734 @findex boot_set
735
736 Define new values for the boot device list. Those values will override
737 the values specified on the command line through the @code{-boot} option.
738
739 The values that can be specified here depend on the machine type, but are
740 the same that can be specified in the @code{-boot} command line option.
741 ETEXI
742
743 #if defined(TARGET_I386)
744     {
745         .name       = "nmi",
746         .args_type  = "",
747         .params     = "",
748         .help       = "inject an NMI on all guest's CPUs",
749         .mhandler.cmd = hmp_inject_nmi,
750     },
751 #endif
752 STEXI
753 @item nmi @var{cpu}
754 @findex nmi
755 Inject an NMI on the given CPU (x86 only).
756 ETEXI
757
758     {
759         .name       = "migrate",
760         .args_type  = "detach:-d,blk:-b,inc:-i,uri:s",
761         .params     = "[-d] [-b] [-i] uri",
762         .help       = "migrate to URI (using -d to not wait for completion)"
763                       "\n\t\t\t -b for migration without shared storage with"
764                       " full copy of disk\n\t\t\t -i for migration without "
765                       "shared storage with incremental copy of disk "
766                       "(base image shared between src and destination)",
767         .user_print = monitor_user_noop,        
768         .mhandler.cmd_new = do_migrate,
769     },
770
771
772 STEXI
773 @item migrate [-d] [-b] [-i] @var{uri}
774 @findex migrate
775 Migrate to @var{uri} (using -d to not wait for completion).
776         -b for migration with full copy of disk
777         -i for migration with incremental copy of disk (base image is shared)
778 ETEXI
779
780     {
781         .name       = "migrate_cancel",
782         .args_type  = "",
783         .params     = "",
784         .help       = "cancel the current VM migration",
785         .mhandler.cmd = hmp_migrate_cancel,
786     },
787
788 STEXI
789 @item migrate_cancel
790 @findex migrate_cancel
791 Cancel the current VM migration.
792 ETEXI
793
794     {
795         .name       = "migrate_set_speed",
796         .args_type  = "value:o",
797         .params     = "value",
798         .help       = "set maximum speed (in bytes) for migrations. "
799         "Defaults to MB if no size suffix is specified, ie. B/K/M/G/T",
800         .mhandler.cmd = hmp_migrate_set_speed,
801     },
802
803 STEXI
804 @item migrate_set_speed @var{value}
805 @findex migrate_set_speed
806 Set maximum speed to @var{value} (in bytes) for migrations.
807 ETEXI
808
809     {
810         .name       = "migrate_set_downtime",
811         .args_type  = "value:T",
812         .params     = "value",
813         .help       = "set maximum tolerated downtime (in seconds) for migrations",
814         .mhandler.cmd = hmp_migrate_set_downtime,
815     },
816
817 STEXI
818 @item migrate_set_downtime @var{second}
819 @findex migrate_set_downtime
820 Set maximum tolerated downtime (in seconds) for migration.
821 ETEXI
822
823     {
824         .name       = "client_migrate_info",
825         .args_type  = "protocol:s,hostname:s,port:i?,tls-port:i?,cert-subject:s?",
826         .params     = "protocol hostname port tls-port cert-subject",
827         .help       = "send migration info to spice/vnc client",
828         .user_print = monitor_user_noop,
829         .mhandler.cmd_async = client_migrate_info,
830         .flags      = MONITOR_CMD_ASYNC,
831     },
832
833 STEXI
834 @item client_migrate_info @var{protocol} @var{hostname} @var{port} @var{tls-port} @var{cert-subject}
835 @findex client_migrate_info
836 Set the spice/vnc connection info for the migration target.  The spice/vnc
837 server will ask the spice/vnc client to automatically reconnect using the
838 new parameters (if specified) once the vm migration finished successfully.
839 ETEXI
840
841     {
842         .name       = "snapshot_blkdev",
843         .args_type  = "device:B,snapshot-file:s?,format:s?",
844         .params     = "device [new-image-file] [format]",
845         .help       = "initiates a live snapshot\n\t\t\t"
846                       "of device. If a new image file is specified, the\n\t\t\t"
847                       "new image file will become the new root image.\n\t\t\t"
848                       "If format is specified, the snapshot file will\n\t\t\t"
849                       "be created in that format. Otherwise the\n\t\t\t"
850                       "snapshot will be internal! (currently unsupported)",
851         .mhandler.cmd = hmp_snapshot_blkdev,
852     },
853
854 STEXI
855 @item snapshot_blkdev
856 @findex snapshot_blkdev
857 Snapshot device, using snapshot file as target if provided
858 ETEXI
859
860     {
861         .name       = "drive_add",
862         .args_type  = "pci_addr:s,opts:s",
863         .params     = "[[<domain>:]<bus>:]<slot>\n"
864                       "[file=file][,if=type][,bus=n]\n"
865                       "[,unit=m][,media=d][,index=i]\n"
866                       "[,cyls=c,heads=h,secs=s[,trans=t]]\n"
867                       "[,snapshot=on|off][,cache=on|off]\n"
868                       "[,readonly=on|off][,copy-on-read=on|off]",
869         .help       = "add drive to PCI storage controller",
870         .mhandler.cmd = drive_hot_add,
871     },
872
873 STEXI
874 @item drive_add
875 @findex drive_add
876 Add drive to PCI storage controller.
877 ETEXI
878
879 #if defined(TARGET_I386)
880     {
881         .name       = "pci_add",
882         .args_type  = "pci_addr:s,type:s,opts:s?",
883         .params     = "auto|[[<domain>:]<bus>:]<slot> nic|storage [[vlan=n][,macaddr=addr][,model=type]] [file=file][,if=type][,bus=nr]...",
884         .help       = "hot-add PCI device",
885         .mhandler.cmd = pci_device_hot_add,
886     },
887 #endif
888
889 STEXI
890 @item pci_add
891 @findex pci_add
892 Hot-add PCI device.
893 ETEXI
894
895 #if defined(TARGET_I386)
896     {
897         .name       = "pci_del",
898         .args_type  = "pci_addr:s",
899         .params     = "[[<domain>:]<bus>:]<slot>",
900         .help       = "hot remove PCI device",
901         .mhandler.cmd = do_pci_device_hot_remove,
902     },
903 #endif
904
905 STEXI
906 @item pci_del
907 @findex pci_del
908 Hot remove PCI device.
909 ETEXI
910
911     {
912         .name       = "pcie_aer_inject_error",
913         .args_type  = "advisory_non_fatal:-a,correctable:-c,"
914                       "id:s,error_status:s,"
915                       "header0:i?,header1:i?,header2:i?,header3:i?,"
916                       "prefix0:i?,prefix1:i?,prefix2:i?,prefix3:i?",
917         .params     = "[-a] [-c] id "
918                       "<error_status> [<tlp header> [<tlp header prefix>]]",
919         .help       = "inject pcie aer error\n\t\t\t"
920                       " -a for advisory non fatal error\n\t\t\t"
921                       " -c for correctable error\n\t\t\t"
922                       "<id> = qdev device id\n\t\t\t"
923                       "<error_status> = error string or 32bit\n\t\t\t"
924                       "<tlb header> = 32bit x 4\n\t\t\t"
925                       "<tlb header prefix> = 32bit x 4",
926         .user_print  = pcie_aer_inject_error_print,
927         .mhandler.cmd_new = do_pcie_aer_inject_error,
928     },
929
930 STEXI
931 @item pcie_aer_inject_error
932 @findex pcie_aer_inject_error
933 Inject PCIe AER error
934 ETEXI
935
936     {
937         .name       = "host_net_add",
938         .args_type  = "device:s,opts:s?",
939         .params     = "tap|user|socket|vde|dump [options]",
940         .help       = "add host VLAN client",
941         .mhandler.cmd = net_host_device_add,
942     },
943
944 STEXI
945 @item host_net_add
946 @findex host_net_add
947 Add host VLAN client.
948 ETEXI
949
950     {
951         .name       = "host_net_remove",
952         .args_type  = "vlan_id:i,device:s",
953         .params     = "vlan_id name",
954         .help       = "remove host VLAN client",
955         .mhandler.cmd = net_host_device_remove,
956     },
957
958 STEXI
959 @item host_net_remove
960 @findex host_net_remove
961 Remove host VLAN client.
962 ETEXI
963
964     {
965         .name       = "netdev_add",
966         .args_type  = "netdev:O",
967         .params     = "[user|tap|socket],id=str[,prop=value][,...]",
968         .help       = "add host network device",
969         .user_print = monitor_user_noop,
970         .mhandler.cmd_new = do_netdev_add,
971     },
972
973 STEXI
974 @item netdev_add
975 @findex netdev_add
976 Add host network device.
977 ETEXI
978
979     {
980         .name       = "netdev_del",
981         .args_type  = "id:s",
982         .params     = "id",
983         .help       = "remove host network device",
984         .user_print = monitor_user_noop,
985         .mhandler.cmd_new = do_netdev_del,
986     },
987
988 STEXI
989 @item netdev_del
990 @findex netdev_del
991 Remove host network device.
992 ETEXI
993
994 #ifdef CONFIG_SLIRP
995     {
996         .name       = "hostfwd_add",
997         .args_type  = "arg1:s,arg2:s?,arg3:s?",
998         .params     = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport",
999         .help       = "redirect TCP or UDP connections from host to guest (requires -net user)",
1000         .mhandler.cmd = net_slirp_hostfwd_add,
1001     },
1002 #endif
1003 STEXI
1004 @item hostfwd_add
1005 @findex hostfwd_add
1006 Redirect TCP or UDP connections from host to guest (requires -net user).
1007 ETEXI
1008
1009 #ifdef CONFIG_SLIRP
1010     {
1011         .name       = "hostfwd_remove",
1012         .args_type  = "arg1:s,arg2:s?,arg3:s?",
1013         .params     = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport",
1014         .help       = "remove host-to-guest TCP or UDP redirection",
1015         .mhandler.cmd = net_slirp_hostfwd_remove,
1016     },
1017
1018 #endif
1019 STEXI
1020 @item hostfwd_remove
1021 @findex hostfwd_remove
1022 Remove host-to-guest TCP or UDP redirection.
1023 ETEXI
1024
1025     {
1026         .name       = "balloon",
1027         .args_type  = "value:M",
1028         .params     = "target",
1029         .help       = "request VM to change its memory allocation (in MB)",
1030         .mhandler.cmd = hmp_balloon,
1031     },
1032
1033 STEXI
1034 @item balloon @var{value}
1035 @findex balloon
1036 Request VM to change its memory allocation to @var{value} (in MB).
1037 ETEXI
1038
1039     {
1040         .name       = "set_link",
1041         .args_type  = "name:s,up:b",
1042         .params     = "name on|off",
1043         .help       = "change the link status of a network adapter",
1044         .mhandler.cmd = hmp_set_link,
1045     },
1046
1047 STEXI
1048 @item set_link @var{name} [on|off]
1049 @findex set_link
1050 Switch link @var{name} on (i.e. up) or off (i.e. down).
1051 ETEXI
1052
1053     {
1054         .name       = "watchdog_action",
1055         .args_type  = "action:s",
1056         .params     = "[reset|shutdown|poweroff|pause|debug|none]",
1057         .help       = "change watchdog action",
1058         .mhandler.cmd = do_watchdog_action,
1059     },
1060
1061 STEXI
1062 @item watchdog_action
1063 @findex watchdog_action
1064 Change watchdog action.
1065 ETEXI
1066
1067     {
1068         .name       = "acl_show",
1069         .args_type  = "aclname:s",
1070         .params     = "aclname",
1071         .help       = "list rules in the access control list",
1072         .mhandler.cmd = do_acl_show,
1073     },
1074
1075 STEXI
1076 @item acl_show @var{aclname}
1077 @findex acl_show
1078 List all the matching rules in the access control list, and the default
1079 policy. There are currently two named access control lists,
1080 @var{vnc.x509dname} and @var{vnc.username} matching on the x509 client
1081 certificate distinguished name, and SASL username respectively.
1082 ETEXI
1083
1084     {
1085         .name       = "acl_policy",
1086         .args_type  = "aclname:s,policy:s",
1087         .params     = "aclname allow|deny",
1088         .help       = "set default access control list policy",
1089         .mhandler.cmd = do_acl_policy,
1090     },
1091
1092 STEXI
1093 @item acl_policy @var{aclname} @code{allow|deny}
1094 @findex acl_policy
1095 Set the default access control list policy, used in the event that
1096 none of the explicit rules match. The default policy at startup is
1097 always @code{deny}.
1098 ETEXI
1099
1100     {
1101         .name       = "acl_add",
1102         .args_type  = "aclname:s,match:s,policy:s,index:i?",
1103         .params     = "aclname match allow|deny [index]",
1104         .help       = "add a match rule to the access control list",
1105         .mhandler.cmd = do_acl_add,
1106     },
1107
1108 STEXI
1109 @item acl_add @var{aclname} @var{match} @code{allow|deny} [@var{index}]
1110 @findex acl_add
1111 Add a match rule to the access control list, allowing or denying access.
1112 The match will normally be an exact username or x509 distinguished name,
1113 but can optionally include wildcard globs. eg @code{*@@EXAMPLE.COM} to
1114 allow all users in the @code{EXAMPLE.COM} kerberos realm. The match will
1115 normally be appended to the end of the ACL, but can be inserted
1116 earlier in the list if the optional @var{index} parameter is supplied.
1117 ETEXI
1118
1119     {
1120         .name       = "acl_remove",
1121         .args_type  = "aclname:s,match:s",
1122         .params     = "aclname match",
1123         .help       = "remove a match rule from the access control list",
1124         .mhandler.cmd = do_acl_remove,
1125     },
1126
1127 STEXI
1128 @item acl_remove @var{aclname} @var{match}
1129 @findex acl_remove
1130 Remove the specified match rule from the access control list.
1131 ETEXI
1132
1133     {
1134         .name       = "acl_reset",
1135         .args_type  = "aclname:s",
1136         .params     = "aclname",
1137         .help       = "reset the access control list",
1138         .mhandler.cmd = do_acl_reset,
1139     },
1140
1141 STEXI
1142 @item acl_reset @var{aclname}
1143 @findex acl_reset
1144 Remove all matches from the access control list, and set the default
1145 policy back to @code{deny}.
1146 ETEXI
1147
1148 #if defined(TARGET_I386)
1149
1150     {
1151         .name       = "mce",
1152         .args_type  = "broadcast:-b,cpu_index:i,bank:i,status:l,mcg_status:l,addr:l,misc:l",
1153         .params     = "[-b] cpu bank status mcgstatus addr misc",
1154         .help       = "inject a MCE on the given CPU [and broadcast to other CPUs with -b option]",
1155         .mhandler.cmd = do_inject_mce,
1156     },
1157
1158 #endif
1159 STEXI
1160 @item mce @var{cpu} @var{bank} @var{status} @var{mcgstatus} @var{addr} @var{misc}
1161 @findex mce (x86)
1162 Inject an MCE on the given CPU (x86 only).
1163 ETEXI
1164
1165     {
1166         .name       = "getfd",
1167         .args_type  = "fdname:s",
1168         .params     = "getfd name",
1169         .help       = "receive a file descriptor via SCM rights and assign it a name",
1170         .user_print = monitor_user_noop,
1171         .mhandler.cmd_new = do_getfd,
1172     },
1173
1174 STEXI
1175 @item getfd @var{fdname}
1176 @findex getfd
1177 If a file descriptor is passed alongside this command using the SCM_RIGHTS
1178 mechanism on unix sockets, it is stored using the name @var{fdname} for
1179 later use by other monitor commands.
1180 ETEXI
1181
1182     {
1183         .name       = "closefd",
1184         .args_type  = "fdname:s",
1185         .params     = "closefd name",
1186         .help       = "close a file descriptor previously passed via SCM rights",
1187         .user_print = monitor_user_noop,
1188         .mhandler.cmd_new = do_closefd,
1189     },
1190
1191 STEXI
1192 @item closefd @var{fdname}
1193 @findex closefd
1194 Close the file descriptor previously assigned to @var{fdname} using the
1195 @code{getfd} command. This is only needed if the file descriptor was never
1196 used by another monitor command.
1197 ETEXI
1198
1199     {
1200         .name       = "block_passwd",
1201         .args_type  = "device:B,password:s",
1202         .params     = "block_passwd device password",
1203         .help       = "set the password of encrypted block devices",
1204         .mhandler.cmd = hmp_block_passwd,
1205     },
1206
1207 STEXI
1208 @item block_set_io_throttle @var{device} @var{bps} @var{bps_rd} @var{bps_wr} @var{iops} @var{iops_rd} @var{iops_wr}
1209 @findex block_set_io_throttle
1210 Change I/O throttle limits for a block drive to @var{bps} @var{bps_rd} @var{bps_wr} @var{iops} @var{iops_rd} @var{iops_wr}
1211 ETEXI
1212
1213     {
1214         .name       = "block_set_io_throttle",
1215         .args_type  = "device:B,bps:l,bps_rd:l,bps_wr:l,iops:l,iops_rd:l,iops_wr:l",
1216         .params     = "device bps bps_rd bps_wr iops iops_rd iops_wr",
1217         .help       = "change I/O throttle limits for a block drive",
1218         .mhandler.cmd = hmp_block_set_io_throttle,
1219     },
1220
1221 STEXI
1222 @item block_passwd @var{device} @var{password}
1223 @findex block_passwd
1224 Set the encrypted device @var{device} password to @var{password}
1225 ETEXI
1226
1227     {
1228         .name       = "set_password",
1229         .args_type  = "protocol:s,password:s,connected:s?",
1230         .params     = "protocol password action-if-connected",
1231         .help       = "set spice/vnc password",
1232         .mhandler.cmd = hmp_set_password,
1233     },
1234
1235 STEXI
1236 @item set_password [ vnc | spice ] password [ action-if-connected ]
1237 @findex set_password
1238
1239 Change spice/vnc password.  Use zero to make the password stay valid
1240 forever.  @var{action-if-connected} specifies what should happen in
1241 case a connection is established: @var{fail} makes the password change
1242 fail.  @var{disconnect} changes the password and disconnects the
1243 client.  @var{keep} changes the password and keeps the connection up.
1244 @var{keep} is the default.
1245 ETEXI
1246
1247     {
1248         .name       = "expire_password",
1249         .args_type  = "protocol:s,time:s",
1250         .params     = "protocol time",
1251         .help       = "set spice/vnc password expire-time",
1252         .mhandler.cmd = hmp_expire_password,
1253     },
1254
1255 STEXI
1256 @item expire_password [ vnc | spice ] expire-time
1257 @findex expire_password
1258
1259 Specify when a password for spice/vnc becomes
1260 invalid. @var{expire-time} accepts:
1261
1262 @table @var
1263 @item now
1264 Invalidate password instantly.
1265
1266 @item never
1267 Password stays valid forever.
1268
1269 @item +nsec
1270 Password stays valid for @var{nsec} seconds starting now.
1271
1272 @item nsec
1273 Password is invalidated at the given time.  @var{nsec} are the seconds
1274 passed since 1970, i.e. unix epoch.
1275
1276 @end table
1277 ETEXI
1278
1279     {
1280         .name       = "info",
1281         .args_type  = "item:s?",
1282         .params     = "[subcommand]",
1283         .help       = "show various information about the system state",
1284         .mhandler.cmd = do_info,
1285     },
1286
1287 STEXI
1288 @item info @var{subcommand}
1289 @findex info
1290 Show various information about the system state.
1291
1292 @table @option
1293 @item info version
1294 show the version of QEMU
1295 @item info network
1296 show the various VLANs and the associated devices
1297 @item info chardev
1298 show the character devices
1299 @item info block
1300 show the block devices
1301 @item info blockstats
1302 show block device statistics
1303 @item info registers
1304 show the cpu registers
1305 @item info cpus
1306 show infos for each CPU
1307 @item info history
1308 show the command line history
1309 @item info irq
1310 show the interrupts statistics (if available)
1311 @item info pic
1312 show i8259 (PIC) state
1313 @item info pci
1314 show emulated PCI device info
1315 @item info tlb
1316 show virtual to physical memory mappings (i386, SH4, SPARC, and PPC only)
1317 @item info mem
1318 show the active virtual memory mappings (i386 only)
1319 @item info jit
1320 show dynamic compiler info
1321 @item info numa
1322 show NUMA information
1323 @item info kvm
1324 show KVM information
1325 @item info usb
1326 show USB devices plugged on the virtual USB hub
1327 @item info usbhost
1328 show all USB host devices
1329 @item info profile
1330 show profiling information
1331 @item info capture
1332 show information about active capturing
1333 @item info snapshots
1334 show list of VM snapshots
1335 @item info status
1336 show the current VM status (running|paused)
1337 @item info pcmcia
1338 show guest PCMCIA status
1339 @item info mice
1340 show which guest mouse is receiving events
1341 @item info vnc
1342 show the vnc server status
1343 @item info name
1344 show the current VM name
1345 @item info uuid
1346 show the current VM UUID
1347 @item info cpustats
1348 show CPU statistics
1349 @item info usernet
1350 show user network stack connection states
1351 @item info migrate
1352 show migration status
1353 @item info balloon
1354 show balloon information
1355 @item info qtree
1356 show device tree
1357 @item info qdm
1358 show qdev device model list
1359 @item info roms
1360 show roms
1361 @end table
1362 ETEXI
1363
1364 #ifdef CONFIG_TRACE_SIMPLE
1365 STEXI
1366 @item info trace
1367 show contents of trace buffer
1368 ETEXI
1369 #endif
1370
1371 STEXI
1372 @item info trace-events
1373 show available trace events and their state
1374 ETEXI
1375
1376 STEXI
1377 @end table
1378 ETEXI
This page took 0.091903 seconds and 2 git commands to generate.