]> git.proxmox.com Git - qemu.git/blame - hmp-commands.hx
scsi-disk: Move active request asserts
[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 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 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",
ed3d4a80 757 .args_type = "value:o",
d7f9b689 758 .params = "value",
ed3d4a80
JS
759 .help = "set maximum speed (in bytes) for migrations. "
760 "Defaults to MB if no size suffix is specified, ie. B/K/M/G/T",
5fd9083c 761 .user_print = monitor_user_noop,
261394db 762 .mhandler.cmd_new = do_migrate_set_speed,
d7f9b689
LC
763 },
764
2313086a
BS
765STEXI
766@item migrate_set_speed @var{value}
70fcbbe7 767@findex migrate_set_speed
2313086a 768Set maximum speed to @var{value} (in bytes) for migrations.
2ea42952
GC
769ETEXI
770
d7f9b689
LC
771 {
772 .name = "migrate_set_downtime",
b0fbf7d3 773 .args_type = "value:T",
d7f9b689
LC
774 .params = "value",
775 .help = "set maximum tolerated downtime (in seconds) for migrations",
c6027f56 776 .user_print = monitor_user_noop,
261394db 777 .mhandler.cmd_new = do_migrate_set_downtime,
d7f9b689 778 },
2ea42952
GC
779
780STEXI
781@item migrate_set_downtime @var{second}
70fcbbe7 782@findex migrate_set_downtime
2ea42952 783Set maximum tolerated downtime (in seconds) for migration.
2313086a
BS
784ETEXI
785
786#if defined(TARGET_I386)
d7f9b689
LC
787 {
788 .name = "drive_add",
789 .args_type = "pci_addr:s,opts:s",
d7f9b689
LC
790 .params = "[[<domain>:]<bus>:]<slot>\n"
791 "[file=file][,if=type][,bus=n]\n"
792 "[,unit=m][,media=d][index=i]\n"
793 "[,cyls=c,heads=h,secs=s[,trans=t]]\n"
794 "[snapshot=on|off][,cache=on|off]",
795 .help = "add drive to PCI storage controller",
af4ce882 796 .mhandler.cmd = drive_hot_add,
d7f9b689 797 },
2313086a 798#endif
d7f9b689 799
2313086a
BS
800STEXI
801@item drive_add
70fcbbe7 802@findex drive_add
2313086a
BS
803Add drive to PCI storage controller.
804ETEXI
805
806#if defined(TARGET_I386)
d7f9b689
LC
807 {
808 .name = "pci_add",
809 .args_type = "pci_addr:s,type:s,opts:s?",
d7f9b689
LC
810 .params = "auto|[[<domain>:]<bus>:]<slot> nic|storage [[vlan=n][,macaddr=addr][,model=type]] [file=file][,if=type][,bus=nr]...",
811 .help = "hot-add PCI device",
6c6a58ae 812 .mhandler.cmd = pci_device_hot_add,
d7f9b689 813 },
2313086a 814#endif
d7f9b689 815
2313086a
BS
816STEXI
817@item pci_add
70fcbbe7 818@findex pci_add
2313086a
BS
819Hot-add PCI device.
820ETEXI
821
822#if defined(TARGET_I386)
d7f9b689
LC
823 {
824 .name = "pci_del",
825 .args_type = "pci_addr:s",
d7f9b689
LC
826 .params = "[[<domain>:]<bus>:]<slot>",
827 .help = "hot remove PCI device",
b752daf0 828 .mhandler.cmd = do_pci_device_hot_remove,
d7f9b689 829 },
2313086a 830#endif
d7f9b689 831
2313086a
BS
832STEXI
833@item pci_del
70fcbbe7 834@findex pci_del
2313086a
BS
835Hot remove PCI device.
836ETEXI
837
d7f9b689
LC
838 {
839 .name = "host_net_add",
840 .args_type = "device:s,opts:s?",
d7f9b689
LC
841 .params = "tap|user|socket|vde|dump [options]",
842 .help = "add host VLAN client",
af4ce882 843 .mhandler.cmd = net_host_device_add,
d7f9b689
LC
844 },
845
2313086a
BS
846STEXI
847@item host_net_add
70fcbbe7 848@findex host_net_add
2313086a
BS
849Add host VLAN client.
850ETEXI
851
d7f9b689
LC
852 {
853 .name = "host_net_remove",
854 .args_type = "vlan_id:i,device:s",
d7f9b689
LC
855 .params = "vlan_id name",
856 .help = "remove host VLAN client",
af4ce882 857 .mhandler.cmd = net_host_device_remove,
d7f9b689
LC
858 },
859
2313086a
BS
860STEXI
861@item host_net_remove
70fcbbe7 862@findex host_net_remove
2313086a 863Remove host VLAN client.
ae82d324
MA
864ETEXI
865
866 {
867 .name = "netdev_add",
868 .args_type = "netdev:O",
869 .params = "[user|tap|socket],id=str[,prop=value][,...]",
870 .help = "add host network device",
871 .user_print = monitor_user_noop,
872 .mhandler.cmd_new = do_netdev_add,
873 },
874
875STEXI
876@item netdev_add
877@findex netdev_add
878Add host network device.
879ETEXI
880
881 {
882 .name = "netdev_del",
883 .args_type = "id:s",
884 .params = "id",
885 .help = "remove host network device",
886 .user_print = monitor_user_noop,
887 .mhandler.cmd_new = do_netdev_del,
888 },
889
890STEXI
891@item netdev_del
892@findex netdev_del
893Remove host network device.
2313086a
BS
894ETEXI
895
896#ifdef CONFIG_SLIRP
d7f9b689
LC
897 {
898 .name = "hostfwd_add",
899 .args_type = "arg1:s,arg2:s?,arg3:s?",
d7f9b689
LC
900 .params = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport",
901 .help = "redirect TCP or UDP connections from host to guest (requires -net user)",
af4ce882 902 .mhandler.cmd = net_slirp_hostfwd_add,
d7f9b689 903 },
21413d68
MA
904#endif
905STEXI
906@item hostfwd_add
907@findex hostfwd_add
908Redirect TCP or UDP connections from host to guest (requires -net user).
909ETEXI
d7f9b689 910
21413d68 911#ifdef CONFIG_SLIRP
d7f9b689
LC
912 {
913 .name = "hostfwd_remove",
914 .args_type = "arg1:s,arg2:s?,arg3:s?",
d7f9b689
LC
915 .params = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport",
916 .help = "remove host-to-guest TCP or UDP redirection",
af4ce882 917 .mhandler.cmd = net_slirp_hostfwd_remove,
d7f9b689
LC
918 },
919
2313086a
BS
920#endif
921STEXI
21413d68
MA
922@item hostfwd_remove
923@findex hostfwd_remove
924Remove host-to-guest TCP or UDP redirection.
2313086a
BS
925ETEXI
926
d7f9b689
LC
927 {
928 .name = "balloon",
3b0bd6ec 929 .args_type = "value:M",
d7f9b689 930 .params = "target",
3c05613a 931 .help = "request VM to change its memory allocation (in MB)",
83fb1de2 932 .user_print = monitor_user_noop,
625a5bef 933 .mhandler.cmd_async = do_balloon,
8ac470c1 934 .flags = MONITOR_CMD_ASYNC,
d7f9b689
LC
935 },
936
2313086a
BS
937STEXI
938@item balloon @var{value}
70fcbbe7 939@findex balloon
2313086a
BS
940Request VM to change its memory allocation to @var{value} (in MB).
941ETEXI
942
d7f9b689
LC
943 {
944 .name = "set_link",
c9b26a4c
MA
945 .args_type = "name:s,up:b",
946 .params = "name on|off",
d7f9b689 947 .help = "change the link status of a network adapter",
5369e3c0
MA
948 .user_print = monitor_user_noop,
949 .mhandler.cmd_new = do_set_link,
d7f9b689
LC
950 },
951
2313086a 952STEXI
c9b26a4c 953@item set_link @var{name} [on|off]
70fcbbe7 954@findex set_link
c9b26a4c 955Switch link @var{name} on (i.e. up) or off (i.e. down).
2313086a
BS
956ETEXI
957
d7f9b689
LC
958 {
959 .name = "watchdog_action",
960 .args_type = "action:s",
d7f9b689
LC
961 .params = "[reset|shutdown|poweroff|pause|debug|none]",
962 .help = "change watchdog action",
af4ce882 963 .mhandler.cmd = do_watchdog_action,
d7f9b689
LC
964 },
965
2313086a
BS
966STEXI
967@item watchdog_action
70fcbbe7 968@findex watchdog_action
2313086a
BS
969Change watchdog action.
970ETEXI
971
d7f9b689
LC
972 {
973 .name = "acl_show",
974 .args_type = "aclname:s",
d7f9b689
LC
975 .params = "aclname",
976 .help = "list rules in the access control list",
af4ce882 977 .mhandler.cmd = do_acl_show,
d7f9b689
LC
978 },
979
2313086a 980STEXI
15dfcd45 981@item acl_show @var{aclname}
70fcbbe7 982@findex acl_show
15dfcd45
JK
983List all the matching rules in the access control list, and the default
984policy. There are currently two named access control lists,
985@var{vnc.x509dname} and @var{vnc.username} matching on the x509 client
986certificate distinguished name, and SASL username respectively.
987ETEXI
2313086a 988
d7f9b689
LC
989 {
990 .name = "acl_policy",
991 .args_type = "aclname:s,policy:s",
d7f9b689
LC
992 .params = "aclname allow|deny",
993 .help = "set default access control list policy",
af4ce882 994 .mhandler.cmd = do_acl_policy,
d7f9b689
LC
995 },
996
15dfcd45 997STEXI
cbbfacc6 998@item acl_policy @var{aclname} @code{allow|deny}
70fcbbe7 999@findex acl_policy
15dfcd45 1000Set the default access control list policy, used in the event that
2313086a 1001none of the explicit rules match. The default policy at startup is
15dfcd45
JK
1002always @code{deny}.
1003ETEXI
1004
d7f9b689
LC
1005 {
1006 .name = "acl_add",
1007 .args_type = "aclname:s,match:s,policy:s,index:i?",
d7f9b689
LC
1008 .params = "aclname match allow|deny [index]",
1009 .help = "add a match rule to the access control list",
af4ce882 1010 .mhandler.cmd = do_acl_add,
d7f9b689
LC
1011 },
1012
15dfcd45 1013STEXI
0e4aec98
MA
1014@item acl_add @var{aclname} @var{match} @code{allow|deny} [@var{index}]
1015@findex acl_add
15dfcd45
JK
1016Add a match rule to the access control list, allowing or denying access.
1017The match will normally be an exact username or x509 distinguished name,
1018but can optionally include wildcard globs. eg @code{*@@EXAMPLE.COM} to
1019allow all users in the @code{EXAMPLE.COM} kerberos realm. The match will
2313086a 1020normally be appended to the end of the ACL, but can be inserted
15dfcd45
JK
1021earlier in the list if the optional @var{index} parameter is supplied.
1022ETEXI
1023
d7f9b689
LC
1024 {
1025 .name = "acl_remove",
1026 .args_type = "aclname:s,match:s",
d7f9b689
LC
1027 .params = "aclname match",
1028 .help = "remove a match rule from the access control list",
af4ce882 1029 .mhandler.cmd = do_acl_remove,
d7f9b689
LC
1030 },
1031
15dfcd45
JK
1032STEXI
1033@item acl_remove @var{aclname} @var{match}
70fcbbe7 1034@findex acl_remove
15dfcd45
JK
1035Remove the specified match rule from the access control list.
1036ETEXI
1037
d7f9b689
LC
1038 {
1039 .name = "acl_reset",
1040 .args_type = "aclname:s",
d7f9b689
LC
1041 .params = "aclname",
1042 .help = "reset the access control list",
af4ce882 1043 .mhandler.cmd = do_acl_reset,
d7f9b689
LC
1044 },
1045
15dfcd45 1046STEXI
0e4aec98
MA
1047@item acl_reset @var{aclname}
1048@findex acl_reset
15dfcd45 1049Remove all matches from the access control list, and set the default
2313086a 1050policy back to @code{deny}.
2313086a
BS
1051ETEXI
1052
79c4f6b0 1053#if defined(TARGET_I386)
d7f9b689
LC
1054
1055 {
1056 .name = "mce",
1057 .args_type = "cpu_index:i,bank:i,status:l,mcg_status:l,addr:l,misc:l",
d7f9b689
LC
1058 .params = "cpu bank status mcgstatus addr misc",
1059 .help = "inject a MCE on the given CPU",
af4ce882 1060 .mhandler.cmd = do_inject_mce,
d7f9b689
LC
1061 },
1062
79c4f6b0
HY
1063#endif
1064STEXI
1065@item mce @var{cpu} @var{bank} @var{status} @var{mcgstatus} @var{addr} @var{misc}
70fcbbe7 1066@findex mce (x86)
79c4f6b0 1067Inject an MCE on the given CPU (x86 only).
f07918fd
MM
1068ETEXI
1069
d7f9b689
LC
1070 {
1071 .name = "getfd",
1072 .args_type = "fdname:s",
d7f9b689
LC
1073 .params = "getfd name",
1074 .help = "receive a file descriptor via SCM rights and assign it a name",
f0d6000a 1075 .user_print = monitor_user_noop,
261394db 1076 .mhandler.cmd_new = do_getfd,
d7f9b689
LC
1077 },
1078
f07918fd
MM
1079STEXI
1080@item getfd @var{fdname}
70fcbbe7 1081@findex getfd
f07918fd
MM
1082If a file descriptor is passed alongside this command using the SCM_RIGHTS
1083mechanism on unix sockets, it is stored using the name @var{fdname} for
1084later use by other monitor commands.
1085ETEXI
1086
d7f9b689
LC
1087 {
1088 .name = "closefd",
1089 .args_type = "fdname:s",
d7f9b689
LC
1090 .params = "closefd name",
1091 .help = "close a file descriptor previously passed via SCM rights",
18f3a515 1092 .user_print = monitor_user_noop,
261394db 1093 .mhandler.cmd_new = do_closefd,
d7f9b689
LC
1094 },
1095
f07918fd
MM
1096STEXI
1097@item closefd @var{fdname}
70fcbbe7 1098@findex closefd
f07918fd
MM
1099Close the file descriptor previously assigned to @var{fdname} using the
1100@code{getfd} command. This is only needed if the file descriptor was never
1101used by another monitor command.
a3a55a2e
LC
1102ETEXI
1103
1104 {
1105 .name = "block_passwd",
1106 .args_type = "device:B,password:s",
1107 .params = "block_passwd device password",
1108 .help = "set the password of encrypted block devices",
1109 .user_print = monitor_user_noop,
261394db 1110 .mhandler.cmd_new = do_block_set_passwd,
a3a55a2e
LC
1111 },
1112
1113STEXI
1114@item block_passwd @var{device} @var{password}
70fcbbe7 1115@findex block_passwd
a3a55a2e 1116Set the encrypted device @var{device} password to @var{password}
4a7e1190 1117ETEXI
b40292e7 1118
33572ece
JK
1119 {
1120 .name = "info",
1121 .args_type = "item:s?",
1122 .params = "[subcommand]",
1123 .help = "show various information about the system state",
1162daa6 1124 .mhandler.cmd = do_info,
33572ece
JK
1125 },
1126
1127STEXI
1128@item info @var{subcommand}
1129@findex info
1130Show various information about the system state.
1131
1132@table @option
1133@item info version
1134show the version of QEMU
33572ece
JK
1135@item info network
1136show the various VLANs and the associated devices
1137@item info chardev
1138show the character devices
1139@item info block
1140show the block devices
1141@item info blockstats
1142show block device statistics
1143@item info registers
1144show the cpu registers
1145@item info cpus
1146show infos for each CPU
1147@item info history
1148show the command line history
1149@item info irq
1150show the interrupts statistics (if available)
1151@item info pic
1152show i8259 (PIC) state
1153@item info pci
1154show emulated PCI device info
1155@item info tlb
1156show virtual to physical memory mappings (i386 only)
1157@item info mem
1158show the active virtual memory mappings (i386 only)
33572ece
JK
1159@item info jit
1160show dynamic compiler info
1161@item info kvm
1162show KVM information
1163@item info numa
1164show NUMA information
b40292e7
JK
1165@item info kvm
1166show KVM information
33572ece
JK
1167@item info usb
1168show USB devices plugged on the virtual USB hub
1169@item info usbhost
1170show all USB host devices
1171@item info profile
1172show profiling information
1173@item info capture
1174show information about active capturing
1175@item info snapshots
1176show list of VM snapshots
1177@item info status
1178show the current VM status (running|paused)
1179@item info pcmcia
1180show guest PCMCIA status
1181@item info mice
1182show which guest mouse is receiving events
1183@item info vnc
1184show the vnc server status
1185@item info name
1186show the current VM name
1187@item info uuid
1188show the current VM UUID
1189@item info cpustats
1190show CPU statistics
1191@item info usernet
1192show user network stack connection states
1193@item info migrate
1194show migration status
1195@item info balloon
1196show balloon information
1197@item info qtree
1198show device tree
1199@item info qdm
1200show qdev device model list
1201@item info roms
1202show roms
1203@end table
1204ETEXI
1205
22890ab5
PS
1206#ifdef CONFIG_SIMPLE_TRACE
1207STEXI
1208@item info trace
1209show contents of trace buffer
1210@item info trace-events
1211show available trace events and their state
1212ETEXI
1213#endif
1214
2313086a
BS
1215STEXI
1216@end table
1217ETEXI