blob: 8df4adf8314312872ff456c8643f59c2d26df55c [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 Capitulino261394d2010-02-10 23:50:02 -020046 .mhandler.cmd_new = do_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",
60 .user_print = monitor_user_noop,
61 .mhandler.cmd_new = do_block_resize,
62 },
63
64STEXI
65@item block_resize
66@findex block_resize
67Resize a block image while a guest is running. Usually requires guest
68action to see the updated size. Resize to a lower size is supported,
69but should be used with extreme caution. Note that this command only
70resizes image files, it can not resize block devices like LVM volumes.
71ETEXI
72
73
74 {
Luiz Capitulinod7f9b682009-10-07 13:41:50 -030075 .name = "eject",
Luiz Capitulino78d714e2009-12-14 18:53:21 -020076 .args_type = "force:-f,device:B",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -030077 .params = "[-f] device",
78 .help = "eject a removable medium (use -f to force it)",
Luiz Capitulinoe1c923a2009-10-16 12:23:49 -030079 .user_print = monitor_user_noop,
Luiz Capitulino261394d2010-02-10 23:50:02 -020080 .mhandler.cmd_new = do_eject,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -030081 },
82
Blue Swirl23130862009-06-06 08:22:04 +000083STEXI
84@item eject [-f] @var{device}
Stefan Weil70fcbbe2010-02-05 23:52:04 +010085@findex eject
Blue Swirl23130862009-06-06 08:22:04 +000086Eject a removable medium (use -f to force it).
87ETEXI
88
Luiz Capitulinod7f9b682009-10-07 13:41:50 -030089 {
Ryan Harper9063f812010-11-12 11:07:13 -060090 .name = "drive_del",
91 .args_type = "id:s",
92 .params = "device",
93 .help = "remove host block device",
94 .user_print = monitor_user_noop,
95 .mhandler.cmd_new = do_drive_del,
96 },
97
98STEXI
99@item drive_del @var{device}
100@findex drive_del
101Remove host block device. The result is that guest generated IO is no longer
102submitted against the host device underlying the disk. Once a drive has
103been deleted, the QEMU Block layer returns -EIO which results in IO
104errors in the guest for applications that are reading/writing to the device.
105ETEXI
106
107 {
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300108 .name = "change",
109 .args_type = "device:B,target:F,arg:s?",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300110 .params = "device filename [format]",
111 .help = "change a removable medium, optional format",
Markus Armbrusterec3b82a2009-12-07 21:37:09 +0100112 .user_print = monitor_user_noop,
Luiz Capitulino261394d2010-02-10 23:50:02 -0200113 .mhandler.cmd_new = do_change,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300114 },
115
Blue Swirl23130862009-06-06 08:22:04 +0000116STEXI
117@item change @var{device} @var{setting}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100118@findex change
Blue Swirl23130862009-06-06 08:22:04 +0000119
120Change the configuration of a device.
121
122@table @option
123@item change @var{diskdevice} @var{filename} [@var{format}]
124Change the medium for a removable disk device to point to @var{filename}. eg
125
126@example
127(qemu) change ide1-cd0 /path/to/some.iso
128@end example
129
130@var{format} is optional.
131
132@item change vnc @var{display},@var{options}
133Change the configuration of the VNC server. The valid syntax for @var{display}
134and @var{options} are described at @ref{sec_invocation}. eg
135
136@example
137(qemu) change vnc localhost:1
138@end example
139
140@item change vnc password [@var{password}]
141
142Change the password associated with the VNC server. If the new password is not
143supplied, the monitor will prompt for it to be entered. VNC passwords are only
144significant up to 8 letters. eg
145
146@example
147(qemu) change vnc password
148Password: ********
149@end example
150
151@end table
152ETEXI
153
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300154 {
155 .name = "screendump",
156 .args_type = "filename:F",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300157 .params = "filename",
158 .help = "save screen into PPM image 'filename'",
Luiz Capitulinof1dc58e2010-03-31 15:21:49 -0300159 .user_print = monitor_user_noop,
160 .mhandler.cmd_new = do_screen_dump,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300161 },
162
Blue Swirl23130862009-06-06 08:22:04 +0000163STEXI
164@item screendump @var{filename}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100165@findex screendump
Blue Swirl23130862009-06-06 08:22:04 +0000166Save screen into PPM image @var{filename}.
167ETEXI
168
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300169 {
170 .name = "logfile",
171 .args_type = "filename:F",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300172 .params = "filename",
173 .help = "output logs to 'filename'",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300174 .mhandler.cmd = do_logfile,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300175 },
176
Blue Swirl23130862009-06-06 08:22:04 +0000177STEXI
178@item logfile @var{filename}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100179@findex logfile
Blue Swirl23130862009-06-06 08:22:04 +0000180Output logs to @var{filename}.
181ETEXI
182
Prerna Saxena22890ab2010-06-24 17:04:53 +0530183#ifdef CONFIG_SIMPLE_TRACE
184 {
185 .name = "trace-event",
186 .args_type = "name:s,option:b",
187 .params = "name on|off",
188 .help = "changes status of a specific trace event",
189 .mhandler.cmd = do_change_trace_event_state,
190 },
191
192STEXI
193@item trace-event
194@findex trace-event
195changes status of a trace event
196ETEXI
Stefan Hajnoczic5ceb522010-07-13 09:26:33 +0100197
198 {
199 .name = "trace-file",
200 .args_type = "op:s?,arg:F?",
201 .params = "on|off|flush|set [arg]",
202 .help = "open, close, or flush trace file, or set a new file name",
203 .mhandler.cmd = do_trace_file,
204 },
205
206STEXI
207@item trace-file on|off|flush
208@findex trace-file
209Open, close, or flush the trace file. If no argument is given, the status of the trace file is displayed.
210ETEXI
Prerna Saxena22890ab2010-06-24 17:04:53 +0530211#endif
212
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300213 {
214 .name = "log",
215 .args_type = "items:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300216 .params = "item1[,...]",
217 .help = "activate logging of the specified items to '/tmp/qemu.log'",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300218 .mhandler.cmd = do_log,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300219 },
220
Blue Swirl23130862009-06-06 08:22:04 +0000221STEXI
222@item log @var{item1}[,...]
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100223@findex log
Blue Swirl23130862009-06-06 08:22:04 +0000224Activate logging of the specified items to @file{/tmp/qemu.log}.
225ETEXI
226
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300227 {
228 .name = "savevm",
229 .args_type = "name:s?",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300230 .params = "[tag|id]",
231 .help = "save a VM snapshot. If no tag or id are provided, a new snapshot is created",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300232 .mhandler.cmd = do_savevm,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300233 },
234
Blue Swirl23130862009-06-06 08:22:04 +0000235STEXI
236@item savevm [@var{tag}|@var{id}]
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100237@findex savevm
Blue Swirl23130862009-06-06 08:22:04 +0000238Create a snapshot of the whole virtual machine. If @var{tag} is
239provided, it is used as human readable identifier. If there is already
240a snapshot with the same tag or ID, it is replaced. More info at
241@ref{vm_snapshots}.
242ETEXI
243
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300244 {
245 .name = "loadvm",
246 .args_type = "name:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300247 .params = "tag|id",
248 .help = "restore a VM snapshot from its tag or id",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300249 .mhandler.cmd = do_loadvm,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300250 },
251
Blue Swirl23130862009-06-06 08:22:04 +0000252STEXI
253@item loadvm @var{tag}|@var{id}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100254@findex loadvm
Blue Swirl23130862009-06-06 08:22:04 +0000255Set the whole virtual machine to the snapshot identified by the tag
256@var{tag} or the unique snapshot ID @var{id}.
257ETEXI
258
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300259 {
260 .name = "delvm",
261 .args_type = "name:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300262 .params = "tag|id",
263 .help = "delete a VM snapshot from its tag or id",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300264 .mhandler.cmd = do_delvm,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300265 },
266
Blue Swirl23130862009-06-06 08:22:04 +0000267STEXI
268@item delvm @var{tag}|@var{id}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100269@findex delvm
Blue Swirl23130862009-06-06 08:22:04 +0000270Delete the snapshot identified by @var{tag} or @var{id}.
271ETEXI
272
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300273 {
274 .name = "singlestep",
275 .args_type = "option:s?",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300276 .params = "[on|off]",
277 .help = "run emulation in singlestep mode or switch to normal mode",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300278 .mhandler.cmd = do_singlestep,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300279 },
280
Blue Swirl23130862009-06-06 08:22:04 +0000281STEXI
282@item singlestep [off]
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100283@findex singlestep
Blue Swirl23130862009-06-06 08:22:04 +0000284Run the emulation in single step mode.
285If called with option off, the emulation returns to normal mode.
286ETEXI
287
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300288 {
289 .name = "stop",
290 .args_type = "",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300291 .params = "",
292 .help = "stop emulation",
Luiz Capitulinoe0c97bd2009-10-07 13:41:57 -0300293 .user_print = monitor_user_noop,
Luiz Capitulino261394d2010-02-10 23:50:02 -0200294 .mhandler.cmd_new = do_stop,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300295 },
296
Blue Swirl23130862009-06-06 08:22:04 +0000297STEXI
298@item stop
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100299@findex stop
Blue Swirl23130862009-06-06 08:22:04 +0000300Stop emulation.
301ETEXI
302
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300303 {
304 .name = "c|cont",
305 .args_type = "",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300306 .params = "",
307 .help = "resume emulation",
Luiz Capitulinoa1f896a2009-10-07 13:42:00 -0300308 .user_print = monitor_user_noop,
Luiz Capitulino261394d2010-02-10 23:50:02 -0200309 .mhandler.cmd_new = do_cont,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300310 },
311
Blue Swirl23130862009-06-06 08:22:04 +0000312STEXI
313@item c or cont
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100314@findex cont
Blue Swirl23130862009-06-06 08:22:04 +0000315Resume emulation.
316ETEXI
317
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300318 {
319 .name = "gdbserver",
320 .args_type = "device:s?",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300321 .params = "[device]",
322 .help = "start gdbserver on given device (default 'tcp::1234'), stop with 'none'",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300323 .mhandler.cmd = do_gdbserver,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300324 },
325
Blue Swirl23130862009-06-06 08:22:04 +0000326STEXI
327@item gdbserver [@var{port}]
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100328@findex gdbserver
Blue Swirl23130862009-06-06 08:22:04 +0000329Start gdbserver session (default @var{port}=1234)
330ETEXI
331
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300332 {
333 .name = "x",
334 .args_type = "fmt:/,addr:l",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300335 .params = "/fmt addr",
336 .help = "virtual memory dump starting at 'addr'",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300337 .mhandler.cmd = do_memory_dump,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300338 },
339
Blue Swirl23130862009-06-06 08:22:04 +0000340STEXI
341@item x/fmt @var{addr}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100342@findex x
Blue Swirl23130862009-06-06 08:22:04 +0000343Virtual memory dump starting at @var{addr}.
344ETEXI
345
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300346 {
347 .name = "xp",
348 .args_type = "fmt:/,addr:l",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300349 .params = "/fmt addr",
350 .help = "physical memory dump starting at 'addr'",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300351 .mhandler.cmd = do_physical_memory_dump,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300352 },
353
Blue Swirl23130862009-06-06 08:22:04 +0000354STEXI
355@item xp /@var{fmt} @var{addr}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100356@findex xp
Blue Swirl23130862009-06-06 08:22:04 +0000357Physical memory dump starting at @var{addr}.
358
359@var{fmt} is a format which tells the command how to format the
360data. Its syntax is: @option{/@{count@}@{format@}@{size@}}
361
362@table @var
363@item count
364is the number of items to be dumped.
365
366@item format
367can be x (hex), d (signed decimal), u (unsigned decimal), o (octal),
368c (char) or i (asm instruction).
369
370@item size
371can be b (8 bits), h (16 bits), w (32 bits) or g (64 bits). On x86,
372@code{h} or @code{w} can be specified with the @code{i} format to
373respectively select 16 or 32 bit code instruction size.
374
375@end table
376
377Examples:
378@itemize
379@item
380Dump 10 instructions at the current instruction pointer:
381@example
382(qemu) x/10i $eip
3830x90107063: ret
3840x90107064: sti
3850x90107065: lea 0x0(%esi,1),%esi
3860x90107069: lea 0x0(%edi,1),%edi
3870x90107070: ret
3880x90107071: jmp 0x90107080
3890x90107073: nop
3900x90107074: nop
3910x90107075: nop
3920x90107076: nop
393@end example
394
395@item
396Dump 80 16 bit values at the start of the video memory.
397@smallexample
398(qemu) xp/80hx 0xb8000
3990x000b8000: 0x0b50 0x0b6c 0x0b65 0x0b78 0x0b38 0x0b36 0x0b2f 0x0b42
4000x000b8010: 0x0b6f 0x0b63 0x0b68 0x0b73 0x0b20 0x0b56 0x0b47 0x0b41
4010x000b8020: 0x0b42 0x0b69 0x0b6f 0x0b73 0x0b20 0x0b63 0x0b75 0x0b72
4020x000b8030: 0x0b72 0x0b65 0x0b6e 0x0b74 0x0b2d 0x0b63 0x0b76 0x0b73
4030x000b8040: 0x0b20 0x0b30 0x0b35 0x0b20 0x0b4e 0x0b6f 0x0b76 0x0b20
4040x000b8050: 0x0b32 0x0b30 0x0b30 0x0b33 0x0720 0x0720 0x0720 0x0720
4050x000b8060: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
4060x000b8070: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
4070x000b8080: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
4080x000b8090: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
409@end smallexample
410@end itemize
411ETEXI
412
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300413 {
414 .name = "p|print",
415 .args_type = "fmt:/,val:l",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300416 .params = "/fmt expr",
417 .help = "print expression value (use $reg for CPU register access)",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300418 .mhandler.cmd = do_print,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300419 },
420
Blue Swirl23130862009-06-06 08:22:04 +0000421STEXI
422@item p or print/@var{fmt} @var{expr}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100423@findex print
Blue Swirl23130862009-06-06 08:22:04 +0000424
425Print expression value. Only the @var{format} part of @var{fmt} is
426used.
427ETEXI
428
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300429 {
430 .name = "i",
431 .args_type = "fmt:/,addr:i,index:i.",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300432 .params = "/fmt addr",
433 .help = "I/O port read",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300434 .mhandler.cmd = do_ioport_read,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300435 },
436
Blue Swirl23130862009-06-06 08:22:04 +0000437STEXI
438Read I/O port.
439ETEXI
440
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300441 {
442 .name = "o",
443 .args_type = "fmt:/,addr:i,val:i",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300444 .params = "/fmt addr value",
445 .help = "I/O port write",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300446 .mhandler.cmd = do_ioport_write,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300447 },
448
Jan Kiszkaf1147842009-07-14 10:20:11 +0200449STEXI
450Write to I/O port.
451ETEXI
Blue Swirl23130862009-06-06 08:22:04 +0000452
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300453 {
454 .name = "sendkey",
455 .args_type = "string:s,hold_time:i?",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300456 .params = "keys [hold_ms]",
457 .help = "send keys to the VM (e.g. 'sendkey ctrl-alt-f1', default hold time=100 ms)",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300458 .mhandler.cmd = do_sendkey,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300459 },
460
Blue Swirl23130862009-06-06 08:22:04 +0000461STEXI
462@item sendkey @var{keys}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100463@findex sendkey
Blue Swirl23130862009-06-06 08:22:04 +0000464
465Send @var{keys} to the emulator. @var{keys} could be the name of the
466key or @code{#} followed by the raw value in either decimal or hexadecimal
467format. Use @code{-} to press several keys simultaneously. Example:
468@example
469sendkey ctrl-alt-f1
470@end example
471
472This command is useful to send keys that your graphical user interface
473intercepts at low level, such as @code{ctrl-alt-f1} in X Window.
474ETEXI
475
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300476 {
477 .name = "system_reset",
478 .args_type = "",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300479 .params = "",
480 .help = "reset the system",
Luiz Capitulinoc80d2592009-10-07 13:41:58 -0300481 .user_print = monitor_user_noop,
Luiz Capitulino261394d2010-02-10 23:50:02 -0200482 .mhandler.cmd_new = do_system_reset,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300483 },
484
Blue Swirl23130862009-06-06 08:22:04 +0000485STEXI
486@item system_reset
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100487@findex system_reset
Blue Swirl23130862009-06-06 08:22:04 +0000488
489Reset the system.
490ETEXI
491
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300492 {
493 .name = "system_powerdown",
494 .args_type = "",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300495 .params = "",
496 .help = "send system power down event",
Luiz Capitulino43076662009-10-07 13:41:59 -0300497 .user_print = monitor_user_noop,
Luiz Capitulino261394d2010-02-10 23:50:02 -0200498 .mhandler.cmd_new = do_system_powerdown,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300499 },
500
Blue Swirl23130862009-06-06 08:22:04 +0000501STEXI
502@item system_powerdown
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100503@findex system_powerdown
Blue Swirl23130862009-06-06 08:22:04 +0000504
505Power down the system (if supported).
506ETEXI
507
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300508 {
509 .name = "sum",
510 .args_type = "start:i,size:i",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300511 .params = "addr size",
512 .help = "compute the checksum of a memory region",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300513 .mhandler.cmd = do_sum,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300514 },
515
Blue Swirl23130862009-06-06 08:22:04 +0000516STEXI
517@item sum @var{addr} @var{size}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100518@findex sum
Blue Swirl23130862009-06-06 08:22:04 +0000519
520Compute the checksum of a memory region.
521ETEXI
522
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300523 {
524 .name = "usb_add",
525 .args_type = "devname:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300526 .params = "device",
527 .help = "add USB device (e.g. 'host:bus.addr' or 'host:vendor_id:product_id')",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300528 .mhandler.cmd = do_usb_add,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300529 },
530
Blue Swirl23130862009-06-06 08:22:04 +0000531STEXI
532@item usb_add @var{devname}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100533@findex usb_add
Blue Swirl23130862009-06-06 08:22:04 +0000534
535Add the USB device @var{devname}. For details of available devices see
536@ref{usb_devices}
537ETEXI
538
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300539 {
540 .name = "usb_del",
541 .args_type = "devname:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300542 .params = "device",
543 .help = "remove USB device 'bus.addr'",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300544 .mhandler.cmd = do_usb_del,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300545 },
546
Blue Swirl23130862009-06-06 08:22:04 +0000547STEXI
548@item usb_del @var{devname}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100549@findex usb_del
Blue Swirl23130862009-06-06 08:22:04 +0000550
551Remove the USB device @var{devname} from the QEMU virtual USB
552hub. @var{devname} has the syntax @code{bus.addr}. Use the monitor
553command @code{info usb} to see the devices you can remove.
554ETEXI
555
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300556 {
557 .name = "device_add",
Markus Armbrusterc7e4e8c2010-02-10 20:47:28 +0100558 .args_type = "device:O",
559 .params = "driver[,prop=value][,...]",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300560 .help = "add device, like -device on the command line",
Markus Armbruster8bc27242010-02-10 20:52:01 +0100561 .user_print = monitor_user_noop,
562 .mhandler.cmd_new = do_device_add,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300563 },
564
Gerd Hoffmann3418bd22009-09-25 21:42:41 +0200565STEXI
566@item device_add @var{config}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100567@findex device_add
Gerd Hoffmann3418bd22009-09-25 21:42:41 +0200568
569Add device.
570ETEXI
571
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300572 {
573 .name = "device_del",
574 .args_type = "id:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300575 .params = "device",
576 .help = "remove device",
Markus Armbruster17a38ea2010-03-22 11:38:14 +0100577 .user_print = monitor_user_noop,
578 .mhandler.cmd_new = do_device_del,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300579 },
580
Gerd Hoffmann3418bd22009-09-25 21:42:41 +0200581STEXI
582@item device_del @var{id}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100583@findex device_del
Gerd Hoffmann3418bd22009-09-25 21:42:41 +0200584
585Remove device @var{id}.
586ETEXI
587
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300588 {
589 .name = "cpu",
590 .args_type = "index:i",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300591 .params = "index",
592 .help = "set the default CPU",
Markus Armbruster81a1b452010-01-20 13:07:35 +0100593 .user_print = monitor_user_noop,
Luiz Capitulino261394d2010-02-10 23:50:02 -0200594 .mhandler.cmd_new = do_cpu_set,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300595 },
Gerd Hoffmann3418bd22009-09-25 21:42:41 +0200596
Blue Swirl23130862009-06-06 08:22:04 +0000597STEXI
Markus Armbrusterc427ea92010-05-04 13:20:32 +0200598@item cpu @var{index}
599@findex cpu
Blue Swirl23130862009-06-06 08:22:04 +0000600Set the default CPU.
601ETEXI
602
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300603 {
604 .name = "mouse_move",
605 .args_type = "dx_str:s,dy_str:s,dz_str:s?",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300606 .params = "dx dy [dz]",
607 .help = "send mouse move events",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300608 .mhandler.cmd = do_mouse_move,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300609 },
610
Blue Swirl23130862009-06-06 08:22:04 +0000611STEXI
612@item mouse_move @var{dx} @var{dy} [@var{dz}]
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100613@findex mouse_move
Blue Swirl23130862009-06-06 08:22:04 +0000614Move the active mouse to the specified coordinates @var{dx} @var{dy}
615with optional scroll axis @var{dz}.
616ETEXI
617
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300618 {
619 .name = "mouse_button",
620 .args_type = "button_state:i",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300621 .params = "state",
622 .help = "change mouse button state (1=L, 2=M, 4=R)",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300623 .mhandler.cmd = do_mouse_button,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300624 },
625
Blue Swirl23130862009-06-06 08:22:04 +0000626STEXI
627@item mouse_button @var{val}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100628@findex mouse_button
Blue Swirl23130862009-06-06 08:22:04 +0000629Change the active mouse button state @var{val} (1=L, 2=M, 4=R).
630ETEXI
631
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300632 {
633 .name = "mouse_set",
634 .args_type = "index:i",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300635 .params = "index",
636 .help = "set which mouse device receives events",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300637 .mhandler.cmd = do_mouse_set,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300638 },
639
Blue Swirl23130862009-06-06 08:22:04 +0000640STEXI
641@item mouse_set @var{index}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100642@findex mouse_set
Blue Swirl23130862009-06-06 08:22:04 +0000643Set which mouse device receives events at given @var{index}, index
644can be obtained with
645@example
646info mice
647@end example
648ETEXI
649
650#ifdef HAS_AUDIO
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300651 {
652 .name = "wavcapture",
653 .args_type = "path:F,freq:i?,bits:i?,nchannels:i?",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300654 .params = "path [frequency [bits [channels]]]",
655 .help = "capture audio to a wave file (default frequency=44100 bits=16 channels=2)",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300656 .mhandler.cmd = do_wav_capture,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300657 },
Blue Swirl23130862009-06-06 08:22:04 +0000658#endif
659STEXI
660@item wavcapture @var{filename} [@var{frequency} [@var{bits} [@var{channels}]]]
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100661@findex wavcapture
Blue Swirl23130862009-06-06 08:22:04 +0000662Capture audio into @var{filename}. Using sample rate @var{frequency}
663bits per sample @var{bits} and number of channels @var{channels}.
664
665Defaults:
666@itemize @minus
667@item Sample rate = 44100 Hz - CD quality
668@item Bits = 16
669@item Number of channels = 2 - Stereo
670@end itemize
671ETEXI
672
673#ifdef HAS_AUDIO
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300674 {
675 .name = "stopcapture",
676 .args_type = "n:i",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300677 .params = "capture index",
678 .help = "stop capture",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300679 .mhandler.cmd = do_stop_capture,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300680 },
Blue Swirl23130862009-06-06 08:22:04 +0000681#endif
682STEXI
683@item stopcapture @var{index}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100684@findex stopcapture
Blue Swirl23130862009-06-06 08:22:04 +0000685Stop capture with a given @var{index}, index can be obtained with
686@example
687info capture
688@end example
689ETEXI
690
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300691 {
692 .name = "memsave",
693 .args_type = "val:l,size:i,filename:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300694 .params = "addr size file",
695 .help = "save to disk virtual memory dump starting at 'addr' of size 'size'",
Luiz Capitulino57e09452009-10-16 12:23:43 -0300696 .user_print = monitor_user_noop,
Luiz Capitulino261394d2010-02-10 23:50:02 -0200697 .mhandler.cmd_new = do_memory_save,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300698 },
699
Blue Swirl23130862009-06-06 08:22:04 +0000700STEXI
701@item memsave @var{addr} @var{size} @var{file}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100702@findex memsave
Blue Swirl23130862009-06-06 08:22:04 +0000703save to disk virtual memory dump starting at @var{addr} of size @var{size}.
704ETEXI
705
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300706 {
707 .name = "pmemsave",
708 .args_type = "val:l,size:i,filename:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300709 .params = "addr size file",
710 .help = "save to disk physical memory dump starting at 'addr' of size 'size'",
Luiz Capitulino18f5a8b2009-10-16 12:23:44 -0300711 .user_print = monitor_user_noop,
Luiz Capitulino261394d2010-02-10 23:50:02 -0200712 .mhandler.cmd_new = do_physical_memory_save,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300713 },
714
Blue Swirl23130862009-06-06 08:22:04 +0000715STEXI
716@item pmemsave @var{addr} @var{size} @var{file}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100717@findex pmemsave
Blue Swirl23130862009-06-06 08:22:04 +0000718save to disk physical memory dump starting at @var{addr} of size @var{size}.
719ETEXI
720
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300721 {
722 .name = "boot_set",
723 .args_type = "bootdevice:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300724 .params = "bootdevice",
725 .help = "define new values for the boot device list",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300726 .mhandler.cmd = do_boot_set,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300727 },
728
Blue Swirl23130862009-06-06 08:22:04 +0000729STEXI
730@item boot_set @var{bootdevicelist}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100731@findex boot_set
Blue Swirl23130862009-06-06 08:22:04 +0000732
733Define new values for the boot device list. Those values will override
734the values specified on the command line through the @code{-boot} option.
735
736The values that can be specified here depend on the machine type, but are
737the same that can be specified in the @code{-boot} command line option.
738ETEXI
739
740#if defined(TARGET_I386)
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300741 {
742 .name = "nmi",
743 .args_type = "cpu_index:i",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300744 .params = "cpu",
745 .help = "inject an NMI on the given CPU",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300746 .mhandler.cmd = do_inject_nmi,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300747 },
Blue Swirl23130862009-06-06 08:22:04 +0000748#endif
749STEXI
750@item nmi @var{cpu}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100751@findex nmi
Blue Swirl23130862009-06-06 08:22:04 +0000752Inject an NMI on the given CPU (x86 only).
753ETEXI
754
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300755 {
756 .name = "migrate",
lirans@il.ibm.comfbc3d962009-11-02 15:41:13 +0200757 .args_type = "detach:-d,blk:-b,inc:-i,uri:s",
758 .params = "[-d] [-b] [-i] uri",
759 .help = "migrate to URI (using -d to not wait for completion)"
760 "\n\t\t\t -b for migration without shared storage with"
761 " full copy of disk\n\t\t\t -i for migration without "
762 "shared storage with incremental copy of disk "
763 "(base image shared between src and destination)",
764 .user_print = monitor_user_noop,
Luiz Capitulino261394d2010-02-10 23:50:02 -0200765 .mhandler.cmd_new = do_migrate,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300766 },
767
lirans@il.ibm.comfbc3d962009-11-02 15:41:13 +0200768
Blue Swirl23130862009-06-06 08:22:04 +0000769STEXI
lirans@il.ibm.comfbc3d962009-11-02 15:41:13 +0200770@item migrate [-d] [-b] [-i] @var{uri}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100771@findex migrate
Blue Swirl23130862009-06-06 08:22:04 +0000772Migrate to @var{uri} (using -d to not wait for completion).
lirans@il.ibm.comfbc3d962009-11-02 15:41:13 +0200773 -b for migration with full copy of disk
774 -i for migration with incremental copy of disk (base image is shared)
Blue Swirl23130862009-06-06 08:22:04 +0000775ETEXI
776
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300777 {
778 .name = "migrate_cancel",
779 .args_type = "",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300780 .params = "",
781 .help = "cancel the current VM migration",
Luiz Capitulino911d2962009-10-16 12:23:47 -0300782 .user_print = monitor_user_noop,
Luiz Capitulino261394d2010-02-10 23:50:02 -0200783 .mhandler.cmd_new = do_migrate_cancel,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300784 },
785
Blue Swirl23130862009-06-06 08:22:04 +0000786STEXI
787@item migrate_cancel
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100788@findex migrate_cancel
Blue Swirl23130862009-06-06 08:22:04 +0000789Cancel the current VM migration.
790ETEXI
791
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300792 {
793 .name = "migrate_set_speed",
Jes Sorensened3d4a82010-10-21 17:15:48 +0200794 .args_type = "value:o",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300795 .params = "value",
Jes Sorensened3d4a82010-10-21 17:15:48 +0200796 .help = "set maximum speed (in bytes) for migrations. "
797 "Defaults to MB if no size suffix is specified, ie. B/K/M/G/T",
Markus Armbruster5fd90832010-01-25 14:23:05 +0100798 .user_print = monitor_user_noop,
Luiz Capitulino261394d2010-02-10 23:50:02 -0200799 .mhandler.cmd_new = do_migrate_set_speed,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300800 },
801
Blue Swirl23130862009-06-06 08:22:04 +0000802STEXI
803@item migrate_set_speed @var{value}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100804@findex migrate_set_speed
Blue Swirl23130862009-06-06 08:22:04 +0000805Set maximum speed to @var{value} (in bytes) for migrations.
806ETEXI
807
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300808 {
809 .name = "migrate_set_downtime",
Markus Armbrusterb0fbf7d2010-01-25 14:23:07 +0100810 .args_type = "value:T",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300811 .params = "value",
812 .help = "set maximum tolerated downtime (in seconds) for migrations",
Markus Armbrusterc6027f52010-01-25 14:23:08 +0100813 .user_print = monitor_user_noop,
Luiz Capitulino261394d2010-02-10 23:50:02 -0200814 .mhandler.cmd_new = do_migrate_set_downtime,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300815 },
Glauber Costa2ea42952009-05-28 15:22:58 -0400816
817STEXI
818@item migrate_set_downtime @var{second}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100819@findex migrate_set_downtime
Glauber Costa2ea42952009-05-28 15:22:58 -0400820Set maximum tolerated downtime (in seconds) for migration.
821ETEXI
822
Jes Sorensenf8882562010-12-16 13:52:16 +0100823 {
824 .name = "snapshot_blkdev",
825 .args_type = "device:s,snapshot_file:s?,format:s?",
826 .params = "device [new-image-file] [format]",
827 .help = "initiates a live snapshot\n\t\t\t"
828 "of device. If a new image file is specified, the\n\t\t\t"
829 "new image file will become the new root image.\n\t\t\t"
830 "If format is specified, the snapshot file will\n\t\t\t"
831 "be created in that format. Otherwise the\n\t\t\t"
832 "snapshot will be internal! (currently unsupported)",
833 .mhandler.cmd_new = do_snapshot_blkdev,
834 },
835
836STEXI
837@item snapshot_blkdev
838@findex snapshot_blkdev
839Snapshot device, using snapshot file as target if provided
840ETEXI
841
Blue Swirl23130862009-06-06 08:22:04 +0000842#if defined(TARGET_I386)
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300843 {
844 .name = "drive_add",
845 .args_type = "pci_addr:s,opts:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300846 .params = "[[<domain>:]<bus>:]<slot>\n"
847 "[file=file][,if=type][,bus=n]\n"
848 "[,unit=m][,media=d][index=i]\n"
849 "[,cyls=c,heads=h,secs=s[,trans=t]]\n"
850 "[snapshot=on|off][,cache=on|off]",
851 .help = "add drive to PCI storage controller",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300852 .mhandler.cmd = drive_hot_add,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300853 },
Blue Swirl23130862009-06-06 08:22:04 +0000854#endif
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300855
Blue Swirl23130862009-06-06 08:22:04 +0000856STEXI
857@item drive_add
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100858@findex drive_add
Blue Swirl23130862009-06-06 08:22:04 +0000859Add drive to PCI storage controller.
860ETEXI
861
862#if defined(TARGET_I386)
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300863 {
864 .name = "pci_add",
865 .args_type = "pci_addr:s,type:s,opts:s?",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300866 .params = "auto|[[<domain>:]<bus>:]<slot> nic|storage [[vlan=n][,macaddr=addr][,model=type]] [file=file][,if=type][,bus=nr]...",
867 .help = "hot-add PCI device",
Markus Armbruster6c6a58a2010-05-12 10:53:00 +0200868 .mhandler.cmd = pci_device_hot_add,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300869 },
Blue Swirl23130862009-06-06 08:22:04 +0000870#endif
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300871
Blue Swirl23130862009-06-06 08:22:04 +0000872STEXI
873@item pci_add
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100874@findex pci_add
Blue Swirl23130862009-06-06 08:22:04 +0000875Hot-add PCI device.
876ETEXI
877
878#if defined(TARGET_I386)
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300879 {
880 .name = "pci_del",
881 .args_type = "pci_addr:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300882 .params = "[[<domain>:]<bus>:]<slot>",
883 .help = "hot remove PCI device",
Markus Armbrusterb752daf2010-05-12 10:53:01 +0200884 .mhandler.cmd = do_pci_device_hot_remove,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300885 },
Blue Swirl23130862009-06-06 08:22:04 +0000886#endif
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300887
Blue Swirl23130862009-06-06 08:22:04 +0000888STEXI
889@item pci_del
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100890@findex pci_del
Blue Swirl23130862009-06-06 08:22:04 +0000891Hot remove PCI device.
892ETEXI
893
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300894 {
Isaku Yamahata2ae63bd2010-12-24 12:14:14 +0900895 .name = "pcie_aer_inject_error",
896 .args_type = "advisory_non_fatal:-a,correctable:-c,"
897 "id:s,error_status:s,"
898 "header0:i?,header1:i?,header2:i?,header3:i?,"
899 "prefix0:i?,prefix1:i?,prefix2:i?,prefix3:i?",
900 .params = "[-a] [-c] id "
901 "<error_status> [<tlp header> [<tlp header prefix>]]",
902 .help = "inject pcie aer error\n\t\t\t"
903 " -a for advisory non fatal error\n\t\t\t"
904 " -c for correctable error\n\t\t\t"
905 "<id> = qdev device id\n\t\t\t"
906 "<error_status> = error string or 32bit\n\t\t\t"
907 "<tlb header> = 32bit x 4\n\t\t\t"
908 "<tlb header prefix> = 32bit x 4",
909 .user_print = pcie_aer_inject_error_print,
910 .mhandler.cmd_new = do_pcie_aer_inejct_error,
911 },
912
913STEXI
914@item pcie_aer_inject_error
915@findex pcie_aer_inject_error
916Inject PCIe AER error
917ETEXI
918
919 {
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300920 .name = "host_net_add",
921 .args_type = "device:s,opts:s?",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300922 .params = "tap|user|socket|vde|dump [options]",
923 .help = "add host VLAN client",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300924 .mhandler.cmd = net_host_device_add,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300925 },
926
Blue Swirl23130862009-06-06 08:22:04 +0000927STEXI
928@item host_net_add
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100929@findex host_net_add
Blue Swirl23130862009-06-06 08:22:04 +0000930Add host VLAN client.
931ETEXI
932
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300933 {
934 .name = "host_net_remove",
935 .args_type = "vlan_id:i,device:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300936 .params = "vlan_id name",
937 .help = "remove host VLAN client",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300938 .mhandler.cmd = net_host_device_remove,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300939 },
940
Blue Swirl23130862009-06-06 08:22:04 +0000941STEXI
942@item host_net_remove
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100943@findex host_net_remove
Blue Swirl23130862009-06-06 08:22:04 +0000944Remove host VLAN client.
945ETEXI
946
Markus Armbrusterae82d322010-03-25 17:22:40 +0100947 {
948 .name = "netdev_add",
949 .args_type = "netdev:O",
950 .params = "[user|tap|socket],id=str[,prop=value][,...]",
951 .help = "add host network device",
952 .user_print = monitor_user_noop,
953 .mhandler.cmd_new = do_netdev_add,
954 },
955
956STEXI
957@item netdev_add
958@findex netdev_add
959Add host network device.
960ETEXI
961
962 {
963 .name = "netdev_del",
964 .args_type = "id:s",
965 .params = "id",
966 .help = "remove host network device",
967 .user_print = monitor_user_noop,
968 .mhandler.cmd_new = do_netdev_del,
969 },
970
971STEXI
972@item netdev_del
973@findex netdev_del
974Remove host network device.
975ETEXI
976
Blue Swirl23130862009-06-06 08:22:04 +0000977#ifdef CONFIG_SLIRP
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300978 {
979 .name = "hostfwd_add",
980 .args_type = "arg1:s,arg2:s?,arg3:s?",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300981 .params = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport",
982 .help = "redirect TCP or UDP connections from host to guest (requires -net user)",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300983 .mhandler.cmd = net_slirp_hostfwd_add,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300984 },
Markus Armbruster21413d62010-05-04 13:20:30 +0200985#endif
986STEXI
987@item hostfwd_add
988@findex hostfwd_add
989Redirect TCP or UDP connections from host to guest (requires -net user).
990ETEXI
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300991
Markus Armbruster21413d62010-05-04 13:20:30 +0200992#ifdef CONFIG_SLIRP
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300993 {
994 .name = "hostfwd_remove",
995 .args_type = "arg1:s,arg2:s?,arg3:s?",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300996 .params = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport",
997 .help = "remove host-to-guest TCP or UDP redirection",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -0300998 .mhandler.cmd = net_slirp_hostfwd_remove,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300999 },
1000
Blue Swirl23130862009-06-06 08:22:04 +00001001#endif
1002STEXI
Markus Armbruster21413d62010-05-04 13:20:30 +02001003@item hostfwd_remove
1004@findex hostfwd_remove
1005Remove host-to-guest TCP or UDP redirection.
Blue Swirl23130862009-06-06 08:22:04 +00001006ETEXI
1007
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001008 {
1009 .name = "balloon",
Luiz Capitulino3b0bd6e2009-12-18 13:25:05 -02001010 .args_type = "value:M",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001011 .params = "target",
Riccardo Magliocchetti3c056132010-05-19 18:49:28 +02001012 .help = "request VM to change its memory allocation (in MB)",
Luiz Capitulino83fb1de2009-10-07 13:42:01 -03001013 .user_print = monitor_user_noop,
Adam Litke625a5be2010-01-26 14:17:35 -06001014 .mhandler.cmd_async = do_balloon,
Jan Kiszka8ac470c2010-06-16 00:38:39 +02001015 .flags = MONITOR_CMD_ASYNC,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001016 },
1017
Blue Swirl23130862009-06-06 08:22:04 +00001018STEXI
1019@item balloon @var{value}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001020@findex balloon
Blue Swirl23130862009-06-06 08:22:04 +00001021Request VM to change its memory allocation to @var{value} (in MB).
1022ETEXI
1023
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001024 {
1025 .name = "set_link",
Markus Armbrusterc9b26a42010-03-26 09:07:10 +01001026 .args_type = "name:s,up:b",
1027 .params = "name on|off",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001028 .help = "change the link status of a network adapter",
Markus Armbruster5369e3c2010-03-26 09:07:11 +01001029 .user_print = monitor_user_noop,
1030 .mhandler.cmd_new = do_set_link,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001031 },
1032
Blue Swirl23130862009-06-06 08:22:04 +00001033STEXI
Markus Armbrusterc9b26a42010-03-26 09:07:10 +01001034@item set_link @var{name} [on|off]
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001035@findex set_link
Markus Armbrusterc9b26a42010-03-26 09:07:10 +01001036Switch link @var{name} on (i.e. up) or off (i.e. down).
Blue Swirl23130862009-06-06 08:22:04 +00001037ETEXI
1038
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001039 {
1040 .name = "watchdog_action",
1041 .args_type = "action:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001042 .params = "[reset|shutdown|poweroff|pause|debug|none]",
1043 .help = "change watchdog action",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -03001044 .mhandler.cmd = do_watchdog_action,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001045 },
1046
Blue Swirl23130862009-06-06 08:22:04 +00001047STEXI
1048@item watchdog_action
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001049@findex watchdog_action
Blue Swirl23130862009-06-06 08:22:04 +00001050Change watchdog action.
1051ETEXI
1052
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001053 {
1054 .name = "acl_show",
1055 .args_type = "aclname:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001056 .params = "aclname",
1057 .help = "list rules in the access control list",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -03001058 .mhandler.cmd = do_acl_show,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001059 },
1060
Blue Swirl23130862009-06-06 08:22:04 +00001061STEXI
Jan Kiszka15dfcd42009-06-25 08:22:08 +02001062@item acl_show @var{aclname}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001063@findex acl_show
Jan Kiszka15dfcd42009-06-25 08:22:08 +02001064List all the matching rules in the access control list, and the default
1065policy. There are currently two named access control lists,
1066@var{vnc.x509dname} and @var{vnc.username} matching on the x509 client
1067certificate distinguished name, and SASL username respectively.
1068ETEXI
Blue Swirl23130862009-06-06 08:22:04 +00001069
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001070 {
1071 .name = "acl_policy",
1072 .args_type = "aclname:s,policy:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001073 .params = "aclname allow|deny",
1074 .help = "set default access control list policy",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -03001075 .mhandler.cmd = do_acl_policy,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001076 },
1077
Jan Kiszka15dfcd42009-06-25 08:22:08 +02001078STEXI
Jan Kiszkacbbfacc2009-07-03 08:46:05 +02001079@item acl_policy @var{aclname} @code{allow|deny}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001080@findex acl_policy
Jan Kiszka15dfcd42009-06-25 08:22:08 +02001081Set the default access control list policy, used in the event that
Blue Swirl23130862009-06-06 08:22:04 +00001082none of the explicit rules match. The default policy at startup is
Jan Kiszka15dfcd42009-06-25 08:22:08 +02001083always @code{deny}.
1084ETEXI
1085
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001086 {
1087 .name = "acl_add",
1088 .args_type = "aclname:s,match:s,policy:s,index:i?",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001089 .params = "aclname match allow|deny [index]",
1090 .help = "add a match rule to the access control list",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -03001091 .mhandler.cmd = do_acl_add,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001092 },
1093
Jan Kiszka15dfcd42009-06-25 08:22:08 +02001094STEXI
Markus Armbruster0e4aec92010-05-04 13:20:31 +02001095@item acl_add @var{aclname} @var{match} @code{allow|deny} [@var{index}]
1096@findex acl_add
Jan Kiszka15dfcd42009-06-25 08:22:08 +02001097Add a match rule to the access control list, allowing or denying access.
1098The match will normally be an exact username or x509 distinguished name,
1099but can optionally include wildcard globs. eg @code{*@@EXAMPLE.COM} to
1100allow all users in the @code{EXAMPLE.COM} kerberos realm. The match will
Blue Swirl23130862009-06-06 08:22:04 +00001101normally be appended to the end of the ACL, but can be inserted
Jan Kiszka15dfcd42009-06-25 08:22:08 +02001102earlier in the list if the optional @var{index} parameter is supplied.
1103ETEXI
1104
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001105 {
1106 .name = "acl_remove",
1107 .args_type = "aclname:s,match:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001108 .params = "aclname match",
1109 .help = "remove a match rule from the access control list",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -03001110 .mhandler.cmd = do_acl_remove,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001111 },
1112
Jan Kiszka15dfcd42009-06-25 08:22:08 +02001113STEXI
1114@item acl_remove @var{aclname} @var{match}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001115@findex acl_remove
Jan Kiszka15dfcd42009-06-25 08:22:08 +02001116Remove the specified match rule from the access control list.
1117ETEXI
1118
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001119 {
1120 .name = "acl_reset",
1121 .args_type = "aclname:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001122 .params = "aclname",
1123 .help = "reset the access control list",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -03001124 .mhandler.cmd = do_acl_reset,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001125 },
1126
Jan Kiszka15dfcd42009-06-25 08:22:08 +02001127STEXI
Markus Armbruster0e4aec92010-05-04 13:20:31 +02001128@item acl_reset @var{aclname}
1129@findex acl_reset
Jan Kiszka15dfcd42009-06-25 08:22:08 +02001130Remove all matches from the access control list, and set the default
Blue Swirl23130862009-06-06 08:22:04 +00001131policy back to @code{deny}.
Blue Swirl23130862009-06-06 08:22:04 +00001132ETEXI
1133
Huang Ying79c4f6b2009-06-23 10:05:14 +08001134#if defined(TARGET_I386)
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001135
1136 {
1137 .name = "mce",
1138 .args_type = "cpu_index:i,bank:i,status:l,mcg_status:l,addr:l,misc:l",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001139 .params = "cpu bank status mcgstatus addr misc",
1140 .help = "inject a MCE on the given CPU",
Luiz Capitulinoaf4ce882009-10-07 13:41:52 -03001141 .mhandler.cmd = do_inject_mce,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001142 },
1143
Huang Ying79c4f6b2009-06-23 10:05:14 +08001144#endif
1145STEXI
1146@item mce @var{cpu} @var{bank} @var{status} @var{mcgstatus} @var{addr} @var{misc}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001147@findex mce (x86)
Huang Ying79c4f6b2009-06-23 10:05:14 +08001148Inject an MCE on the given CPU (x86 only).
1149ETEXI
1150
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001151 {
1152 .name = "getfd",
1153 .args_type = "fdname:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001154 .params = "getfd name",
1155 .help = "receive a file descriptor via SCM rights and assign it a name",
Luiz Capitulinof0d60002009-10-16 12:23:50 -03001156 .user_print = monitor_user_noop,
Luiz Capitulino261394d2010-02-10 23:50:02 -02001157 .mhandler.cmd_new = do_getfd,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001158 },
1159
Mark McLoughlinf07918f2009-07-22 09:11:40 +01001160STEXI
1161@item getfd @var{fdname}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001162@findex getfd
Mark McLoughlinf07918f2009-07-22 09:11:40 +01001163If a file descriptor is passed alongside this command using the SCM_RIGHTS
1164mechanism on unix sockets, it is stored using the name @var{fdname} for
1165later use by other monitor commands.
1166ETEXI
1167
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001168 {
1169 .name = "closefd",
1170 .args_type = "fdname:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001171 .params = "closefd name",
1172 .help = "close a file descriptor previously passed via SCM rights",
Luiz Capitulino18f3a512009-10-16 12:23:51 -03001173 .user_print = monitor_user_noop,
Luiz Capitulino261394d2010-02-10 23:50:02 -02001174 .mhandler.cmd_new = do_closefd,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001175 },
1176
Mark McLoughlinf07918f2009-07-22 09:11:40 +01001177STEXI
1178@item closefd @var{fdname}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001179@findex closefd
Mark McLoughlinf07918f2009-07-22 09:11:40 +01001180Close the file descriptor previously assigned to @var{fdname} using the
1181@code{getfd} command. This is only needed if the file descriptor was never
1182used by another monitor command.
1183ETEXI
1184
Luiz Capitulinoa3a55a22009-12-04 15:24:09 -02001185 {
1186 .name = "block_passwd",
1187 .args_type = "device:B,password:s",
1188 .params = "block_passwd device password",
1189 .help = "set the password of encrypted block devices",
1190 .user_print = monitor_user_noop,
Luiz Capitulino261394d2010-02-10 23:50:02 -02001191 .mhandler.cmd_new = do_block_set_passwd,
Luiz Capitulinoa3a55a22009-12-04 15:24:09 -02001192 },
1193
1194STEXI
1195@item block_passwd @var{device} @var{password}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001196@findex block_passwd
Luiz Capitulinoa3a55a22009-12-04 15:24:09 -02001197Set the encrypted device @var{device} password to @var{password}
1198ETEXI
Jan Kiszkab40292e2010-05-31 14:43:31 -03001199
Jan Kiszka33572ec2010-05-31 14:43:30 -03001200 {
Gerd Hoffmann75721502010-10-07 12:22:54 +02001201 .name = "set_password",
1202 .args_type = "protocol:s,password:s,connected:s?",
1203 .params = "protocol password action-if-connected",
1204 .help = "set spice/vnc password",
1205 .user_print = monitor_user_noop,
1206 .mhandler.cmd_new = set_password,
1207 },
1208
1209STEXI
1210@item set_password [ vnc | spice ] password [ action-if-connected ]
1211@findex set_password
1212
1213Change spice/vnc password. Use zero to make the password stay valid
1214forever. @var{action-if-connected} specifies what should happen in
1215case a connection is established: @var{fail} makes the password change
1216fail. @var{disconnect} changes the password and disconnects the
1217client. @var{keep} changes the password and keeps the connection up.
1218@var{keep} is the default.
1219ETEXI
1220
1221 {
1222 .name = "expire_password",
1223 .args_type = "protocol:s,time:s",
1224 .params = "protocol time",
1225 .help = "set spice/vnc password expire-time",
1226 .user_print = monitor_user_noop,
1227 .mhandler.cmd_new = expire_password,
1228 },
1229
1230STEXI
1231@item expire_password [ vnc | spice ] expire-time
1232@findex expire_password
1233
1234Specify when a password for spice/vnc becomes
1235invalid. @var{expire-time} accepts:
1236
1237@table @var
1238@item now
1239Invalidate password instantly.
1240
1241@item never
1242Password stays valid forever.
1243
1244@item +nsec
1245Password stays valid for @var{nsec} seconds starting now.
1246
1247@item nsec
1248Password is invalidated at the given time. @var{nsec} are the seconds
1249passed since 1970, i.e. unix epoch.
1250
1251@end table
1252ETEXI
1253
1254 {
Jan Kiszka33572ec2010-05-31 14:43:30 -03001255 .name = "info",
1256 .args_type = "item:s?",
1257 .params = "[subcommand]",
1258 .help = "show various information about the system state",
Luiz Capitulino1162daa2010-09-13 12:15:26 -03001259 .mhandler.cmd = do_info,
Jan Kiszka33572ec2010-05-31 14:43:30 -03001260 },
1261
1262STEXI
1263@item info @var{subcommand}
1264@findex info
1265Show various information about the system state.
1266
1267@table @option
1268@item info version
1269show the version of QEMU
Jan Kiszka33572ec2010-05-31 14:43:30 -03001270@item info network
1271show the various VLANs and the associated devices
1272@item info chardev
1273show the character devices
1274@item info block
1275show the block devices
1276@item info blockstats
1277show block device statistics
1278@item info registers
1279show the cpu registers
1280@item info cpus
1281show infos for each CPU
1282@item info history
1283show the command line history
1284@item info irq
1285show the interrupts statistics (if available)
1286@item info pic
1287show i8259 (PIC) state
1288@item info pci
1289show emulated PCI device info
1290@item info tlb
Blue Swirld41160a2010-12-19 13:42:56 +00001291show virtual to physical memory mappings (i386, SH4 and SPARC only)
Jan Kiszka33572ec2010-05-31 14:43:30 -03001292@item info mem
1293show the active virtual memory mappings (i386 only)
Jan Kiszka33572ec2010-05-31 14:43:30 -03001294@item info jit
1295show dynamic compiler info
1296@item info kvm
1297show KVM information
1298@item info numa
1299show NUMA information
Jan Kiszkab40292e2010-05-31 14:43:31 -03001300@item info kvm
1301show KVM information
Jan Kiszka33572ec2010-05-31 14:43:30 -03001302@item info usb
1303show USB devices plugged on the virtual USB hub
1304@item info usbhost
1305show all USB host devices
1306@item info profile
1307show profiling information
1308@item info capture
1309show information about active capturing
1310@item info snapshots
1311show list of VM snapshots
1312@item info status
1313show the current VM status (running|paused)
1314@item info pcmcia
1315show guest PCMCIA status
1316@item info mice
1317show which guest mouse is receiving events
1318@item info vnc
1319show the vnc server status
1320@item info name
1321show the current VM name
1322@item info uuid
1323show the current VM UUID
1324@item info cpustats
1325show CPU statistics
1326@item info usernet
1327show user network stack connection states
1328@item info migrate
1329show migration status
1330@item info balloon
1331show balloon information
1332@item info qtree
1333show device tree
1334@item info qdm
1335show qdev device model list
1336@item info roms
1337show roms
1338@end table
1339ETEXI
1340
Prerna Saxena22890ab2010-06-24 17:04:53 +05301341#ifdef CONFIG_SIMPLE_TRACE
1342STEXI
1343@item info trace
1344show contents of trace buffer
1345@item info trace-events
1346show available trace events and their state
1347ETEXI
1348#endif
1349
Blue Swirl23130862009-06-06 08:22:04 +00001350STEXI
1351@end table
1352ETEXI