Statistics
| Branch: | Revision:

root / hmp-commands.hx @ a74cdab4

History | View | Annotate | Download (36 kB)

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