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