blob: e0b537d0cc5dba778465ad12f67a24c3398acf79 [file] [log] [blame]
Blue Swirl23130862009-06-06 08:22:04 +00001HXCOMM 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
Luiz Capitulinod7f9b682009-10-07 13:41:50 -030012 {
13 .name = "help|?",
14 .args_type = "name:s?",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -030015 .params = "[cmd]",
16 .help = "show the help",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -030017 .mhandler.cmd = do_help_cmd,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -030018 },
19
Blue Swirl23130862009-06-06 08:22:04 +000020STEXI
21@item help or ? [@var{cmd}]
Stefan Weil70fcbbe2010-02-05 23:52:04 +010022@findex help
Blue Swirl23130862009-06-06 08:22:04 +000023Show the help for all commands or just for command @var{cmd}.
24ETEXI
25
Luiz Capitulinod7f9b682009-10-07 13:41:50 -030026 {
27 .name = "commit",
28 .args_type = "device:B",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -030029 .params = "device|all",
30 .help = "commit changes to the disk images (if -snapshot is used) or backing files",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -030031 .mhandler.cmd = do_commit,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -030032 },
33
Blue Swirl23130862009-06-06 08:22:04 +000034STEXI
35@item commit
Stefan Weil70fcbbe2010-02-05 23:52:04 +010036@findex commit
Blue Swirl23130862009-06-06 08:22:04 +000037Commit changes to the disk images (if -snapshot is used) or backing files.
38ETEXI
39
Luiz Capitulinod7f9b682009-10-07 13:41:50 -030040 {
Luiz Capitulinod7f9b682009-10-07 13:41:50 -030041 .name = "q|quit",
42 .args_type = "",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -030043 .params = "",
44 .help = "quit the emulator",
Luiz Capitulinob223f352009-10-07 13:41:56 -030045 .user_print = monitor_user_noop,
Luiz Capitulino7a7f3252011-09-15 14:20:28 -030046 .mhandler.cmd = hmp_quit,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -030047 },
48
Blue Swirl23130862009-06-06 08:22:04 +000049STEXI
50@item q or quit
Stefan Weil70fcbbe2010-02-05 23:52:04 +010051@findex quit
Blue Swirl23130862009-06-06 08:22:04 +000052Quit the emulator.
53ETEXI
54
Luiz Capitulinod7f9b682009-10-07 13:41:50 -030055 {
Christoph Hellwig6d4a2b32011-01-24 13:32:33 +010056 .name = "block_resize",
57 .args_type = "device:B,size:o",
58 .params = "device size",
59 .help = "resize a block image",
Luiz Capitulino5e7caac2011-11-25 14:57:10 -020060 .mhandler.cmd = hmp_block_resize,
Christoph Hellwig6d4a2b32011-01-24 13:32:33 +010061 },
62
63STEXI
64@item block_resize
65@findex block_resize
66Resize a block image while a guest is running. Usually requires guest
67action to see the updated size. Resize to a lower size is supported,
68but should be used with extreme caution. Note that this command only
69resizes image files, it can not resize block devices like LVM volumes.
70ETEXI
71
Stefan Hajnoczi12bd4512012-01-18 14:40:46 +000072 {
73 .name = "block_stream",
Stefan Hajnoczic83c66c2012-04-25 16:51:03 +010074 .args_type = "device:B,speed:o?,base:s?",
75 .params = "device [speed [base]]",
Stefan Hajnoczi12bd4512012-01-18 14:40:46 +000076 .help = "copy data from a backing file into a block device",
77 .mhandler.cmd = hmp_block_stream,
78 },
79
80STEXI
81@item block_stream
82@findex block_stream
83Copy data from a backing file into a block device.
84ETEXI
Christoph Hellwig6d4a2b32011-01-24 13:32:33 +010085
86 {
Stefan Hajnoczi2d47c6e2012-01-18 14:40:47 +000087 .name = "block_job_set_speed",
Stefan Hajnoczi882ec7c2012-04-25 16:51:02 +010088 .args_type = "device:B,speed:o",
89 .params = "device speed",
Stefan Hajnoczi2d47c6e2012-01-18 14:40:47 +000090 .help = "set maximum speed for a background block operation",
91 .mhandler.cmd = hmp_block_job_set_speed,
92 },
93
94STEXI
Paolo Bonzini4451b792012-04-13 12:03:46 +020095@item block_job_set_speed
96@findex block_job_set_speed
Stefan Hajnoczi2d47c6e2012-01-18 14:40:47 +000097Set maximum speed for a background block operation.
98ETEXI
99
100 {
Stefan Hajnoczi370521a2012-01-18 14:40:48 +0000101 .name = "block_job_cancel",
Paolo Bonzini6e37fb82012-09-28 17:22:51 +0200102 .args_type = "force:-f,device:B",
103 .params = "[-f] device",
104 .help = "stop an active background block operation (use -f"
105 "\n\t\t\t if the operation is currently paused)",
Stefan Hajnoczi370521a2012-01-18 14:40:48 +0000106 .mhandler.cmd = hmp_block_job_cancel,
107 },
108
109STEXI
110@item block_job_cancel
111@findex block_job_cancel
112Stop an active block streaming operation.
113ETEXI
114
115 {
Paolo Bonzini6e37fb82012-09-28 17:22:51 +0200116 .name = "block_job_pause",
117 .args_type = "device:B",
118 .params = "device",
119 .help = "pause an active background block operation",
120 .mhandler.cmd = hmp_block_job_pause,
121 },
122
123STEXI
124@item block_job_pause
125@findex block_job_pause
126Pause an active block streaming operation.
127ETEXI
128
129 {
130 .name = "block_job_resume",
131 .args_type = "device:B",
132 .params = "device",
133 .help = "resume a paused background block operation",
134 .mhandler.cmd = hmp_block_job_resume,
135 },
136
137STEXI
138@item block_job_resume
139@findex block_job_resume
140Resume a paused block streaming operation.
141ETEXI
142
143 {
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300144 .name = "eject",
Luiz Capitulino78d714e2009-12-14 18:53:21 -0200145 .args_type = "force:-f,device:B",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300146 .params = "[-f] device",
147 .help = "eject a removable medium (use -f to force it)",
Luiz Capitulinoc245b6a2011-12-07 16:02:36 -0200148 .mhandler.cmd = hmp_eject,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300149 },
150
Blue Swirl23130862009-06-06 08:22:04 +0000151STEXI
152@item eject [-f] @var{device}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100153@findex eject
Blue Swirl23130862009-06-06 08:22:04 +0000154Eject a removable medium (use -f to force it).
155ETEXI
156
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300157 {
Ryan Harper9063f812010-11-12 11:07:13 -0600158 .name = "drive_del",
159 .args_type = "id:s",
160 .params = "device",
161 .help = "remove host block device",
162 .user_print = monitor_user_noop,
163 .mhandler.cmd_new = do_drive_del,
164 },
165
166STEXI
167@item drive_del @var{device}
168@findex drive_del
169Remove host block device. The result is that guest generated IO is no longer
170submitted against the host device underlying the disk. Once a drive has
171been deleted, the QEMU Block layer returns -EIO which results in IO
172errors in the guest for applications that are reading/writing to the device.
173ETEXI
174
175 {
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300176 .name = "change",
177 .args_type = "device:B,target:F,arg:s?",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300178 .params = "device filename [format]",
179 .help = "change a removable medium, optional format",
Luiz Capitulino333a96e2011-12-08 11:13:50 -0200180 .mhandler.cmd = hmp_change,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300181 },
182
Blue Swirl23130862009-06-06 08:22:04 +0000183STEXI
184@item change @var{device} @var{setting}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100185@findex change
Blue Swirl23130862009-06-06 08:22:04 +0000186
187Change the configuration of a device.
188
189@table @option
190@item change @var{diskdevice} @var{filename} [@var{format}]
191Change the medium for a removable disk device to point to @var{filename}. eg
192
193@example
194(qemu) change ide1-cd0 /path/to/some.iso
195@end example
196
197@var{format} is optional.
198
199@item change vnc @var{display},@var{options}
200Change the configuration of the VNC server. The valid syntax for @var{display}
201and @var{options} are described at @ref{sec_invocation}. eg
202
203@example
204(qemu) change vnc localhost:1
205@end example
206
207@item change vnc password [@var{password}]
208
209Change the password associated with the VNC server. If the new password is not
210supplied, the monitor will prompt for it to be entered. VNC passwords are only
211significant up to 8 letters. eg
212
213@example
214(qemu) change vnc password
215Password: ********
216@end example
217
218@end table
219ETEXI
220
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300221 {
222 .name = "screendump",
223 .args_type = "filename:F",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300224 .params = "filename",
225 .help = "save screen into PPM image 'filename'",
Luiz Capitulinoad39cf62012-05-24 13:48:23 -0300226 .mhandler.cmd = hmp_screen_dump,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300227 },
228
Blue Swirl23130862009-06-06 08:22:04 +0000229STEXI
230@item screendump @var{filename}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100231@findex screendump
Blue Swirl23130862009-06-06 08:22:04 +0000232Save screen into PPM image @var{filename}.
233ETEXI
234
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300235 {
236 .name = "logfile",
237 .args_type = "filename:F",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300238 .params = "filename",
239 .help = "output logs to 'filename'",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300240 .mhandler.cmd = do_logfile,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300241 },
242
Blue Swirl23130862009-06-06 08:22:04 +0000243STEXI
244@item logfile @var{filename}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100245@findex logfile
Blue Swirl23130862009-06-06 08:22:04 +0000246Output logs to @var{filename}.
247ETEXI
248
Prerna Saxena22890ab2010-06-24 17:04:53 +0530249 {
250 .name = "trace-event",
251 .args_type = "name:s,option:b",
252 .params = "name on|off",
253 .help = "changes status of a specific trace event",
Lluísfc764102011-08-31 20:31:18 +0200254 .mhandler.cmd = do_trace_event_set_state,
Prerna Saxena22890ab2010-06-24 17:04:53 +0530255 },
256
257STEXI
258@item trace-event
259@findex trace-event
260changes status of a trace event
261ETEXI
Stefan Hajnoczic5ceb522010-07-13 09:26:33 +0100262
Michael Rothc45a8162011-10-02 08:44:37 -0500263#if defined(CONFIG_TRACE_SIMPLE)
Stefan Hajnoczic5ceb522010-07-13 09:26:33 +0100264 {
265 .name = "trace-file",
266 .args_type = "op:s?,arg:F?",
267 .params = "on|off|flush|set [arg]",
268 .help = "open, close, or flush trace file, or set a new file name",
269 .mhandler.cmd = do_trace_file,
270 },
271
272STEXI
273@item trace-file on|off|flush
274@findex trace-file
275Open, close, or flush the trace file. If no argument is given, the status of the trace file is displayed.
276ETEXI
Prerna Saxena22890ab2010-06-24 17:04:53 +0530277#endif
278
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300279 {
280 .name = "log",
281 .args_type = "items:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300282 .params = "item1[,...]",
283 .help = "activate logging of the specified items to '/tmp/qemu.log'",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300284 .mhandler.cmd = do_log,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300285 },
286
Blue Swirl23130862009-06-06 08:22:04 +0000287STEXI
288@item log @var{item1}[,...]
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100289@findex log
Blue Swirl23130862009-06-06 08:22:04 +0000290Activate logging of the specified items to @file{/tmp/qemu.log}.
291ETEXI
292
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300293 {
294 .name = "savevm",
295 .args_type = "name:s?",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300296 .params = "[tag|id]",
297 .help = "save a VM snapshot. If no tag or id are provided, a new snapshot is created",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300298 .mhandler.cmd = do_savevm,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300299 },
300
Blue Swirl23130862009-06-06 08:22:04 +0000301STEXI
302@item savevm [@var{tag}|@var{id}]
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100303@findex savevm
Blue Swirl23130862009-06-06 08:22:04 +0000304Create a snapshot of the whole virtual machine. If @var{tag} is
305provided, it is used as human readable identifier. If there is already
306a snapshot with the same tag or ID, it is replaced. More info at
307@ref{vm_snapshots}.
308ETEXI
309
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300310 {
311 .name = "loadvm",
312 .args_type = "name:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300313 .params = "tag|id",
314 .help = "restore a VM snapshot from its tag or id",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300315 .mhandler.cmd = do_loadvm,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300316 },
317
Blue Swirl23130862009-06-06 08:22:04 +0000318STEXI
319@item loadvm @var{tag}|@var{id}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100320@findex loadvm
Blue Swirl23130862009-06-06 08:22:04 +0000321Set the whole virtual machine to the snapshot identified by the tag
322@var{tag} or the unique snapshot ID @var{id}.
323ETEXI
324
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300325 {
326 .name = "delvm",
327 .args_type = "name:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300328 .params = "tag|id",
329 .help = "delete a VM snapshot from its tag or id",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300330 .mhandler.cmd = do_delvm,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300331 },
332
Blue Swirl23130862009-06-06 08:22:04 +0000333STEXI
334@item delvm @var{tag}|@var{id}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100335@findex delvm
Blue Swirl23130862009-06-06 08:22:04 +0000336Delete the snapshot identified by @var{tag} or @var{id}.
337ETEXI
338
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300339 {
340 .name = "singlestep",
341 .args_type = "option:s?",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300342 .params = "[on|off]",
343 .help = "run emulation in singlestep mode or switch to normal mode",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300344 .mhandler.cmd = do_singlestep,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300345 },
346
Blue Swirl23130862009-06-06 08:22:04 +0000347STEXI
348@item singlestep [off]
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100349@findex singlestep
Blue Swirl23130862009-06-06 08:22:04 +0000350Run the emulation in single step mode.
351If called with option off, the emulation returns to normal mode.
352ETEXI
353
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300354 {
355 .name = "stop",
356 .args_type = "",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300357 .params = "",
358 .help = "stop emulation",
Luiz Capitulino5f158f22011-09-15 14:34:39 -0300359 .mhandler.cmd = hmp_stop,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300360 },
361
Blue Swirl23130862009-06-06 08:22:04 +0000362STEXI
363@item stop
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100364@findex stop
Blue Swirl23130862009-06-06 08:22:04 +0000365Stop emulation.
366ETEXI
367
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300368 {
369 .name = "c|cont",
370 .args_type = "",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300371 .params = "",
372 .help = "resume emulation",
Luiz Capitulinoe42e8182011-11-22 17:58:31 -0200373 .mhandler.cmd = hmp_cont,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300374 },
375
Blue Swirl23130862009-06-06 08:22:04 +0000376STEXI
377@item c or cont
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100378@findex cont
Blue Swirl23130862009-06-06 08:22:04 +0000379Resume emulation.
380ETEXI
381
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300382 {
Gerd Hoffmann9b9df252012-02-23 13:45:21 +0100383 .name = "system_wakeup",
384 .args_type = "",
385 .params = "",
386 .help = "wakeup guest from suspend",
387 .mhandler.cmd = hmp_system_wakeup,
388 },
389
390STEXI
391@item system_wakeup
392@findex system_wakeup
393Wakeup guest from suspend.
394ETEXI
395
396 {
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300397 .name = "gdbserver",
398 .args_type = "device:s?",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300399 .params = "[device]",
400 .help = "start gdbserver on given device (default 'tcp::1234'), stop with 'none'",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300401 .mhandler.cmd = do_gdbserver,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300402 },
403
Blue Swirl23130862009-06-06 08:22:04 +0000404STEXI
405@item gdbserver [@var{port}]
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100406@findex gdbserver
Blue Swirl23130862009-06-06 08:22:04 +0000407Start gdbserver session (default @var{port}=1234)
408ETEXI
409
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300410 {
411 .name = "x",
412 .args_type = "fmt:/,addr:l",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300413 .params = "/fmt addr",
414 .help = "virtual memory dump starting at 'addr'",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300415 .mhandler.cmd = do_memory_dump,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300416 },
417
Blue Swirl23130862009-06-06 08:22:04 +0000418STEXI
419@item x/fmt @var{addr}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100420@findex x
Blue Swirl23130862009-06-06 08:22:04 +0000421Virtual memory dump starting at @var{addr}.
422ETEXI
423
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300424 {
425 .name = "xp",
426 .args_type = "fmt:/,addr:l",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300427 .params = "/fmt addr",
428 .help = "physical memory dump starting at 'addr'",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300429 .mhandler.cmd = do_physical_memory_dump,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300430 },
431
Blue Swirl23130862009-06-06 08:22:04 +0000432STEXI
433@item xp /@var{fmt} @var{addr}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100434@findex xp
Blue Swirl23130862009-06-06 08:22:04 +0000435Physical memory dump starting at @var{addr}.
436
437@var{fmt} is a format which tells the command how to format the
438data. Its syntax is: @option{/@{count@}@{format@}@{size@}}
439
440@table @var
441@item count
442is the number of items to be dumped.
443
444@item format
445can be x (hex), d (signed decimal), u (unsigned decimal), o (octal),
446c (char) or i (asm instruction).
447
448@item size
449can be b (8 bits), h (16 bits), w (32 bits) or g (64 bits). On x86,
450@code{h} or @code{w} can be specified with the @code{i} format to
451respectively select 16 or 32 bit code instruction size.
452
453@end table
454
455Examples:
456@itemize
457@item
458Dump 10 instructions at the current instruction pointer:
459@example
460(qemu) x/10i $eip
4610x90107063: ret
4620x90107064: sti
4630x90107065: lea 0x0(%esi,1),%esi
4640x90107069: lea 0x0(%edi,1),%edi
4650x90107070: ret
4660x90107071: jmp 0x90107080
4670x90107073: nop
4680x90107074: nop
4690x90107075: nop
4700x90107076: nop
471@end example
472
473@item
474Dump 80 16 bit values at the start of the video memory.
475@smallexample
476(qemu) xp/80hx 0xb8000
4770x000b8000: 0x0b50 0x0b6c 0x0b65 0x0b78 0x0b38 0x0b36 0x0b2f 0x0b42
4780x000b8010: 0x0b6f 0x0b63 0x0b68 0x0b73 0x0b20 0x0b56 0x0b47 0x0b41
4790x000b8020: 0x0b42 0x0b69 0x0b6f 0x0b73 0x0b20 0x0b63 0x0b75 0x0b72
4800x000b8030: 0x0b72 0x0b65 0x0b6e 0x0b74 0x0b2d 0x0b63 0x0b76 0x0b73
4810x000b8040: 0x0b20 0x0b30 0x0b35 0x0b20 0x0b4e 0x0b6f 0x0b76 0x0b20
4820x000b8050: 0x0b32 0x0b30 0x0b30 0x0b33 0x0720 0x0720 0x0720 0x0720
4830x000b8060: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
4840x000b8070: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
4850x000b8080: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
4860x000b8090: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
487@end smallexample
488@end itemize
489ETEXI
490
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300491 {
492 .name = "p|print",
493 .args_type = "fmt:/,val:l",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300494 .params = "/fmt expr",
495 .help = "print expression value (use $reg for CPU register access)",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300496 .mhandler.cmd = do_print,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300497 },
498
Blue Swirl23130862009-06-06 08:22:04 +0000499STEXI
500@item p or print/@var{fmt} @var{expr}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100501@findex print
Blue Swirl23130862009-06-06 08:22:04 +0000502
503Print expression value. Only the @var{format} part of @var{fmt} is
504used.
505ETEXI
506
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300507 {
508 .name = "i",
509 .args_type = "fmt:/,addr:i,index:i.",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300510 .params = "/fmt addr",
511 .help = "I/O port read",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300512 .mhandler.cmd = do_ioport_read,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300513 },
514
Blue Swirl23130862009-06-06 08:22:04 +0000515STEXI
516Read I/O port.
517ETEXI
518
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300519 {
520 .name = "o",
521 .args_type = "fmt:/,addr:i,val:i",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300522 .params = "/fmt addr value",
523 .help = "I/O port write",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300524 .mhandler.cmd = do_ioport_write,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300525 },
526
Jan Kiszkaf1147842009-07-14 10:20:11 +0200527STEXI
528Write to I/O port.
529ETEXI
Blue Swirl23130862009-06-06 08:22:04 +0000530
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300531 {
532 .name = "sendkey",
Amos Kong2ef20c12012-08-31 10:56:22 +0800533 .args_type = "keys:s,hold-time:i?",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300534 .params = "keys [hold_ms]",
535 .help = "send keys to the VM (e.g. 'sendkey ctrl-alt-f1', default hold time=100 ms)",
Amos Konge4c8f002012-08-31 10:56:26 +0800536 .mhandler.cmd = hmp_send_key,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300537 },
538
Blue Swirl23130862009-06-06 08:22:04 +0000539STEXI
540@item sendkey @var{keys}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100541@findex sendkey
Blue Swirl23130862009-06-06 08:22:04 +0000542
Amos Kong886cc702012-08-31 10:56:20 +0800543Send @var{keys} to the guest. @var{keys} could be the name of the
544key or the raw value in hexadecimal format. Use @code{-} to press
545several keys simultaneously. Example:
Blue Swirl23130862009-06-06 08:22:04 +0000546@example
547sendkey ctrl-alt-f1
548@end example
549
550This command is useful to send keys that your graphical user interface
551intercepts at low level, such as @code{ctrl-alt-f1} in X Window.
552ETEXI
553
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300554 {
555 .name = "system_reset",
556 .args_type = "",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300557 .params = "",
558 .help = "reset the system",
Luiz Capitulino38d22652011-09-15 14:41:46 -0300559 .mhandler.cmd = hmp_system_reset,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300560 },
561
Blue Swirl23130862009-06-06 08:22:04 +0000562STEXI
563@item system_reset
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100564@findex system_reset
Blue Swirl23130862009-06-06 08:22:04 +0000565
566Reset the system.
567ETEXI
568
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300569 {
570 .name = "system_powerdown",
571 .args_type = "",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300572 .params = "",
573 .help = "send system power down event",
Luiz Capitulino5bc465e2011-09-28 11:06:15 -0300574 .mhandler.cmd = hmp_system_powerdown,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300575 },
576
Blue Swirl23130862009-06-06 08:22:04 +0000577STEXI
578@item system_powerdown
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100579@findex system_powerdown
Blue Swirl23130862009-06-06 08:22:04 +0000580
581Power down the system (if supported).
582ETEXI
583
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300584 {
585 .name = "sum",
586 .args_type = "start:i,size:i",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300587 .params = "addr size",
588 .help = "compute the checksum of a memory region",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300589 .mhandler.cmd = do_sum,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300590 },
591
Blue Swirl23130862009-06-06 08:22:04 +0000592STEXI
593@item sum @var{addr} @var{size}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100594@findex sum
Blue Swirl23130862009-06-06 08:22:04 +0000595
596Compute the checksum of a memory region.
597ETEXI
598
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300599 {
600 .name = "usb_add",
601 .args_type = "devname:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300602 .params = "device",
603 .help = "add USB device (e.g. 'host:bus.addr' or 'host:vendor_id:product_id')",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300604 .mhandler.cmd = do_usb_add,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300605 },
606
Blue Swirl23130862009-06-06 08:22:04 +0000607STEXI
608@item usb_add @var{devname}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100609@findex usb_add
Blue Swirl23130862009-06-06 08:22:04 +0000610
611Add the USB device @var{devname}. For details of available devices see
612@ref{usb_devices}
613ETEXI
614
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300615 {
616 .name = "usb_del",
617 .args_type = "devname:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300618 .params = "device",
619 .help = "remove USB device 'bus.addr'",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300620 .mhandler.cmd = do_usb_del,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300621 },
622
Blue Swirl23130862009-06-06 08:22:04 +0000623STEXI
624@item usb_del @var{devname}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100625@findex usb_del
Blue Swirl23130862009-06-06 08:22:04 +0000626
627Remove the USB device @var{devname} from the QEMU virtual USB
628hub. @var{devname} has the syntax @code{bus.addr}. Use the monitor
629command @code{info usb} to see the devices you can remove.
630ETEXI
631
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300632 {
633 .name = "device_add",
Markus Armbrusterc7e4e8c2010-02-10 20:47:28 +0100634 .args_type = "device:O",
635 .params = "driver[,prop=value][,...]",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300636 .help = "add device, like -device on the command line",
Markus Armbruster8bc27242010-02-10 20:52:01 +0100637 .user_print = monitor_user_noop,
638 .mhandler.cmd_new = do_device_add,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300639 },
640
Gerd Hoffmann3418bd22009-09-25 21:42:41 +0200641STEXI
642@item device_add @var{config}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100643@findex device_add
Gerd Hoffmann3418bd22009-09-25 21:42:41 +0200644
645Add device.
646ETEXI
647
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300648 {
649 .name = "device_del",
650 .args_type = "id:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300651 .params = "device",
652 .help = "remove device",
Luiz Capitulinoa15fef22012-03-29 12:38:50 -0300653 .mhandler.cmd = hmp_device_del,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300654 },
655
Gerd Hoffmann3418bd22009-09-25 21:42:41 +0200656STEXI
657@item device_del @var{id}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100658@findex device_del
Gerd Hoffmann3418bd22009-09-25 21:42:41 +0200659
660Remove device @var{id}.
661ETEXI
662
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300663 {
664 .name = "cpu",
665 .args_type = "index:i",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300666 .params = "index",
667 .help = "set the default CPU",
Luiz Capitulino755f1962011-10-06 14:31:39 -0300668 .mhandler.cmd = hmp_cpu,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300669 },
Gerd Hoffmann3418bd22009-09-25 21:42:41 +0200670
Blue Swirl23130862009-06-06 08:22:04 +0000671STEXI
Markus Armbrusterc427ea92010-05-04 13:20:32 +0200672@item cpu @var{index}
673@findex cpu
Blue Swirl23130862009-06-06 08:22:04 +0000674Set the default CPU.
675ETEXI
676
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300677 {
678 .name = "mouse_move",
679 .args_type = "dx_str:s,dy_str:s,dz_str:s?",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300680 .params = "dx dy [dz]",
681 .help = "send mouse move events",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300682 .mhandler.cmd = do_mouse_move,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300683 },
684
Blue Swirl23130862009-06-06 08:22:04 +0000685STEXI
686@item mouse_move @var{dx} @var{dy} [@var{dz}]
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100687@findex mouse_move
Blue Swirl23130862009-06-06 08:22:04 +0000688Move the active mouse to the specified coordinates @var{dx} @var{dy}
689with optional scroll axis @var{dz}.
690ETEXI
691
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300692 {
693 .name = "mouse_button",
694 .args_type = "button_state:i",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300695 .params = "state",
696 .help = "change mouse button state (1=L, 2=M, 4=R)",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300697 .mhandler.cmd = do_mouse_button,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300698 },
699
Blue Swirl23130862009-06-06 08:22:04 +0000700STEXI
701@item mouse_button @var{val}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100702@findex mouse_button
Blue Swirl23130862009-06-06 08:22:04 +0000703Change the active mouse button state @var{val} (1=L, 2=M, 4=R).
704ETEXI
705
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300706 {
707 .name = "mouse_set",
708 .args_type = "index:i",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300709 .params = "index",
710 .help = "set which mouse device receives events",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300711 .mhandler.cmd = do_mouse_set,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300712 },
713
Blue Swirl23130862009-06-06 08:22:04 +0000714STEXI
715@item mouse_set @var{index}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100716@findex mouse_set
Blue Swirl23130862009-06-06 08:22:04 +0000717Set which mouse device receives events at given @var{index}, index
718can be obtained with
719@example
720info mice
721@end example
722ETEXI
723
724#ifdef HAS_AUDIO
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300725 {
726 .name = "wavcapture",
727 .args_type = "path:F,freq:i?,bits:i?,nchannels:i?",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300728 .params = "path [frequency [bits [channels]]]",
729 .help = "capture audio to a wave file (default frequency=44100 bits=16 channels=2)",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300730 .mhandler.cmd = do_wav_capture,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300731 },
Blue Swirl23130862009-06-06 08:22:04 +0000732#endif
733STEXI
734@item wavcapture @var{filename} [@var{frequency} [@var{bits} [@var{channels}]]]
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100735@findex wavcapture
Blue Swirl23130862009-06-06 08:22:04 +0000736Capture audio into @var{filename}. Using sample rate @var{frequency}
737bits per sample @var{bits} and number of channels @var{channels}.
738
739Defaults:
740@itemize @minus
741@item Sample rate = 44100 Hz - CD quality
742@item Bits = 16
743@item Number of channels = 2 - Stereo
744@end itemize
745ETEXI
746
747#ifdef HAS_AUDIO
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300748 {
749 .name = "stopcapture",
750 .args_type = "n:i",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300751 .params = "capture index",
752 .help = "stop capture",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300753 .mhandler.cmd = do_stop_capture,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300754 },
Blue Swirl23130862009-06-06 08:22:04 +0000755#endif
756STEXI
757@item stopcapture @var{index}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100758@findex stopcapture
Blue Swirl23130862009-06-06 08:22:04 +0000759Stop capture with a given @var{index}, index can be obtained with
760@example
761info capture
762@end example
763ETEXI
764
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300765 {
766 .name = "memsave",
767 .args_type = "val:l,size:i,filename:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300768 .params = "addr size file",
769 .help = "save to disk virtual memory dump starting at 'addr' of size 'size'",
Luiz Capitulino0cfd6a92011-11-22 16:32:37 -0200770 .mhandler.cmd = hmp_memsave,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300771 },
772
Blue Swirl23130862009-06-06 08:22:04 +0000773STEXI
774@item memsave @var{addr} @var{size} @var{file}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100775@findex memsave
Blue Swirl23130862009-06-06 08:22:04 +0000776save to disk virtual memory dump starting at @var{addr} of size @var{size}.
777ETEXI
778
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300779 {
780 .name = "pmemsave",
781 .args_type = "val:l,size:i,filename:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300782 .params = "addr size file",
783 .help = "save to disk physical memory dump starting at 'addr' of size 'size'",
Luiz Capitulino6d3962b2011-11-22 17:26:46 -0200784 .mhandler.cmd = hmp_pmemsave,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300785 },
786
Blue Swirl23130862009-06-06 08:22:04 +0000787STEXI
788@item pmemsave @var{addr} @var{size} @var{file}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100789@findex pmemsave
Blue Swirl23130862009-06-06 08:22:04 +0000790save to disk physical memory dump starting at @var{addr} of size @var{size}.
791ETEXI
792
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300793 {
794 .name = "boot_set",
795 .args_type = "bootdevice:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300796 .params = "bootdevice",
797 .help = "define new values for the boot device list",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300798 .mhandler.cmd = do_boot_set,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300799 },
800
Blue Swirl23130862009-06-06 08:22:04 +0000801STEXI
802@item boot_set @var{bootdevicelist}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100803@findex boot_set
Blue Swirl23130862009-06-06 08:22:04 +0000804
805Define new values for the boot device list. Those values will override
806the values specified on the command line through the @code{-boot} option.
807
808The values that can be specified here depend on the machine type, but are
809the same that can be specified in the @code{-boot} command line option.
810ETEXI
811
812#if defined(TARGET_I386)
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300813 {
814 .name = "nmi",
Luiz Capitulinoe9b4b432011-04-29 12:11:50 -0300815 .args_type = "",
816 .params = "",
817 .help = "inject an NMI on all guest's CPUs",
Luiz Capitulinoab49ab52011-11-23 12:55:53 -0200818 .mhandler.cmd = hmp_inject_nmi,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300819 },
Blue Swirl23130862009-06-06 08:22:04 +0000820#endif
821STEXI
822@item nmi @var{cpu}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100823@findex nmi
Blue Swirl23130862009-06-06 08:22:04 +0000824Inject an NMI on the given CPU (x86 only).
825ETEXI
826
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300827 {
828 .name = "migrate",
lirans@il.ibm.comfbc3d962009-11-02 15:41:13 +0200829 .args_type = "detach:-d,blk:-b,inc:-i,uri:s",
830 .params = "[-d] [-b] [-i] uri",
831 .help = "migrate to URI (using -d to not wait for completion)"
832 "\n\t\t\t -b for migration without shared storage with"
833 " full copy of disk\n\t\t\t -i for migration without "
834 "shared storage with incremental copy of disk "
835 "(base image shared between src and destination)",
Luiz Capitulinoe1c37d02011-12-05 14:48:01 -0200836 .mhandler.cmd = hmp_migrate,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300837 },
838
lirans@il.ibm.comfbc3d962009-11-02 15:41:13 +0200839
Blue Swirl23130862009-06-06 08:22:04 +0000840STEXI
lirans@il.ibm.comfbc3d962009-11-02 15:41:13 +0200841@item migrate [-d] [-b] [-i] @var{uri}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100842@findex migrate
Blue Swirl23130862009-06-06 08:22:04 +0000843Migrate to @var{uri} (using -d to not wait for completion).
lirans@il.ibm.comfbc3d962009-11-02 15:41:13 +0200844 -b for migration with full copy of disk
845 -i for migration with incremental copy of disk (base image is shared)
Blue Swirl23130862009-06-06 08:22:04 +0000846ETEXI
847
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300848 {
849 .name = "migrate_cancel",
850 .args_type = "",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300851 .params = "",
852 .help = "cancel the current VM migration",
Luiz Capitulino6cdedb02011-11-27 22:54:09 -0200853 .mhandler.cmd = hmp_migrate_cancel,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300854 },
855
Blue Swirl23130862009-06-06 08:22:04 +0000856STEXI
857@item migrate_cancel
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100858@findex migrate_cancel
Blue Swirl23130862009-06-06 08:22:04 +0000859Cancel the current VM migration.
Orit Wasserman9e1ba4c2012-08-06 21:42:54 +0300860
861ETEXI
862
863 {
864 .name = "migrate_set_cache_size",
865 .args_type = "value:o",
866 .params = "value",
867 .help = "set cache size (in bytes) for XBZRLE migrations,"
868 "the cache size will be rounded down to the nearest "
869 "power of 2.\n"
870 "The cache size affects the number of cache misses."
871 "In case of a high cache miss ratio you need to increase"
872 " the cache size",
873 .mhandler.cmd = hmp_migrate_set_cache_size,
874 },
875
876STEXI
877@item migrate_set_cache_size @var{value}
878@findex migrate_set_cache_size
879Set cache size to @var{value} (in bytes) for xbzrle migrations.
Blue Swirl23130862009-06-06 08:22:04 +0000880ETEXI
881
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300882 {
883 .name = "migrate_set_speed",
Jes Sorensened3d4a82010-10-21 17:15:48 +0200884 .args_type = "value:o",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300885 .params = "value",
Jes Sorensened3d4a82010-10-21 17:15:48 +0200886 .help = "set maximum speed (in bytes) for migrations. "
887 "Defaults to MB if no size suffix is specified, ie. B/K/M/G/T",
Luiz Capitulino3dc85382011-11-28 11:59:37 -0200888 .mhandler.cmd = hmp_migrate_set_speed,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300889 },
890
Blue Swirl23130862009-06-06 08:22:04 +0000891STEXI
892@item migrate_set_speed @var{value}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100893@findex migrate_set_speed
Blue Swirl23130862009-06-06 08:22:04 +0000894Set maximum speed to @var{value} (in bytes) for migrations.
895ETEXI
896
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300897 {
898 .name = "migrate_set_downtime",
Markus Armbrusterb0fbf7d2010-01-25 14:23:07 +0100899 .args_type = "value:T",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300900 .params = "value",
901 .help = "set maximum tolerated downtime (in seconds) for migrations",
Luiz Capitulino4f0a9932011-11-27 23:18:01 -0200902 .mhandler.cmd = hmp_migrate_set_downtime,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300903 },
Glauber Costa2ea42952009-05-28 15:22:58 -0400904
905STEXI
906@item migrate_set_downtime @var{second}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100907@findex migrate_set_downtime
Glauber Costa2ea42952009-05-28 15:22:58 -0400908Set maximum tolerated downtime (in seconds) for migration.
909ETEXI
910
Jes Sorensenf8882562010-12-16 13:52:16 +0100911 {
Orit Wasserman00458432012-08-06 21:42:48 +0300912 .name = "migrate_set_capability",
913 .args_type = "capability:s,state:b",
914 .params = "capability state",
915 .help = "Enable/Disable the usage of a capability for migration",
916 .mhandler.cmd = hmp_migrate_set_capability,
917 },
918
919STEXI
920@item migrate_set_capability @var{capability} @var{state}
921@findex migrate_set_capability
922Enable/Disable the usage of a capability @var{capability} for migration.
923ETEXI
924
925 {
Jes Sorensen2ea720d2011-03-09 16:54:34 +0100926 .name = "client_migrate_info",
927 .args_type = "protocol:s,hostname:s,port:i?,tls-port:i?,cert-subject:s?",
928 .params = "protocol hostname port tls-port cert-subject",
929 .help = "send migration info to spice/vnc client",
930 .user_print = monitor_user_noop,
Yonit Halperinedc5cb12011-10-17 10:03:18 +0200931 .mhandler.cmd_async = client_migrate_info,
932 .flags = MONITOR_CMD_ASYNC,
Jes Sorensenf8882562010-12-16 13:52:16 +0100933 },
934
935STEXI
Gerd Hoffmanne866e232010-04-23 13:28:21 +0200936@item client_migrate_info @var{protocol} @var{hostname} @var{port} @var{tls-port} @var{cert-subject}
937@findex client_migrate_info
938Set the spice/vnc connection info for the migration target. The spice/vnc
939server will ask the spice/vnc client to automatically reconnect using the
940new parameters (if specified) once the vm migration finished successfully.
941ETEXI
942
Wen Congyang783e9b42012-05-07 12:10:47 +0800943#if defined(CONFIG_HAVE_CORE_DUMP)
944 {
945 .name = "dump-guest-memory",
Luiz Capitulino75363762012-09-21 13:53:00 -0300946 .args_type = "paging:-p,filename:F,begin:i?,length:i?",
947 .params = "[-p] filename [begin] [length]",
Wen Congyang783e9b42012-05-07 12:10:47 +0800948 .help = "dump guest memory to file"
949 "\n\t\t\t begin(optional): the starting physical address"
950 "\n\t\t\t length(optional): the memory size, in bytes",
Wen Congyang783e9b42012-05-07 12:10:47 +0800951 .mhandler.cmd = hmp_dump_guest_memory,
952 },
953
954
955STEXI
956@item dump-guest-memory [-p] @var{protocol} @var{begin} @var{length}
957@findex dump-guest-memory
958Dump guest memory to @var{protocol}. The file can be processed with crash or
959gdb.
Luiz Capitulino75363762012-09-21 13:53:00 -0300960 filename: dump file name
Wen Congyang783e9b42012-05-07 12:10:47 +0800961 paging: do paging to get guest's memory mapping
962 begin: the starting physical address. It's optional, and should be
963 specified with length together.
964 length: the memory size, in bytes. It's optional, and should be specified
965 with begin together.
966ETEXI
967#endif
968
Gerd Hoffmanne866e232010-04-23 13:28:21 +0200969 {
Jes Sorensen2ea720d2011-03-09 16:54:34 +0100970 .name = "snapshot_blkdev",
Paolo Bonzini6cc2a412012-03-06 18:55:59 +0100971 .args_type = "reuse:-n,device:B,snapshot-file:s?,format:s?",
972 .params = "[-n] device [new-image-file] [format]",
Jes Sorensen2ea720d2011-03-09 16:54:34 +0100973 .help = "initiates a live snapshot\n\t\t\t"
974 "of device. If a new image file is specified, the\n\t\t\t"
975 "new image file will become the new root image.\n\t\t\t"
976 "If format is specified, the snapshot file will\n\t\t\t"
977 "be created in that format. Otherwise the\n\t\t\t"
Paolo Bonzini6cc2a412012-03-06 18:55:59 +0100978 "snapshot will be internal! (currently unsupported).\n\t\t\t"
979 "The default format is qcow2. The -n flag requests QEMU\n\t\t\t"
980 "to reuse the image found in new-image-file, instead of\n\t\t\t"
981 "recreating it from scratch.",
Luiz Capitulino6106e242011-11-25 16:15:19 -0200982 .mhandler.cmd = hmp_snapshot_blkdev,
Gerd Hoffmanne866e232010-04-23 13:28:21 +0200983 },
984
985STEXI
Jes Sorensenf8882562010-12-16 13:52:16 +0100986@item snapshot_blkdev
987@findex snapshot_blkdev
988Snapshot device, using snapshot file as target if provided
989ETEXI
990
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300991 {
992 .name = "drive_add",
993 .args_type = "pci_addr:s,opts:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300994 .params = "[[<domain>:]<bus>:]<slot>\n"
995 "[file=file][,if=type][,bus=n]\n"
Stefan Hajnoczifb0490f2011-11-17 13:40:32 +0000996 "[,unit=m][,media=d][,index=i]\n"
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300997 "[,cyls=c,heads=h,secs=s[,trans=t]]\n"
Stefan Hajnoczifb0490f2011-11-17 13:40:32 +0000998 "[,snapshot=on|off][,cache=on|off]\n"
999 "[,readonly=on|off][,copy-on-read=on|off]",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001000 .help = "add drive to PCI storage controller",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -03001001 .mhandler.cmd = drive_hot_add,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001002 },
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001003
Blue Swirl23130862009-06-06 08:22:04 +00001004STEXI
1005@item drive_add
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001006@findex drive_add
Blue Swirl23130862009-06-06 08:22:04 +00001007Add drive to PCI storage controller.
1008ETEXI
1009
1010#if defined(TARGET_I386)
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001011 {
1012 .name = "pci_add",
1013 .args_type = "pci_addr:s,type:s,opts:s?",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001014 .params = "auto|[[<domain>:]<bus>:]<slot> nic|storage [[vlan=n][,macaddr=addr][,model=type]] [file=file][,if=type][,bus=nr]...",
1015 .help = "hot-add PCI device",
Markus Armbruster6c6a58a2010-05-12 10:53:00 +02001016 .mhandler.cmd = pci_device_hot_add,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001017 },
Blue Swirl23130862009-06-06 08:22:04 +00001018#endif
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001019
Blue Swirl23130862009-06-06 08:22:04 +00001020STEXI
1021@item pci_add
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001022@findex pci_add
Blue Swirl23130862009-06-06 08:22:04 +00001023Hot-add PCI device.
1024ETEXI
1025
1026#if defined(TARGET_I386)
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001027 {
1028 .name = "pci_del",
1029 .args_type = "pci_addr:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001030 .params = "[[<domain>:]<bus>:]<slot>",
1031 .help = "hot remove PCI device",
Markus Armbrusterb752daf2010-05-12 10:53:01 +02001032 .mhandler.cmd = do_pci_device_hot_remove,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001033 },
Blue Swirl23130862009-06-06 08:22:04 +00001034#endif
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001035
Blue Swirl23130862009-06-06 08:22:04 +00001036STEXI
1037@item pci_del
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001038@findex pci_del
Blue Swirl23130862009-06-06 08:22:04 +00001039Hot remove PCI device.
1040ETEXI
1041
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001042 {
Isaku Yamahata2ae63bd2010-12-24 12:14:14 +09001043 .name = "pcie_aer_inject_error",
1044 .args_type = "advisory_non_fatal:-a,correctable:-c,"
1045 "id:s,error_status:s,"
1046 "header0:i?,header1:i?,header2:i?,header3:i?,"
1047 "prefix0:i?,prefix1:i?,prefix2:i?,prefix3:i?",
1048 .params = "[-a] [-c] id "
1049 "<error_status> [<tlp header> [<tlp header prefix>]]",
1050 .help = "inject pcie aer error\n\t\t\t"
1051 " -a for advisory non fatal error\n\t\t\t"
1052 " -c for correctable error\n\t\t\t"
1053 "<id> = qdev device id\n\t\t\t"
1054 "<error_status> = error string or 32bit\n\t\t\t"
1055 "<tlb header> = 32bit x 4\n\t\t\t"
1056 "<tlb header prefix> = 32bit x 4",
1057 .user_print = pcie_aer_inject_error_print,
Zhi Yong Wu1f3392b2011-11-30 12:39:47 +08001058 .mhandler.cmd_new = do_pcie_aer_inject_error,
Isaku Yamahata2ae63bd2010-12-24 12:14:14 +09001059 },
1060
1061STEXI
1062@item pcie_aer_inject_error
1063@findex pcie_aer_inject_error
1064Inject PCIe AER error
1065ETEXI
1066
1067 {
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001068 .name = "host_net_add",
1069 .args_type = "device:s,opts:s?",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001070 .params = "tap|user|socket|vde|dump [options]",
1071 .help = "add host VLAN client",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -03001072 .mhandler.cmd = net_host_device_add,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001073 },
1074
Blue Swirl23130862009-06-06 08:22:04 +00001075STEXI
1076@item host_net_add
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001077@findex host_net_add
Blue Swirl23130862009-06-06 08:22:04 +00001078Add host VLAN client.
1079ETEXI
1080
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001081 {
1082 .name = "host_net_remove",
1083 .args_type = "vlan_id:i,device:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001084 .params = "vlan_id name",
1085 .help = "remove host VLAN client",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -03001086 .mhandler.cmd = net_host_device_remove,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001087 },
1088
Blue Swirl23130862009-06-06 08:22:04 +00001089STEXI
1090@item host_net_remove
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001091@findex host_net_remove
Blue Swirl23130862009-06-06 08:22:04 +00001092Remove host VLAN client.
1093ETEXI
1094
Markus Armbrusterae82d322010-03-25 17:22:40 +01001095 {
1096 .name = "netdev_add",
1097 .args_type = "netdev:O",
1098 .params = "[user|tap|socket],id=str[,prop=value][,...]",
1099 .help = "add host network device",
Luiz Capitulino928059a2012-04-18 17:34:15 -03001100 .mhandler.cmd = hmp_netdev_add,
Markus Armbrusterae82d322010-03-25 17:22:40 +01001101 },
1102
1103STEXI
1104@item netdev_add
1105@findex netdev_add
1106Add host network device.
1107ETEXI
1108
1109 {
1110 .name = "netdev_del",
1111 .args_type = "id:s",
1112 .params = "id",
1113 .help = "remove host network device",
Luiz Capitulino5f964152012-04-16 14:36:32 -03001114 .mhandler.cmd = hmp_netdev_del,
Markus Armbrusterae82d322010-03-25 17:22:40 +01001115 },
1116
1117STEXI
1118@item netdev_del
1119@findex netdev_del
1120Remove host network device.
1121ETEXI
1122
Blue Swirl23130862009-06-06 08:22:04 +00001123#ifdef CONFIG_SLIRP
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001124 {
1125 .name = "hostfwd_add",
1126 .args_type = "arg1:s,arg2:s?,arg3:s?",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001127 .params = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport",
1128 .help = "redirect TCP or UDP connections from host to guest (requires -net user)",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -03001129 .mhandler.cmd = net_slirp_hostfwd_add,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001130 },
Markus Armbruster21413d62010-05-04 13:20:30 +02001131#endif
1132STEXI
1133@item hostfwd_add
1134@findex hostfwd_add
1135Redirect TCP or UDP connections from host to guest (requires -net user).
1136ETEXI
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001137
Markus Armbruster21413d62010-05-04 13:20:30 +02001138#ifdef CONFIG_SLIRP
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001139 {
1140 .name = "hostfwd_remove",
1141 .args_type = "arg1:s,arg2:s?,arg3:s?",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001142 .params = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport",
1143 .help = "remove host-to-guest TCP or UDP redirection",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -03001144 .mhandler.cmd = net_slirp_hostfwd_remove,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001145 },
1146
Blue Swirl23130862009-06-06 08:22:04 +00001147#endif
1148STEXI
Markus Armbruster21413d62010-05-04 13:20:30 +02001149@item hostfwd_remove
1150@findex hostfwd_remove
1151Remove host-to-guest TCP or UDP redirection.
Blue Swirl23130862009-06-06 08:22:04 +00001152ETEXI
1153
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001154 {
1155 .name = "balloon",
Luiz Capitulino3b0bd6e2009-12-18 13:25:05 -02001156 .args_type = "value:M",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001157 .params = "target",
Riccardo Magliocchetti3c056132010-05-19 18:49:28 +02001158 .help = "request VM to change its memory allocation (in MB)",
Luiz Capitulinod72f3262011-11-25 14:38:09 -02001159 .mhandler.cmd = hmp_balloon,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001160 },
1161
Blue Swirl23130862009-06-06 08:22:04 +00001162STEXI
1163@item balloon @var{value}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001164@findex balloon
Blue Swirl23130862009-06-06 08:22:04 +00001165Request VM to change its memory allocation to @var{value} (in MB).
1166ETEXI
1167
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001168 {
1169 .name = "set_link",
Markus Armbrusterc9b26a42010-03-26 09:07:10 +01001170 .args_type = "name:s,up:b",
1171 .params = "name on|off",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001172 .help = "change the link status of a network adapter",
Luiz Capitulino4b371562011-11-23 13:11:55 -02001173 .mhandler.cmd = hmp_set_link,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001174 },
1175
Blue Swirl23130862009-06-06 08:22:04 +00001176STEXI
Markus Armbrusterc9b26a42010-03-26 09:07:10 +01001177@item set_link @var{name} [on|off]
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001178@findex set_link
Markus Armbrusterc9b26a42010-03-26 09:07:10 +01001179Switch link @var{name} on (i.e. up) or off (i.e. down).
Blue Swirl23130862009-06-06 08:22:04 +00001180ETEXI
1181
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001182 {
1183 .name = "watchdog_action",
1184 .args_type = "action:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001185 .params = "[reset|shutdown|poweroff|pause|debug|none]",
1186 .help = "change watchdog action",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -03001187 .mhandler.cmd = do_watchdog_action,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001188 },
1189
Blue Swirl23130862009-06-06 08:22:04 +00001190STEXI
1191@item watchdog_action
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001192@findex watchdog_action
Blue Swirl23130862009-06-06 08:22:04 +00001193Change watchdog action.
1194ETEXI
1195
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001196 {
1197 .name = "acl_show",
1198 .args_type = "aclname:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001199 .params = "aclname",
1200 .help = "list rules in the access control list",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -03001201 .mhandler.cmd = do_acl_show,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001202 },
1203
Blue Swirl23130862009-06-06 08:22:04 +00001204STEXI
Jan Kiszka15dfcd42009-06-25 08:22:08 +02001205@item acl_show @var{aclname}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001206@findex acl_show
Jan Kiszka15dfcd42009-06-25 08:22:08 +02001207List all the matching rules in the access control list, and the default
1208policy. There are currently two named access control lists,
1209@var{vnc.x509dname} and @var{vnc.username} matching on the x509 client
1210certificate distinguished name, and SASL username respectively.
1211ETEXI
Blue Swirl23130862009-06-06 08:22:04 +00001212
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001213 {
1214 .name = "acl_policy",
1215 .args_type = "aclname:s,policy:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001216 .params = "aclname allow|deny",
1217 .help = "set default access control list policy",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -03001218 .mhandler.cmd = do_acl_policy,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001219 },
1220
Jan Kiszka15dfcd42009-06-25 08:22:08 +02001221STEXI
Jan Kiszkacbbfacc2009-07-03 08:46:05 +02001222@item acl_policy @var{aclname} @code{allow|deny}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001223@findex acl_policy
Jan Kiszka15dfcd42009-06-25 08:22:08 +02001224Set the default access control list policy, used in the event that
Blue Swirl23130862009-06-06 08:22:04 +00001225none of the explicit rules match. The default policy at startup is
Jan Kiszka15dfcd42009-06-25 08:22:08 +02001226always @code{deny}.
1227ETEXI
1228
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001229 {
1230 .name = "acl_add",
1231 .args_type = "aclname:s,match:s,policy:s,index:i?",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001232 .params = "aclname match allow|deny [index]",
1233 .help = "add a match rule to the access control list",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -03001234 .mhandler.cmd = do_acl_add,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001235 },
1236
Jan Kiszka15dfcd42009-06-25 08:22:08 +02001237STEXI
Markus Armbruster0e4aec92010-05-04 13:20:31 +02001238@item acl_add @var{aclname} @var{match} @code{allow|deny} [@var{index}]
1239@findex acl_add
Jan Kiszka15dfcd42009-06-25 08:22:08 +02001240Add a match rule to the access control list, allowing or denying access.
1241The match will normally be an exact username or x509 distinguished name,
1242but can optionally include wildcard globs. eg @code{*@@EXAMPLE.COM} to
1243allow all users in the @code{EXAMPLE.COM} kerberos realm. The match will
Blue Swirl23130862009-06-06 08:22:04 +00001244normally be appended to the end of the ACL, but can be inserted
Jan Kiszka15dfcd42009-06-25 08:22:08 +02001245earlier in the list if the optional @var{index} parameter is supplied.
1246ETEXI
1247
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001248 {
1249 .name = "acl_remove",
1250 .args_type = "aclname:s,match:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001251 .params = "aclname match",
1252 .help = "remove a match rule from the access control list",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -03001253 .mhandler.cmd = do_acl_remove,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001254 },
1255
Jan Kiszka15dfcd42009-06-25 08:22:08 +02001256STEXI
1257@item acl_remove @var{aclname} @var{match}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001258@findex acl_remove
Jan Kiszka15dfcd42009-06-25 08:22:08 +02001259Remove the specified match rule from the access control list.
1260ETEXI
1261
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001262 {
1263 .name = "acl_reset",
1264 .args_type = "aclname:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001265 .params = "aclname",
1266 .help = "reset the access control list",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -03001267 .mhandler.cmd = do_acl_reset,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001268 },
1269
Jan Kiszka15dfcd42009-06-25 08:22:08 +02001270STEXI
Markus Armbruster0e4aec92010-05-04 13:20:31 +02001271@item acl_reset @var{aclname}
1272@findex acl_reset
Jan Kiszka15dfcd42009-06-25 08:22:08 +02001273Remove all matches from the access control list, and set the default
Blue Swirl23130862009-06-06 08:22:04 +00001274policy back to @code{deny}.
Blue Swirl23130862009-06-06 08:22:04 +00001275ETEXI
1276
Huang Ying79c4f6b2009-06-23 10:05:14 +08001277#if defined(TARGET_I386)
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001278
1279 {
1280 .name = "mce",
Jin Dongming31ce5e02010-12-10 17:21:02 +09001281 .args_type = "broadcast:-b,cpu_index:i,bank:i,status:l,mcg_status:l,addr:l,misc:l",
1282 .params = "[-b] cpu bank status mcgstatus addr misc",
1283 .help = "inject a MCE on the given CPU [and broadcast to other CPUs with -b option]",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -03001284 .mhandler.cmd = do_inject_mce,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001285 },
1286
Huang Ying79c4f6b2009-06-23 10:05:14 +08001287#endif
1288STEXI
1289@item mce @var{cpu} @var{bank} @var{status} @var{mcgstatus} @var{addr} @var{misc}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001290@findex mce (x86)
Huang Ying79c4f6b2009-06-23 10:05:14 +08001291Inject an MCE on the given CPU (x86 only).
1292ETEXI
1293
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001294 {
1295 .name = "getfd",
1296 .args_type = "fdname:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001297 .params = "getfd name",
1298 .help = "receive a file descriptor via SCM rights and assign it a name",
Corey Bryant208c9d12012-06-22 14:36:09 -04001299 .mhandler.cmd = hmp_getfd,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001300 },
1301
Mark McLoughlinf07918f2009-07-22 09:11:40 +01001302STEXI
1303@item getfd @var{fdname}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001304@findex getfd
Mark McLoughlinf07918f2009-07-22 09:11:40 +01001305If a file descriptor is passed alongside this command using the SCM_RIGHTS
1306mechanism on unix sockets, it is stored using the name @var{fdname} for
1307later use by other monitor commands.
1308ETEXI
1309
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001310 {
1311 .name = "closefd",
1312 .args_type = "fdname:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001313 .params = "closefd name",
1314 .help = "close a file descriptor previously passed via SCM rights",
Corey Bryant208c9d12012-06-22 14:36:09 -04001315 .mhandler.cmd = hmp_closefd,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001316 },
1317
Mark McLoughlinf07918f2009-07-22 09:11:40 +01001318STEXI
1319@item closefd @var{fdname}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001320@findex closefd
Mark McLoughlinf07918f2009-07-22 09:11:40 +01001321Close the file descriptor previously assigned to @var{fdname} using the
1322@code{getfd} command. This is only needed if the file descriptor was never
1323used by another monitor command.
1324ETEXI
1325
Luiz Capitulinoa3a55a22009-12-04 15:24:09 -02001326 {
1327 .name = "block_passwd",
1328 .args_type = "device:B,password:s",
1329 .params = "block_passwd device password",
1330 .help = "set the password of encrypted block devices",
Luiz Capitulinoa4dea8a2011-11-23 13:28:21 -02001331 .mhandler.cmd = hmp_block_passwd,
Luiz Capitulinoa3a55a22009-12-04 15:24:09 -02001332 },
1333
1334STEXI
Zhi Yong Wu727f0052011-11-08 13:00:31 +08001335@item block_set_io_throttle @var{device} @var{bps} @var{bps_rd} @var{bps_wr} @var{iops} @var{iops_rd} @var{iops_wr}
1336@findex block_set_io_throttle
1337Change 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}
1338ETEXI
1339
1340 {
1341 .name = "block_set_io_throttle",
1342 .args_type = "device:B,bps:l,bps_rd:l,bps_wr:l,iops:l,iops_rd:l,iops_wr:l",
1343 .params = "device bps bps_rd bps_wr iops iops_rd iops_wr",
1344 .help = "change I/O throttle limits for a block drive",
Luiz Capitulino80047da2011-12-14 16:49:14 -02001345 .mhandler.cmd = hmp_block_set_io_throttle,
Zhi Yong Wu727f0052011-11-08 13:00:31 +08001346 },
1347
1348STEXI
Luiz Capitulinoa3a55a22009-12-04 15:24:09 -02001349@item block_passwd @var{device} @var{password}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001350@findex block_passwd
Luiz Capitulinoa3a55a22009-12-04 15:24:09 -02001351Set the encrypted device @var{device} password to @var{password}
1352ETEXI
Jan Kiszkab40292e2010-05-31 14:43:31 -03001353
Jan Kiszka33572ec2010-05-31 14:43:30 -03001354 {
Gerd Hoffmann75721502010-10-07 12:22:54 +02001355 .name = "set_password",
1356 .args_type = "protocol:s,password:s,connected:s?",
1357 .params = "protocol password action-if-connected",
1358 .help = "set spice/vnc password",
Luiz Capitulinofbf796f2011-12-07 11:17:51 -02001359 .mhandler.cmd = hmp_set_password,
Gerd Hoffmann75721502010-10-07 12:22:54 +02001360 },
1361
1362STEXI
1363@item set_password [ vnc | spice ] password [ action-if-connected ]
1364@findex set_password
1365
1366Change spice/vnc password. Use zero to make the password stay valid
1367forever. @var{action-if-connected} specifies what should happen in
1368case a connection is established: @var{fail} makes the password change
1369fail. @var{disconnect} changes the password and disconnects the
1370client. @var{keep} changes the password and keeps the connection up.
1371@var{keep} is the default.
1372ETEXI
1373
1374 {
1375 .name = "expire_password",
1376 .args_type = "protocol:s,time:s",
1377 .params = "protocol time",
1378 .help = "set spice/vnc password expire-time",
Luiz Capitulino9ad53722011-12-07 11:47:57 -02001379 .mhandler.cmd = hmp_expire_password,
Gerd Hoffmann75721502010-10-07 12:22:54 +02001380 },
1381
1382STEXI
1383@item expire_password [ vnc | spice ] expire-time
1384@findex expire_password
1385
1386Specify when a password for spice/vnc becomes
1387invalid. @var{expire-time} accepts:
1388
1389@table @var
1390@item now
1391Invalidate password instantly.
1392
1393@item never
1394Password stays valid forever.
1395
1396@item +nsec
1397Password stays valid for @var{nsec} seconds starting now.
1398
1399@item nsec
1400Password is invalidated at the given time. @var{nsec} are the seconds
1401passed since 1970, i.e. unix epoch.
1402
1403@end table
1404ETEXI
1405
1406 {
Jan Kiszka33572ec2010-05-31 14:43:30 -03001407 .name = "info",
1408 .args_type = "item:s?",
1409 .params = "[subcommand]",
1410 .help = "show various information about the system state",
Luiz Capitulino1162daa2010-09-13 12:15:26 -03001411 .mhandler.cmd = do_info,
Jan Kiszka33572ec2010-05-31 14:43:30 -03001412 },
1413
1414STEXI
1415@item info @var{subcommand}
1416@findex info
1417Show various information about the system state.
1418
1419@table @option
1420@item info version
1421show the version of QEMU
Jan Kiszka33572ec2010-05-31 14:43:30 -03001422@item info network
1423show the various VLANs and the associated devices
1424@item info chardev
1425show the character devices
1426@item info block
1427show the block devices
1428@item info blockstats
1429show block device statistics
1430@item info registers
1431show the cpu registers
1432@item info cpus
1433show infos for each CPU
1434@item info history
1435show the command line history
1436@item info irq
1437show the interrupts statistics (if available)
1438@item info pic
1439show i8259 (PIC) state
1440@item info pci
1441show emulated PCI device info
1442@item info tlb
Max Filippov692f7372012-01-07 20:02:40 +04001443show virtual to physical memory mappings (i386, SH4, SPARC, PPC, and Xtensa only)
Jan Kiszka33572ec2010-05-31 14:43:30 -03001444@item info mem
1445show the active virtual memory mappings (i386 only)
Jan Kiszka33572ec2010-05-31 14:43:30 -03001446@item info jit
1447show dynamic compiler info
Jan Kiszka33572ec2010-05-31 14:43:30 -03001448@item info numa
1449show NUMA information
Jan Kiszkab40292e2010-05-31 14:43:31 -03001450@item info kvm
1451show KVM information
Jan Kiszka33572ec2010-05-31 14:43:30 -03001452@item info usb
1453show USB devices plugged on the virtual USB hub
1454@item info usbhost
1455show all USB host devices
1456@item info profile
1457show profiling information
1458@item info capture
1459show information about active capturing
1460@item info snapshots
1461show list of VM snapshots
1462@item info status
1463show the current VM status (running|paused)
1464@item info pcmcia
1465show guest PCMCIA status
1466@item info mice
1467show which guest mouse is receiving events
1468@item info vnc
1469show the vnc server status
1470@item info name
1471show the current VM name
1472@item info uuid
1473show the current VM UUID
1474@item info cpustats
1475show CPU statistics
1476@item info usernet
1477show user network stack connection states
1478@item info migrate
1479show migration status
Orit Wassermanbbf6da32012-08-06 21:42:47 +03001480@item info migrate_capabilities
1481show current migration capabilities
Orit Wasserman9e1ba4c2012-08-06 21:42:54 +03001482@item info migrate_cache_size
1483show current migration XBZRLE cache size
Jan Kiszka33572ec2010-05-31 14:43:30 -03001484@item info balloon
1485show balloon information
1486@item info qtree
1487show device tree
1488@item info qdm
1489show qdev device model list
1490@item info roms
1491show roms
1492@end table
1493ETEXI
1494
Lluís6d8a7642011-08-31 20:30:43 +02001495#ifdef CONFIG_TRACE_SIMPLE
Prerna Saxena22890ab2010-06-24 17:04:53 +05301496STEXI
1497@item info trace
1498show contents of trace buffer
Lluís31965ae2011-08-31 20:31:24 +02001499ETEXI
1500#endif
1501
1502STEXI
Prerna Saxena22890ab2010-06-24 17:04:53 +05301503@item info trace-events
1504show available trace events and their state
1505ETEXI
Prerna Saxena22890ab2010-06-24 17:04:53 +05301506
Blue Swirl23130862009-06-06 08:22:04 +00001507STEXI
1508@end table
1509ETEXI