Statistics
| Branch: | Revision:

root / hmp-commands.hx @ a4dea8a9

History | View | Annotate | Download (36.3 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 7a7f325e Luiz Capitulino
        .mhandler.cmd = hmp_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
    {
184 22890ab5 Prerna Saxena
        .name       = "trace-event",
185 22890ab5 Prerna Saxena
        .args_type  = "name:s,option:b",
186 22890ab5 Prerna Saxena
        .params     = "name on|off",
187 22890ab5 Prerna Saxena
        .help       = "changes status of a specific trace event",
188 fc764105 Lluís
        .mhandler.cmd = do_trace_event_set_state,
189 22890ab5 Prerna Saxena
    },
190 22890ab5 Prerna Saxena
191 22890ab5 Prerna Saxena
STEXI
192 22890ab5 Prerna Saxena
@item trace-event
193 22890ab5 Prerna Saxena
@findex trace-event
194 22890ab5 Prerna Saxena
changes status of a trace event
195 22890ab5 Prerna Saxena
ETEXI
196 c5ceb523 Stefan Hajnoczi
197 c45a8168 Michael Roth
#if defined(CONFIG_TRACE_SIMPLE)
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 5f158f21 Luiz Capitulino
        .mhandler.cmd = hmp_stop,
294 d7f9b689 Luiz Capitulino
    },
295 d7f9b689 Luiz Capitulino
296 2313086a Blue Swirl
STEXI
297 2313086a Blue Swirl
@item stop
298 70fcbbe7 Stefan Weil
@findex stop
299 2313086a Blue Swirl
Stop emulation.
300 2313086a Blue Swirl
ETEXI
301 2313086a Blue Swirl
302 d7f9b689 Luiz Capitulino
    {
303 d7f9b689 Luiz Capitulino
        .name       = "c|cont",
304 d7f9b689 Luiz Capitulino
        .args_type  = "",
305 d7f9b689 Luiz Capitulino
        .params     = "",
306 d7f9b689 Luiz Capitulino
        .help       = "resume emulation",
307 e42e818b Luiz Capitulino
        .mhandler.cmd = hmp_cont,
308 d7f9b689 Luiz Capitulino
    },
309 d7f9b689 Luiz Capitulino
310 2313086a Blue Swirl
STEXI
311 2313086a Blue Swirl
@item c or cont
312 70fcbbe7 Stefan Weil
@findex cont
313 2313086a Blue Swirl
Resume emulation.
314 2313086a Blue Swirl
ETEXI
315 2313086a Blue Swirl
316 d7f9b689 Luiz Capitulino
    {
317 d7f9b689 Luiz Capitulino
        .name       = "gdbserver",
318 d7f9b689 Luiz Capitulino
        .args_type  = "device:s?",
319 d7f9b689 Luiz Capitulino
        .params     = "[device]",
320 d7f9b689 Luiz Capitulino
        .help       = "start gdbserver on given device (default 'tcp::1234'), stop with 'none'",
321 af4ce882 Luiz Capitulino
        .mhandler.cmd = do_gdbserver,
322 d7f9b689 Luiz Capitulino
    },
323 d7f9b689 Luiz Capitulino
324 2313086a Blue Swirl
STEXI
325 2313086a Blue Swirl
@item gdbserver [@var{port}]
326 70fcbbe7 Stefan Weil
@findex gdbserver
327 2313086a Blue Swirl
Start gdbserver session (default @var{port}=1234)
328 2313086a Blue Swirl
ETEXI
329 2313086a Blue Swirl
330 d7f9b689 Luiz Capitulino
    {
331 d7f9b689 Luiz Capitulino
        .name       = "x",
332 d7f9b689 Luiz Capitulino
        .args_type  = "fmt:/,addr:l",
333 d7f9b689 Luiz Capitulino
        .params     = "/fmt addr",
334 d7f9b689 Luiz Capitulino
        .help       = "virtual memory dump starting at 'addr'",
335 af4ce882 Luiz Capitulino
        .mhandler.cmd = do_memory_dump,
336 d7f9b689 Luiz Capitulino
    },
337 d7f9b689 Luiz Capitulino
338 2313086a Blue Swirl
STEXI
339 2313086a Blue Swirl
@item x/fmt @var{addr}
340 70fcbbe7 Stefan Weil
@findex x
341 2313086a Blue Swirl
Virtual memory dump starting at @var{addr}.
342 2313086a Blue Swirl
ETEXI
343 2313086a Blue Swirl
344 d7f9b689 Luiz Capitulino
    {
345 d7f9b689 Luiz Capitulino
        .name       = "xp",
346 d7f9b689 Luiz Capitulino
        .args_type  = "fmt:/,addr:l",
347 d7f9b689 Luiz Capitulino
        .params     = "/fmt addr",
348 d7f9b689 Luiz Capitulino
        .help       = "physical memory dump starting at 'addr'",
349 af4ce882 Luiz Capitulino
        .mhandler.cmd = do_physical_memory_dump,
350 d7f9b689 Luiz Capitulino
    },
351 d7f9b689 Luiz Capitulino
352 2313086a Blue Swirl
STEXI
353 2313086a Blue Swirl
@item xp /@var{fmt} @var{addr}
354 70fcbbe7 Stefan Weil
@findex xp
355 2313086a Blue Swirl
Physical memory dump starting at @var{addr}.
356 2313086a Blue Swirl
357 2313086a Blue Swirl
@var{fmt} is a format which tells the command how to format the
358 2313086a Blue Swirl
data. Its syntax is: @option{/@{count@}@{format@}@{size@}}
359 2313086a Blue Swirl
360 2313086a Blue Swirl
@table @var
361 2313086a Blue Swirl
@item count
362 2313086a Blue Swirl
is the number of items to be dumped.
363 2313086a Blue Swirl
364 2313086a Blue Swirl
@item format
365 2313086a Blue Swirl
can be x (hex), d (signed decimal), u (unsigned decimal), o (octal),
366 2313086a Blue Swirl
c (char) or i (asm instruction).
367 2313086a Blue Swirl
368 2313086a Blue Swirl
@item size
369 2313086a Blue Swirl
can be b (8 bits), h (16 bits), w (32 bits) or g (64 bits). On x86,
370 2313086a Blue Swirl
@code{h} or @code{w} can be specified with the @code{i} format to
371 2313086a Blue Swirl
respectively select 16 or 32 bit code instruction size.
372 2313086a Blue Swirl
373 2313086a Blue Swirl
@end table
374 2313086a Blue Swirl
375 2313086a Blue Swirl
Examples:
376 2313086a Blue Swirl
@itemize
377 2313086a Blue Swirl
@item
378 2313086a Blue Swirl
Dump 10 instructions at the current instruction pointer:
379 2313086a Blue Swirl
@example
380 2313086a Blue Swirl
(qemu) x/10i $eip
381 2313086a Blue Swirl
0x90107063:  ret
382 2313086a Blue Swirl
0x90107064:  sti
383 2313086a Blue Swirl
0x90107065:  lea    0x0(%esi,1),%esi
384 2313086a Blue Swirl
0x90107069:  lea    0x0(%edi,1),%edi
385 2313086a Blue Swirl
0x90107070:  ret
386 2313086a Blue Swirl
0x90107071:  jmp    0x90107080
387 2313086a Blue Swirl
0x90107073:  nop
388 2313086a Blue Swirl
0x90107074:  nop
389 2313086a Blue Swirl
0x90107075:  nop
390 2313086a Blue Swirl
0x90107076:  nop
391 2313086a Blue Swirl
@end example
392 2313086a Blue Swirl
393 2313086a Blue Swirl
@item
394 2313086a Blue Swirl
Dump 80 16 bit values at the start of the video memory.
395 2313086a Blue Swirl
@smallexample
396 2313086a Blue Swirl
(qemu) xp/80hx 0xb8000
397 2313086a Blue Swirl
0x000b8000: 0x0b50 0x0b6c 0x0b65 0x0b78 0x0b38 0x0b36 0x0b2f 0x0b42
398 2313086a Blue Swirl
0x000b8010: 0x0b6f 0x0b63 0x0b68 0x0b73 0x0b20 0x0b56 0x0b47 0x0b41
399 2313086a Blue Swirl
0x000b8020: 0x0b42 0x0b69 0x0b6f 0x0b73 0x0b20 0x0b63 0x0b75 0x0b72
400 2313086a Blue Swirl
0x000b8030: 0x0b72 0x0b65 0x0b6e 0x0b74 0x0b2d 0x0b63 0x0b76 0x0b73
401 2313086a Blue Swirl
0x000b8040: 0x0b20 0x0b30 0x0b35 0x0b20 0x0b4e 0x0b6f 0x0b76 0x0b20
402 2313086a Blue Swirl
0x000b8050: 0x0b32 0x0b30 0x0b30 0x0b33 0x0720 0x0720 0x0720 0x0720
403 2313086a Blue Swirl
0x000b8060: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
404 2313086a Blue Swirl
0x000b8070: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
405 2313086a Blue Swirl
0x000b8080: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
406 2313086a Blue Swirl
0x000b8090: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
407 2313086a Blue Swirl
@end smallexample
408 2313086a Blue Swirl
@end itemize
409 2313086a Blue Swirl
ETEXI
410 2313086a Blue Swirl
411 d7f9b689 Luiz Capitulino
    {
412 d7f9b689 Luiz Capitulino
        .name       = "p|print",
413 d7f9b689 Luiz Capitulino
        .args_type  = "fmt:/,val:l",
414 d7f9b689 Luiz Capitulino
        .params     = "/fmt expr",
415 d7f9b689 Luiz Capitulino
        .help       = "print expression value (use $reg for CPU register access)",
416 af4ce882 Luiz Capitulino
        .mhandler.cmd = do_print,
417 d7f9b689 Luiz Capitulino
    },
418 d7f9b689 Luiz Capitulino
419 2313086a Blue Swirl
STEXI
420 2313086a Blue Swirl
@item p or print/@var{fmt} @var{expr}
421 70fcbbe7 Stefan Weil
@findex print
422 2313086a Blue Swirl
423 2313086a Blue Swirl
Print expression value. Only the @var{format} part of @var{fmt} is
424 2313086a Blue Swirl
used.
425 2313086a Blue Swirl
ETEXI
426 2313086a Blue Swirl
427 d7f9b689 Luiz Capitulino
    {
428 d7f9b689 Luiz Capitulino
        .name       = "i",
429 d7f9b689 Luiz Capitulino
        .args_type  = "fmt:/,addr:i,index:i.",
430 d7f9b689 Luiz Capitulino
        .params     = "/fmt addr",
431 d7f9b689 Luiz Capitulino
        .help       = "I/O port read",
432 af4ce882 Luiz Capitulino
        .mhandler.cmd = do_ioport_read,
433 d7f9b689 Luiz Capitulino
    },
434 d7f9b689 Luiz Capitulino
435 2313086a Blue Swirl
STEXI
436 2313086a Blue Swirl
Read I/O port.
437 2313086a Blue Swirl
ETEXI
438 2313086a Blue Swirl
439 d7f9b689 Luiz Capitulino
    {
440 d7f9b689 Luiz Capitulino
        .name       = "o",
441 d7f9b689 Luiz Capitulino
        .args_type  = "fmt:/,addr:i,val:i",
442 d7f9b689 Luiz Capitulino
        .params     = "/fmt addr value",
443 d7f9b689 Luiz Capitulino
        .help       = "I/O port write",
444 af4ce882 Luiz Capitulino
        .mhandler.cmd = do_ioport_write,
445 d7f9b689 Luiz Capitulino
    },
446 d7f9b689 Luiz Capitulino
447 f114784f Jan Kiszka
STEXI
448 f114784f Jan Kiszka
Write to I/O port.
449 f114784f Jan Kiszka
ETEXI
450 2313086a Blue Swirl
451 d7f9b689 Luiz Capitulino
    {
452 d7f9b689 Luiz Capitulino
        .name       = "sendkey",
453 d7f9b689 Luiz Capitulino
        .args_type  = "string:s,hold_time:i?",
454 d7f9b689 Luiz Capitulino
        .params     = "keys [hold_ms]",
455 d7f9b689 Luiz Capitulino
        .help       = "send keys to the VM (e.g. 'sendkey ctrl-alt-f1', default hold time=100 ms)",
456 af4ce882 Luiz Capitulino
        .mhandler.cmd = do_sendkey,
457 d7f9b689 Luiz Capitulino
    },
458 d7f9b689 Luiz Capitulino
459 2313086a Blue Swirl
STEXI
460 2313086a Blue Swirl
@item sendkey @var{keys}
461 70fcbbe7 Stefan Weil
@findex sendkey
462 2313086a Blue Swirl
463 2313086a Blue Swirl
Send @var{keys} to the emulator. @var{keys} could be the name of the
464 2313086a Blue Swirl
key or @code{#} followed by the raw value in either decimal or hexadecimal
465 2313086a Blue Swirl
format. Use @code{-} to press several keys simultaneously. Example:
466 2313086a Blue Swirl
@example
467 2313086a Blue Swirl
sendkey ctrl-alt-f1
468 2313086a Blue Swirl
@end example
469 2313086a Blue Swirl
470 2313086a Blue Swirl
This command is useful to send keys that your graphical user interface
471 2313086a Blue Swirl
intercepts at low level, such as @code{ctrl-alt-f1} in X Window.
472 2313086a Blue Swirl
ETEXI
473 2313086a Blue Swirl
474 d7f9b689 Luiz Capitulino
    {
475 d7f9b689 Luiz Capitulino
        .name       = "system_reset",
476 d7f9b689 Luiz Capitulino
        .args_type  = "",
477 d7f9b689 Luiz Capitulino
        .params     = "",
478 d7f9b689 Luiz Capitulino
        .help       = "reset the system",
479 38d22653 Luiz Capitulino
        .mhandler.cmd = hmp_system_reset,
480 d7f9b689 Luiz Capitulino
    },
481 d7f9b689 Luiz Capitulino
482 2313086a Blue Swirl
STEXI
483 2313086a Blue Swirl
@item system_reset
484 70fcbbe7 Stefan Weil
@findex system_reset
485 2313086a Blue Swirl
486 2313086a Blue Swirl
Reset the system.
487 2313086a Blue Swirl
ETEXI
488 2313086a Blue Swirl
489 d7f9b689 Luiz Capitulino
    {
490 d7f9b689 Luiz Capitulino
        .name       = "system_powerdown",
491 d7f9b689 Luiz Capitulino
        .args_type  = "",
492 d7f9b689 Luiz Capitulino
        .params     = "",
493 d7f9b689 Luiz Capitulino
        .help       = "send system power down event",
494 5bc465e4 Luiz Capitulino
        .mhandler.cmd = hmp_system_powerdown,
495 d7f9b689 Luiz Capitulino
    },
496 d7f9b689 Luiz Capitulino
497 2313086a Blue Swirl
STEXI
498 2313086a Blue Swirl
@item system_powerdown
499 70fcbbe7 Stefan Weil
@findex system_powerdown
500 2313086a Blue Swirl
501 2313086a Blue Swirl
Power down the system (if supported).
502 2313086a Blue Swirl
ETEXI
503 2313086a Blue Swirl
504 d7f9b689 Luiz Capitulino
    {
505 d7f9b689 Luiz Capitulino
        .name       = "sum",
506 d7f9b689 Luiz Capitulino
        .args_type  = "start:i,size:i",
507 d7f9b689 Luiz Capitulino
        .params     = "addr size",
508 d7f9b689 Luiz Capitulino
        .help       = "compute the checksum of a memory region",
509 af4ce882 Luiz Capitulino
        .mhandler.cmd = do_sum,
510 d7f9b689 Luiz Capitulino
    },
511 d7f9b689 Luiz Capitulino
512 2313086a Blue Swirl
STEXI
513 2313086a Blue Swirl
@item sum @var{addr} @var{size}
514 70fcbbe7 Stefan Weil
@findex sum
515 2313086a Blue Swirl
516 2313086a Blue Swirl
Compute the checksum of a memory region.
517 2313086a Blue Swirl
ETEXI
518 2313086a Blue Swirl
519 d7f9b689 Luiz Capitulino
    {
520 d7f9b689 Luiz Capitulino
        .name       = "usb_add",
521 d7f9b689 Luiz Capitulino
        .args_type  = "devname:s",
522 d7f9b689 Luiz Capitulino
        .params     = "device",
523 d7f9b689 Luiz Capitulino
        .help       = "add USB device (e.g. 'host:bus.addr' or 'host:vendor_id:product_id')",
524 af4ce882 Luiz Capitulino
        .mhandler.cmd = do_usb_add,
525 d7f9b689 Luiz Capitulino
    },
526 d7f9b689 Luiz Capitulino
527 2313086a Blue Swirl
STEXI
528 2313086a Blue Swirl
@item usb_add @var{devname}
529 70fcbbe7 Stefan Weil
@findex usb_add
530 2313086a Blue Swirl
531 2313086a Blue Swirl
Add the USB device @var{devname}.  For details of available devices see
532 2313086a Blue Swirl
@ref{usb_devices}
533 2313086a Blue Swirl
ETEXI
534 2313086a Blue Swirl
535 d7f9b689 Luiz Capitulino
    {
536 d7f9b689 Luiz Capitulino
        .name       = "usb_del",
537 d7f9b689 Luiz Capitulino
        .args_type  = "devname:s",
538 d7f9b689 Luiz Capitulino
        .params     = "device",
539 d7f9b689 Luiz Capitulino
        .help       = "remove USB device 'bus.addr'",
540 af4ce882 Luiz Capitulino
        .mhandler.cmd = do_usb_del,
541 d7f9b689 Luiz Capitulino
    },
542 d7f9b689 Luiz Capitulino
543 2313086a Blue Swirl
STEXI
544 2313086a Blue Swirl
@item usb_del @var{devname}
545 70fcbbe7 Stefan Weil
@findex usb_del
546 2313086a Blue Swirl
547 2313086a Blue Swirl
Remove the USB device @var{devname} from the QEMU virtual USB
548 2313086a Blue Swirl
hub. @var{devname} has the syntax @code{bus.addr}. Use the monitor
549 2313086a Blue Swirl
command @code{info usb} to see the devices you can remove.
550 2313086a Blue Swirl
ETEXI
551 2313086a Blue Swirl
552 d7f9b689 Luiz Capitulino
    {
553 d7f9b689 Luiz Capitulino
        .name       = "device_add",
554 c7e4e8ce Markus Armbruster
        .args_type  = "device:O",
555 c7e4e8ce Markus Armbruster
        .params     = "driver[,prop=value][,...]",
556 d7f9b689 Luiz Capitulino
        .help       = "add device, like -device on the command line",
557 8bc27249 Markus Armbruster
        .user_print = monitor_user_noop,
558 8bc27249 Markus Armbruster
        .mhandler.cmd_new = do_device_add,
559 d7f9b689 Luiz Capitulino
    },
560 d7f9b689 Luiz Capitulino
561 3418bd25 Gerd Hoffmann
STEXI
562 3418bd25 Gerd Hoffmann
@item device_add @var{config}
563 70fcbbe7 Stefan Weil
@findex device_add
564 3418bd25 Gerd Hoffmann
565 3418bd25 Gerd Hoffmann
Add device.
566 3418bd25 Gerd Hoffmann
ETEXI
567 3418bd25 Gerd Hoffmann
568 d7f9b689 Luiz Capitulino
    {
569 d7f9b689 Luiz Capitulino
        .name       = "device_del",
570 d7f9b689 Luiz Capitulino
        .args_type  = "id:s",
571 d7f9b689 Luiz Capitulino
        .params     = "device",
572 d7f9b689 Luiz Capitulino
        .help       = "remove device",
573 17a38eaa Markus Armbruster
        .user_print = monitor_user_noop,
574 17a38eaa Markus Armbruster
        .mhandler.cmd_new = do_device_del,
575 d7f9b689 Luiz Capitulino
    },
576 d7f9b689 Luiz Capitulino
577 3418bd25 Gerd Hoffmann
STEXI
578 3418bd25 Gerd Hoffmann
@item device_del @var{id}
579 70fcbbe7 Stefan Weil
@findex device_del
580 3418bd25 Gerd Hoffmann
581 3418bd25 Gerd Hoffmann
Remove device @var{id}.
582 3418bd25 Gerd Hoffmann
ETEXI
583 3418bd25 Gerd Hoffmann
584 d7f9b689 Luiz Capitulino
    {
585 d7f9b689 Luiz Capitulino
        .name       = "cpu",
586 d7f9b689 Luiz Capitulino
        .args_type  = "index:i",
587 d7f9b689 Luiz Capitulino
        .params     = "index",
588 d7f9b689 Luiz Capitulino
        .help       = "set the default CPU",
589 755f1968 Luiz Capitulino
        .mhandler.cmd = hmp_cpu,
590 d7f9b689 Luiz Capitulino
    },
591 3418bd25 Gerd Hoffmann
592 2313086a Blue Swirl
STEXI
593 c427ea9c Markus Armbruster
@item cpu @var{index}
594 c427ea9c Markus Armbruster
@findex cpu
595 2313086a Blue Swirl
Set the default CPU.
596 2313086a Blue Swirl
ETEXI
597 2313086a Blue Swirl
598 d7f9b689 Luiz Capitulino
    {
599 d7f9b689 Luiz Capitulino
        .name       = "mouse_move",
600 d7f9b689 Luiz Capitulino
        .args_type  = "dx_str:s,dy_str:s,dz_str:s?",
601 d7f9b689 Luiz Capitulino
        .params     = "dx dy [dz]",
602 d7f9b689 Luiz Capitulino
        .help       = "send mouse move events",
603 af4ce882 Luiz Capitulino
        .mhandler.cmd = do_mouse_move,
604 d7f9b689 Luiz Capitulino
    },
605 d7f9b689 Luiz Capitulino
606 2313086a Blue Swirl
STEXI
607 2313086a Blue Swirl
@item mouse_move @var{dx} @var{dy} [@var{dz}]
608 70fcbbe7 Stefan Weil
@findex mouse_move
609 2313086a Blue Swirl
Move the active mouse to the specified coordinates @var{dx} @var{dy}
610 2313086a Blue Swirl
with optional scroll axis @var{dz}.
611 2313086a Blue Swirl
ETEXI
612 2313086a Blue Swirl
613 d7f9b689 Luiz Capitulino
    {
614 d7f9b689 Luiz Capitulino
        .name       = "mouse_button",
615 d7f9b689 Luiz Capitulino
        .args_type  = "button_state:i",
616 d7f9b689 Luiz Capitulino
        .params     = "state",
617 d7f9b689 Luiz Capitulino
        .help       = "change mouse button state (1=L, 2=M, 4=R)",
618 af4ce882 Luiz Capitulino
        .mhandler.cmd = do_mouse_button,
619 d7f9b689 Luiz Capitulino
    },
620 d7f9b689 Luiz Capitulino
621 2313086a Blue Swirl
STEXI
622 2313086a Blue Swirl
@item mouse_button @var{val}
623 70fcbbe7 Stefan Weil
@findex mouse_button
624 2313086a Blue Swirl
Change the active mouse button state @var{val} (1=L, 2=M, 4=R).
625 2313086a Blue Swirl
ETEXI
626 2313086a Blue Swirl
627 d7f9b689 Luiz Capitulino
    {
628 d7f9b689 Luiz Capitulino
        .name       = "mouse_set",
629 d7f9b689 Luiz Capitulino
        .args_type  = "index:i",
630 d7f9b689 Luiz Capitulino
        .params     = "index",
631 d7f9b689 Luiz Capitulino
        .help       = "set which mouse device receives events",
632 af4ce882 Luiz Capitulino
        .mhandler.cmd = do_mouse_set,
633 d7f9b689 Luiz Capitulino
    },
634 d7f9b689 Luiz Capitulino
635 2313086a Blue Swirl
STEXI
636 2313086a Blue Swirl
@item mouse_set @var{index}
637 70fcbbe7 Stefan Weil
@findex mouse_set
638 2313086a Blue Swirl
Set which mouse device receives events at given @var{index}, index
639 2313086a Blue Swirl
can be obtained with
640 2313086a Blue Swirl
@example
641 2313086a Blue Swirl
info mice
642 2313086a Blue Swirl
@end example
643 2313086a Blue Swirl
ETEXI
644 2313086a Blue Swirl
645 2313086a Blue Swirl
#ifdef HAS_AUDIO
646 d7f9b689 Luiz Capitulino
    {
647 d7f9b689 Luiz Capitulino
        .name       = "wavcapture",
648 d7f9b689 Luiz Capitulino
        .args_type  = "path:F,freq:i?,bits:i?,nchannels:i?",
649 d7f9b689 Luiz Capitulino
        .params     = "path [frequency [bits [channels]]]",
650 d7f9b689 Luiz Capitulino
        .help       = "capture audio to a wave file (default frequency=44100 bits=16 channels=2)",
651 af4ce882 Luiz Capitulino
        .mhandler.cmd = do_wav_capture,
652 d7f9b689 Luiz Capitulino
    },
653 2313086a Blue Swirl
#endif
654 2313086a Blue Swirl
STEXI
655 2313086a Blue Swirl
@item wavcapture @var{filename} [@var{frequency} [@var{bits} [@var{channels}]]]
656 70fcbbe7 Stefan Weil
@findex wavcapture
657 2313086a Blue Swirl
Capture audio into @var{filename}. Using sample rate @var{frequency}
658 2313086a Blue Swirl
bits per sample @var{bits} and number of channels @var{channels}.
659 2313086a Blue Swirl
660 2313086a Blue Swirl
Defaults:
661 2313086a Blue Swirl
@itemize @minus
662 2313086a Blue Swirl
@item Sample rate = 44100 Hz - CD quality
663 2313086a Blue Swirl
@item Bits = 16
664 2313086a Blue Swirl
@item Number of channels = 2 - Stereo
665 2313086a Blue Swirl
@end itemize
666 2313086a Blue Swirl
ETEXI
667 2313086a Blue Swirl
668 2313086a Blue Swirl
#ifdef HAS_AUDIO
669 d7f9b689 Luiz Capitulino
    {
670 d7f9b689 Luiz Capitulino
        .name       = "stopcapture",
671 d7f9b689 Luiz Capitulino
        .args_type  = "n:i",
672 d7f9b689 Luiz Capitulino
        .params     = "capture index",
673 d7f9b689 Luiz Capitulino
        .help       = "stop capture",
674 af4ce882 Luiz Capitulino
        .mhandler.cmd = do_stop_capture,
675 d7f9b689 Luiz Capitulino
    },
676 2313086a Blue Swirl
#endif
677 2313086a Blue Swirl
STEXI
678 2313086a Blue Swirl
@item stopcapture @var{index}
679 70fcbbe7 Stefan Weil
@findex stopcapture
680 2313086a Blue Swirl
Stop capture with a given @var{index}, index can be obtained with
681 2313086a Blue Swirl
@example
682 2313086a Blue Swirl
info capture
683 2313086a Blue Swirl
@end example
684 2313086a Blue Swirl
ETEXI
685 2313086a Blue Swirl
686 d7f9b689 Luiz Capitulino
    {
687 d7f9b689 Luiz Capitulino
        .name       = "memsave",
688 d7f9b689 Luiz Capitulino
        .args_type  = "val:l,size:i,filename:s",
689 d7f9b689 Luiz Capitulino
        .params     = "addr size file",
690 d7f9b689 Luiz Capitulino
        .help       = "save to disk virtual memory dump starting at 'addr' of size 'size'",
691 0cfd6a9a Luiz Capitulino
        .mhandler.cmd = hmp_memsave,
692 d7f9b689 Luiz Capitulino
    },
693 d7f9b689 Luiz Capitulino
694 2313086a Blue Swirl
STEXI
695 2313086a Blue Swirl
@item memsave @var{addr} @var{size} @var{file}
696 70fcbbe7 Stefan Weil
@findex memsave
697 2313086a Blue Swirl
save to disk virtual memory dump starting at @var{addr} of size @var{size}.
698 2313086a Blue Swirl
ETEXI
699 2313086a Blue Swirl
700 d7f9b689 Luiz Capitulino
    {
701 d7f9b689 Luiz Capitulino
        .name       = "pmemsave",
702 d7f9b689 Luiz Capitulino
        .args_type  = "val:l,size:i,filename:s",
703 d7f9b689 Luiz Capitulino
        .params     = "addr size file",
704 d7f9b689 Luiz Capitulino
        .help       = "save to disk physical memory dump starting at 'addr' of size 'size'",
705 6d3962bf Luiz Capitulino
        .mhandler.cmd = hmp_pmemsave,
706 d7f9b689 Luiz Capitulino
    },
707 d7f9b689 Luiz Capitulino
708 2313086a Blue Swirl
STEXI
709 2313086a Blue Swirl
@item pmemsave @var{addr} @var{size} @var{file}
710 70fcbbe7 Stefan Weil
@findex pmemsave
711 2313086a Blue Swirl
save to disk physical memory dump starting at @var{addr} of size @var{size}.
712 2313086a Blue Swirl
ETEXI
713 2313086a Blue Swirl
714 d7f9b689 Luiz Capitulino
    {
715 d7f9b689 Luiz Capitulino
        .name       = "boot_set",
716 d7f9b689 Luiz Capitulino
        .args_type  = "bootdevice:s",
717 d7f9b689 Luiz Capitulino
        .params     = "bootdevice",
718 d7f9b689 Luiz Capitulino
        .help       = "define new values for the boot device list",
719 af4ce882 Luiz Capitulino
        .mhandler.cmd = do_boot_set,
720 d7f9b689 Luiz Capitulino
    },
721 d7f9b689 Luiz Capitulino
722 2313086a Blue Swirl
STEXI
723 2313086a Blue Swirl
@item boot_set @var{bootdevicelist}
724 70fcbbe7 Stefan Weil
@findex boot_set
725 2313086a Blue Swirl
726 2313086a Blue Swirl
Define new values for the boot device list. Those values will override
727 2313086a Blue Swirl
the values specified on the command line through the @code{-boot} option.
728 2313086a Blue Swirl
729 2313086a Blue Swirl
The values that can be specified here depend on the machine type, but are
730 2313086a Blue Swirl
the same that can be specified in the @code{-boot} command line option.
731 2313086a Blue Swirl
ETEXI
732 2313086a Blue Swirl
733 2313086a Blue Swirl
#if defined(TARGET_I386)
734 d7f9b689 Luiz Capitulino
    {
735 d7f9b689 Luiz Capitulino
        .name       = "nmi",
736 e9b4b432 Luiz Capitulino
        .args_type  = "",
737 e9b4b432 Luiz Capitulino
        .params     = "",
738 e9b4b432 Luiz Capitulino
        .help       = "inject an NMI on all guest's CPUs",
739 ab49ab5c Luiz Capitulino
        .mhandler.cmd = hmp_inject_nmi,
740 d7f9b689 Luiz Capitulino
    },
741 2313086a Blue Swirl
#endif
742 2313086a Blue Swirl
STEXI
743 2313086a Blue Swirl
@item nmi @var{cpu}
744 70fcbbe7 Stefan Weil
@findex nmi
745 2313086a Blue Swirl
Inject an NMI on the given CPU (x86 only).
746 2313086a Blue Swirl
ETEXI
747 2313086a Blue Swirl
748 d7f9b689 Luiz Capitulino
    {
749 d7f9b689 Luiz Capitulino
        .name       = "migrate",
750 fbc3d96c lirans@il.ibm.com
        .args_type  = "detach:-d,blk:-b,inc:-i,uri:s",
751 fbc3d96c lirans@il.ibm.com
        .params     = "[-d] [-b] [-i] uri",
752 fbc3d96c lirans@il.ibm.com
        .help       = "migrate to URI (using -d to not wait for completion)"
753 fbc3d96c lirans@il.ibm.com
		      "\n\t\t\t -b for migration without shared storage with"
754 fbc3d96c lirans@il.ibm.com
		      " full copy of disk\n\t\t\t -i for migration without "
755 fbc3d96c lirans@il.ibm.com
		      "shared storage with incremental copy of disk "
756 fbc3d96c lirans@il.ibm.com
		      "(base image shared between src and destination)",
757 fbc3d96c lirans@il.ibm.com
        .user_print = monitor_user_noop,	
758 261394db Luiz Capitulino
	.mhandler.cmd_new = do_migrate,
759 d7f9b689 Luiz Capitulino
    },
760 d7f9b689 Luiz Capitulino
761 fbc3d96c lirans@il.ibm.com
762 2313086a Blue Swirl
STEXI
763 fbc3d96c lirans@il.ibm.com
@item migrate [-d] [-b] [-i] @var{uri}
764 70fcbbe7 Stefan Weil
@findex migrate
765 2313086a Blue Swirl
Migrate to @var{uri} (using -d to not wait for completion).
766 fbc3d96c lirans@il.ibm.com
	-b for migration with full copy of disk
767 fbc3d96c lirans@il.ibm.com
	-i for migration with incremental copy of disk (base image is shared)
768 2313086a Blue Swirl
ETEXI
769 2313086a Blue Swirl
770 d7f9b689 Luiz Capitulino
    {
771 d7f9b689 Luiz Capitulino
        .name       = "migrate_cancel",
772 d7f9b689 Luiz Capitulino
        .args_type  = "",
773 d7f9b689 Luiz Capitulino
        .params     = "",
774 d7f9b689 Luiz Capitulino
        .help       = "cancel the current VM migration",
775 911d2963 Luiz Capitulino
        .user_print = monitor_user_noop,
776 261394db Luiz Capitulino
        .mhandler.cmd_new = do_migrate_cancel,
777 d7f9b689 Luiz Capitulino
    },
778 d7f9b689 Luiz Capitulino
779 2313086a Blue Swirl
STEXI
780 2313086a Blue Swirl
@item migrate_cancel
781 70fcbbe7 Stefan Weil
@findex migrate_cancel
782 2313086a Blue Swirl
Cancel the current VM migration.
783 2313086a Blue Swirl
ETEXI
784 2313086a Blue Swirl
785 d7f9b689 Luiz Capitulino
    {
786 d7f9b689 Luiz Capitulino
        .name       = "migrate_set_speed",
787 ed3d4a80 Jes Sorensen
        .args_type  = "value:o",
788 d7f9b689 Luiz Capitulino
        .params     = "value",
789 ed3d4a80 Jes Sorensen
        .help       = "set maximum speed (in bytes) for migrations. "
790 ed3d4a80 Jes Sorensen
	"Defaults to MB if no size suffix is specified, ie. B/K/M/G/T",
791 5fd9083c Markus Armbruster
        .user_print = monitor_user_noop,
792 261394db Luiz Capitulino
        .mhandler.cmd_new = do_migrate_set_speed,
793 d7f9b689 Luiz Capitulino
    },
794 d7f9b689 Luiz Capitulino
795 2313086a Blue Swirl
STEXI
796 2313086a Blue Swirl
@item migrate_set_speed @var{value}
797 70fcbbe7 Stefan Weil
@findex migrate_set_speed
798 2313086a Blue Swirl
Set maximum speed to @var{value} (in bytes) for migrations.
799 2313086a Blue Swirl
ETEXI
800 2313086a Blue Swirl
801 d7f9b689 Luiz Capitulino
    {
802 d7f9b689 Luiz Capitulino
        .name       = "migrate_set_downtime",
803 b0fbf7d3 Markus Armbruster
        .args_type  = "value:T",
804 d7f9b689 Luiz Capitulino
        .params     = "value",
805 d7f9b689 Luiz Capitulino
        .help       = "set maximum tolerated downtime (in seconds) for migrations",
806 c6027f56 Markus Armbruster
        .user_print = monitor_user_noop,
807 261394db Luiz Capitulino
        .mhandler.cmd_new = do_migrate_set_downtime,
808 d7f9b689 Luiz Capitulino
    },
809 2ea42952 Glauber Costa
810 2ea42952 Glauber Costa
STEXI
811 2ea42952 Glauber Costa
@item migrate_set_downtime @var{second}
812 70fcbbe7 Stefan Weil
@findex migrate_set_downtime
813 2ea42952 Glauber Costa
Set maximum tolerated downtime (in seconds) for migration.
814 2ea42952 Glauber Costa
ETEXI
815 2ea42952 Glauber Costa
816 f8882568 Jes Sorensen
    {
817 2ea720db Jes Sorensen
        .name       = "client_migrate_info",
818 2ea720db Jes Sorensen
        .args_type  = "protocol:s,hostname:s,port:i?,tls-port:i?,cert-subject:s?",
819 2ea720db Jes Sorensen
        .params     = "protocol hostname port tls-port cert-subject",
820 2ea720db Jes Sorensen
        .help       = "send migration info to spice/vnc client",
821 2ea720db Jes Sorensen
        .user_print = monitor_user_noop,
822 edc5cb1a Yonit Halperin
        .mhandler.cmd_async = client_migrate_info,
823 edc5cb1a Yonit Halperin
        .flags      = MONITOR_CMD_ASYNC,
824 f8882568 Jes Sorensen
    },
825 f8882568 Jes Sorensen
826 f8882568 Jes Sorensen
STEXI
827 e866e239 Gerd Hoffmann
@item client_migrate_info @var{protocol} @var{hostname} @var{port} @var{tls-port} @var{cert-subject}
828 e866e239 Gerd Hoffmann
@findex client_migrate_info
829 e866e239 Gerd Hoffmann
Set the spice/vnc connection info for the migration target.  The spice/vnc
830 e866e239 Gerd Hoffmann
server will ask the spice/vnc client to automatically reconnect using the
831 e866e239 Gerd Hoffmann
new parameters (if specified) once the vm migration finished successfully.
832 e866e239 Gerd Hoffmann
ETEXI
833 e866e239 Gerd Hoffmann
834 e866e239 Gerd Hoffmann
    {
835 2ea720db Jes Sorensen
        .name       = "snapshot_blkdev",
836 d967b2f1 Jes Sorensen
        .args_type  = "device:B,snapshot-file:s?,format:s?",
837 2ea720db Jes Sorensen
        .params     = "device [new-image-file] [format]",
838 2ea720db Jes Sorensen
        .help       = "initiates a live snapshot\n\t\t\t"
839 2ea720db Jes Sorensen
                      "of device. If a new image file is specified, the\n\t\t\t"
840 2ea720db Jes Sorensen
                      "new image file will become the new root image.\n\t\t\t"
841 2ea720db Jes Sorensen
                      "If format is specified, the snapshot file will\n\t\t\t"
842 2ea720db Jes Sorensen
                      "be created in that format. Otherwise the\n\t\t\t"
843 2ea720db Jes Sorensen
                      "snapshot will be internal! (currently unsupported)",
844 2ea720db Jes Sorensen
        .mhandler.cmd_new = do_snapshot_blkdev,
845 e866e239 Gerd Hoffmann
    },
846 e866e239 Gerd Hoffmann
847 e866e239 Gerd Hoffmann
STEXI
848 f8882568 Jes Sorensen
@item snapshot_blkdev
849 f8882568 Jes Sorensen
@findex snapshot_blkdev
850 f8882568 Jes Sorensen
Snapshot device, using snapshot file as target if provided
851 f8882568 Jes Sorensen
ETEXI
852 f8882568 Jes Sorensen
853 2313086a Blue Swirl
#if defined(TARGET_I386)
854 d7f9b689 Luiz Capitulino
    {
855 d7f9b689 Luiz Capitulino
        .name       = "drive_add",
856 d7f9b689 Luiz Capitulino
        .args_type  = "pci_addr:s,opts:s",
857 d7f9b689 Luiz Capitulino
        .params     = "[[<domain>:]<bus>:]<slot>\n"
858 d7f9b689 Luiz Capitulino
                      "[file=file][,if=type][,bus=n]\n"
859 fb0490f6 Stefan Hajnoczi
                      "[,unit=m][,media=d][,index=i]\n"
860 d7f9b689 Luiz Capitulino
                      "[,cyls=c,heads=h,secs=s[,trans=t]]\n"
861 fb0490f6 Stefan Hajnoczi
                      "[,snapshot=on|off][,cache=on|off]\n"
862 fb0490f6 Stefan Hajnoczi
                      "[,readonly=on|off][,copy-on-read=on|off]",
863 d7f9b689 Luiz Capitulino
        .help       = "add drive to PCI storage controller",
864 af4ce882 Luiz Capitulino
        .mhandler.cmd = drive_hot_add,
865 d7f9b689 Luiz Capitulino
    },
866 2313086a Blue Swirl
#endif
867 d7f9b689 Luiz Capitulino
868 2313086a Blue Swirl
STEXI
869 2313086a Blue Swirl
@item drive_add
870 70fcbbe7 Stefan Weil
@findex drive_add
871 2313086a Blue Swirl
Add drive to PCI storage controller.
872 2313086a Blue Swirl
ETEXI
873 2313086a Blue Swirl
874 2313086a Blue Swirl
#if defined(TARGET_I386)
875 d7f9b689 Luiz Capitulino
    {
876 d7f9b689 Luiz Capitulino
        .name       = "pci_add",
877 d7f9b689 Luiz Capitulino
        .args_type  = "pci_addr:s,type:s,opts:s?",
878 d7f9b689 Luiz Capitulino
        .params     = "auto|[[<domain>:]<bus>:]<slot> nic|storage [[vlan=n][,macaddr=addr][,model=type]] [file=file][,if=type][,bus=nr]...",
879 d7f9b689 Luiz Capitulino
        .help       = "hot-add PCI device",
880 6c6a58ae Markus Armbruster
        .mhandler.cmd = pci_device_hot_add,
881 d7f9b689 Luiz Capitulino
    },
882 2313086a Blue Swirl
#endif
883 d7f9b689 Luiz Capitulino
884 2313086a Blue Swirl
STEXI
885 2313086a Blue Swirl
@item pci_add
886 70fcbbe7 Stefan Weil
@findex pci_add
887 2313086a Blue Swirl
Hot-add PCI device.
888 2313086a Blue Swirl
ETEXI
889 2313086a Blue Swirl
890 2313086a Blue Swirl
#if defined(TARGET_I386)
891 d7f9b689 Luiz Capitulino
    {
892 d7f9b689 Luiz Capitulino
        .name       = "pci_del",
893 d7f9b689 Luiz Capitulino
        .args_type  = "pci_addr:s",
894 d7f9b689 Luiz Capitulino
        .params     = "[[<domain>:]<bus>:]<slot>",
895 d7f9b689 Luiz Capitulino
        .help       = "hot remove PCI device",
896 b752daf0 Markus Armbruster
        .mhandler.cmd = do_pci_device_hot_remove,
897 d7f9b689 Luiz Capitulino
    },
898 2313086a Blue Swirl
#endif
899 d7f9b689 Luiz Capitulino
900 2313086a Blue Swirl
STEXI
901 2313086a Blue Swirl
@item pci_del
902 70fcbbe7 Stefan Weil
@findex pci_del
903 2313086a Blue Swirl
Hot remove PCI device.
904 2313086a Blue Swirl
ETEXI
905 2313086a Blue Swirl
906 d7f9b689 Luiz Capitulino
    {
907 2ae63bda Isaku Yamahata
        .name       = "pcie_aer_inject_error",
908 2ae63bda Isaku Yamahata
        .args_type  = "advisory_non_fatal:-a,correctable:-c,"
909 2ae63bda Isaku Yamahata
	              "id:s,error_status:s,"
910 2ae63bda Isaku Yamahata
	              "header0:i?,header1:i?,header2:i?,header3:i?,"
911 2ae63bda Isaku Yamahata
	              "prefix0:i?,prefix1:i?,prefix2:i?,prefix3:i?",
912 2ae63bda Isaku Yamahata
        .params     = "[-a] [-c] id "
913 2ae63bda Isaku Yamahata
                      "<error_status> [<tlp header> [<tlp header prefix>]]",
914 2ae63bda Isaku Yamahata
        .help       = "inject pcie aer error\n\t\t\t"
915 2ae63bda Isaku Yamahata
	              " -a for advisory non fatal error\n\t\t\t"
916 2ae63bda Isaku Yamahata
	              " -c for correctable error\n\t\t\t"
917 2ae63bda Isaku Yamahata
                      "<id> = qdev device id\n\t\t\t"
918 2ae63bda Isaku Yamahata
                      "<error_status> = error string or 32bit\n\t\t\t"
919 2ae63bda Isaku Yamahata
                      "<tlb header> = 32bit x 4\n\t\t\t"
920 2ae63bda Isaku Yamahata
                      "<tlb header prefix> = 32bit x 4",
921 2ae63bda Isaku Yamahata
        .user_print  = pcie_aer_inject_error_print,
922 2ae63bda Isaku Yamahata
        .mhandler.cmd_new = do_pcie_aer_inejct_error,
923 2ae63bda Isaku Yamahata
    },
924 2ae63bda Isaku Yamahata
925 2ae63bda Isaku Yamahata
STEXI
926 2ae63bda Isaku Yamahata
@item pcie_aer_inject_error
927 2ae63bda Isaku Yamahata
@findex pcie_aer_inject_error
928 2ae63bda Isaku Yamahata
Inject PCIe AER error
929 2ae63bda Isaku Yamahata
ETEXI
930 2ae63bda Isaku Yamahata
931 2ae63bda Isaku Yamahata
    {
932 d7f9b689 Luiz Capitulino
        .name       = "host_net_add",
933 d7f9b689 Luiz Capitulino
        .args_type  = "device:s,opts:s?",
934 d7f9b689 Luiz Capitulino
        .params     = "tap|user|socket|vde|dump [options]",
935 d7f9b689 Luiz Capitulino
        .help       = "add host VLAN client",
936 af4ce882 Luiz Capitulino
        .mhandler.cmd = net_host_device_add,
937 d7f9b689 Luiz Capitulino
    },
938 d7f9b689 Luiz Capitulino
939 2313086a Blue Swirl
STEXI
940 2313086a Blue Swirl
@item host_net_add
941 70fcbbe7 Stefan Weil
@findex host_net_add
942 2313086a Blue Swirl
Add host VLAN client.
943 2313086a Blue Swirl
ETEXI
944 2313086a Blue Swirl
945 d7f9b689 Luiz Capitulino
    {
946 d7f9b689 Luiz Capitulino
        .name       = "host_net_remove",
947 d7f9b689 Luiz Capitulino
        .args_type  = "vlan_id:i,device:s",
948 d7f9b689 Luiz Capitulino
        .params     = "vlan_id name",
949 d7f9b689 Luiz Capitulino
        .help       = "remove host VLAN client",
950 af4ce882 Luiz Capitulino
        .mhandler.cmd = net_host_device_remove,
951 d7f9b689 Luiz Capitulino
    },
952 d7f9b689 Luiz Capitulino
953 2313086a Blue Swirl
STEXI
954 2313086a Blue Swirl
@item host_net_remove
955 70fcbbe7 Stefan Weil
@findex host_net_remove
956 2313086a Blue Swirl
Remove host VLAN client.
957 2313086a Blue Swirl
ETEXI
958 2313086a Blue Swirl
959 ae82d324 Markus Armbruster
    {
960 ae82d324 Markus Armbruster
        .name       = "netdev_add",
961 ae82d324 Markus Armbruster
        .args_type  = "netdev:O",
962 ae82d324 Markus Armbruster
        .params     = "[user|tap|socket],id=str[,prop=value][,...]",
963 ae82d324 Markus Armbruster
        .help       = "add host network device",
964 ae82d324 Markus Armbruster
        .user_print = monitor_user_noop,
965 ae82d324 Markus Armbruster
        .mhandler.cmd_new = do_netdev_add,
966 ae82d324 Markus Armbruster
    },
967 ae82d324 Markus Armbruster
968 ae82d324 Markus Armbruster
STEXI
969 ae82d324 Markus Armbruster
@item netdev_add
970 ae82d324 Markus Armbruster
@findex netdev_add
971 ae82d324 Markus Armbruster
Add host network device.
972 ae82d324 Markus Armbruster
ETEXI
973 ae82d324 Markus Armbruster
974 ae82d324 Markus Armbruster
    {
975 ae82d324 Markus Armbruster
        .name       = "netdev_del",
976 ae82d324 Markus Armbruster
        .args_type  = "id:s",
977 ae82d324 Markus Armbruster
        .params     = "id",
978 ae82d324 Markus Armbruster
        .help       = "remove host network device",
979 ae82d324 Markus Armbruster
        .user_print = monitor_user_noop,
980 ae82d324 Markus Armbruster
        .mhandler.cmd_new = do_netdev_del,
981 ae82d324 Markus Armbruster
    },
982 ae82d324 Markus Armbruster
983 ae82d324 Markus Armbruster
STEXI
984 ae82d324 Markus Armbruster
@item netdev_del
985 ae82d324 Markus Armbruster
@findex netdev_del
986 ae82d324 Markus Armbruster
Remove host network device.
987 ae82d324 Markus Armbruster
ETEXI
988 ae82d324 Markus Armbruster
989 2313086a Blue Swirl
#ifdef CONFIG_SLIRP
990 d7f9b689 Luiz Capitulino
    {
991 d7f9b689 Luiz Capitulino
        .name       = "hostfwd_add",
992 d7f9b689 Luiz Capitulino
        .args_type  = "arg1:s,arg2:s?,arg3:s?",
993 d7f9b689 Luiz Capitulino
        .params     = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport",
994 d7f9b689 Luiz Capitulino
        .help       = "redirect TCP or UDP connections from host to guest (requires -net user)",
995 af4ce882 Luiz Capitulino
        .mhandler.cmd = net_slirp_hostfwd_add,
996 d7f9b689 Luiz Capitulino
    },
997 21413d68 Markus Armbruster
#endif
998 21413d68 Markus Armbruster
STEXI
999 21413d68 Markus Armbruster
@item hostfwd_add
1000 21413d68 Markus Armbruster
@findex hostfwd_add
1001 21413d68 Markus Armbruster
Redirect TCP or UDP connections from host to guest (requires -net user).
1002 21413d68 Markus Armbruster
ETEXI
1003 d7f9b689 Luiz Capitulino
1004 21413d68 Markus Armbruster
#ifdef CONFIG_SLIRP
1005 d7f9b689 Luiz Capitulino
    {
1006 d7f9b689 Luiz Capitulino
        .name       = "hostfwd_remove",
1007 d7f9b689 Luiz Capitulino
        .args_type  = "arg1:s,arg2:s?,arg3:s?",
1008 d7f9b689 Luiz Capitulino
        .params     = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport",
1009 d7f9b689 Luiz Capitulino
        .help       = "remove host-to-guest TCP or UDP redirection",
1010 af4ce882 Luiz Capitulino
        .mhandler.cmd = net_slirp_hostfwd_remove,
1011 d7f9b689 Luiz Capitulino
    },
1012 d7f9b689 Luiz Capitulino
1013 2313086a Blue Swirl
#endif
1014 2313086a Blue Swirl
STEXI
1015 21413d68 Markus Armbruster
@item hostfwd_remove
1016 21413d68 Markus Armbruster
@findex hostfwd_remove
1017 21413d68 Markus Armbruster
Remove host-to-guest TCP or UDP redirection.
1018 2313086a Blue Swirl
ETEXI
1019 2313086a Blue Swirl
1020 d7f9b689 Luiz Capitulino
    {
1021 d7f9b689 Luiz Capitulino
        .name       = "balloon",
1022 3b0bd6ec Luiz Capitulino
        .args_type  = "value:M",
1023 d7f9b689 Luiz Capitulino
        .params     = "target",
1024 3c05613a Riccardo Magliocchetti
        .help       = "request VM to change its memory allocation (in MB)",
1025 83fb1de2 Luiz Capitulino
        .user_print = monitor_user_noop,
1026 625a5bef Adam Litke
        .mhandler.cmd_async = do_balloon,
1027 8ac470c1 Jan Kiszka
        .flags      = MONITOR_CMD_ASYNC,
1028 d7f9b689 Luiz Capitulino
    },
1029 d7f9b689 Luiz Capitulino
1030 2313086a Blue Swirl
STEXI
1031 2313086a Blue Swirl
@item balloon @var{value}
1032 70fcbbe7 Stefan Weil
@findex balloon
1033 2313086a Blue Swirl
Request VM to change its memory allocation to @var{value} (in MB).
1034 2313086a Blue Swirl
ETEXI
1035 2313086a Blue Swirl
1036 d7f9b689 Luiz Capitulino
    {
1037 d7f9b689 Luiz Capitulino
        .name       = "set_link",
1038 c9b26a4c Markus Armbruster
        .args_type  = "name:s,up:b",
1039 c9b26a4c Markus Armbruster
        .params     = "name on|off",
1040 d7f9b689 Luiz Capitulino
        .help       = "change the link status of a network adapter",
1041 4b37156c Luiz Capitulino
        .mhandler.cmd = hmp_set_link,
1042 d7f9b689 Luiz Capitulino
    },
1043 d7f9b689 Luiz Capitulino
1044 2313086a Blue Swirl
STEXI
1045 c9b26a4c Markus Armbruster
@item set_link @var{name} [on|off]
1046 70fcbbe7 Stefan Weil
@findex set_link
1047 c9b26a4c Markus Armbruster
Switch link @var{name} on (i.e. up) or off (i.e. down).
1048 2313086a Blue Swirl
ETEXI
1049 2313086a Blue Swirl
1050 d7f9b689 Luiz Capitulino
    {
1051 d7f9b689 Luiz Capitulino
        .name       = "watchdog_action",
1052 d7f9b689 Luiz Capitulino
        .args_type  = "action:s",
1053 d7f9b689 Luiz Capitulino
        .params     = "[reset|shutdown|poweroff|pause|debug|none]",
1054 d7f9b689 Luiz Capitulino
        .help       = "change watchdog action",
1055 af4ce882 Luiz Capitulino
        .mhandler.cmd = do_watchdog_action,
1056 d7f9b689 Luiz Capitulino
    },
1057 d7f9b689 Luiz Capitulino
1058 2313086a Blue Swirl
STEXI
1059 2313086a Blue Swirl
@item watchdog_action
1060 70fcbbe7 Stefan Weil
@findex watchdog_action
1061 2313086a Blue Swirl
Change watchdog action.
1062 2313086a Blue Swirl
ETEXI
1063 2313086a Blue Swirl
1064 d7f9b689 Luiz Capitulino
    {
1065 d7f9b689 Luiz Capitulino
        .name       = "acl_show",
1066 d7f9b689 Luiz Capitulino
        .args_type  = "aclname:s",
1067 d7f9b689 Luiz Capitulino
        .params     = "aclname",
1068 d7f9b689 Luiz Capitulino
        .help       = "list rules in the access control list",
1069 af4ce882 Luiz Capitulino
        .mhandler.cmd = do_acl_show,
1070 d7f9b689 Luiz Capitulino
    },
1071 d7f9b689 Luiz Capitulino
1072 2313086a Blue Swirl
STEXI
1073 15dfcd45 Jan Kiszka
@item acl_show @var{aclname}
1074 70fcbbe7 Stefan Weil
@findex acl_show
1075 15dfcd45 Jan Kiszka
List all the matching rules in the access control list, and the default
1076 15dfcd45 Jan Kiszka
policy. There are currently two named access control lists,
1077 15dfcd45 Jan Kiszka
@var{vnc.x509dname} and @var{vnc.username} matching on the x509 client
1078 15dfcd45 Jan Kiszka
certificate distinguished name, and SASL username respectively.
1079 15dfcd45 Jan Kiszka
ETEXI
1080 2313086a Blue Swirl
1081 d7f9b689 Luiz Capitulino
    {
1082 d7f9b689 Luiz Capitulino
        .name       = "acl_policy",
1083 d7f9b689 Luiz Capitulino
        .args_type  = "aclname:s,policy:s",
1084 d7f9b689 Luiz Capitulino
        .params     = "aclname allow|deny",
1085 d7f9b689 Luiz Capitulino
        .help       = "set default access control list policy",
1086 af4ce882 Luiz Capitulino
        .mhandler.cmd = do_acl_policy,
1087 d7f9b689 Luiz Capitulino
    },
1088 d7f9b689 Luiz Capitulino
1089 15dfcd45 Jan Kiszka
STEXI
1090 cbbfacc6 Jan Kiszka
@item acl_policy @var{aclname} @code{allow|deny}
1091 70fcbbe7 Stefan Weil
@findex acl_policy
1092 15dfcd45 Jan Kiszka
Set the default access control list policy, used in the event that
1093 2313086a Blue Swirl
none of the explicit rules match. The default policy at startup is
1094 15dfcd45 Jan Kiszka
always @code{deny}.
1095 15dfcd45 Jan Kiszka
ETEXI
1096 15dfcd45 Jan Kiszka
1097 d7f9b689 Luiz Capitulino
    {
1098 d7f9b689 Luiz Capitulino
        .name       = "acl_add",
1099 d7f9b689 Luiz Capitulino
        .args_type  = "aclname:s,match:s,policy:s,index:i?",
1100 d7f9b689 Luiz Capitulino
        .params     = "aclname match allow|deny [index]",
1101 d7f9b689 Luiz Capitulino
        .help       = "add a match rule to the access control list",
1102 af4ce882 Luiz Capitulino
        .mhandler.cmd = do_acl_add,
1103 d7f9b689 Luiz Capitulino
    },
1104 d7f9b689 Luiz Capitulino
1105 15dfcd45 Jan Kiszka
STEXI
1106 0e4aec98 Markus Armbruster
@item acl_add @var{aclname} @var{match} @code{allow|deny} [@var{index}]
1107 0e4aec98 Markus Armbruster
@findex acl_add
1108 15dfcd45 Jan Kiszka
Add a match rule to the access control list, allowing or denying access.
1109 15dfcd45 Jan Kiszka
The match will normally be an exact username or x509 distinguished name,
1110 15dfcd45 Jan Kiszka
but can optionally include wildcard globs. eg @code{*@@EXAMPLE.COM} to
1111 15dfcd45 Jan Kiszka
allow all users in the @code{EXAMPLE.COM} kerberos realm. The match will
1112 2313086a Blue Swirl
normally be appended to the end of the ACL, but can be inserted
1113 15dfcd45 Jan Kiszka
earlier in the list if the optional @var{index} parameter is supplied.
1114 15dfcd45 Jan Kiszka
ETEXI
1115 15dfcd45 Jan Kiszka
1116 d7f9b689 Luiz Capitulino
    {
1117 d7f9b689 Luiz Capitulino
        .name       = "acl_remove",
1118 d7f9b689 Luiz Capitulino
        .args_type  = "aclname:s,match:s",
1119 d7f9b689 Luiz Capitulino
        .params     = "aclname match",
1120 d7f9b689 Luiz Capitulino
        .help       = "remove a match rule from the access control list",
1121 af4ce882 Luiz Capitulino
        .mhandler.cmd = do_acl_remove,
1122 d7f9b689 Luiz Capitulino
    },
1123 d7f9b689 Luiz Capitulino
1124 15dfcd45 Jan Kiszka
STEXI
1125 15dfcd45 Jan Kiszka
@item acl_remove @var{aclname} @var{match}
1126 70fcbbe7 Stefan Weil
@findex acl_remove
1127 15dfcd45 Jan Kiszka
Remove the specified match rule from the access control list.
1128 15dfcd45 Jan Kiszka
ETEXI
1129 15dfcd45 Jan Kiszka
1130 d7f9b689 Luiz Capitulino
    {
1131 d7f9b689 Luiz Capitulino
        .name       = "acl_reset",
1132 d7f9b689 Luiz Capitulino
        .args_type  = "aclname:s",
1133 d7f9b689 Luiz Capitulino
        .params     = "aclname",
1134 d7f9b689 Luiz Capitulino
        .help       = "reset the access control list",
1135 af4ce882 Luiz Capitulino
        .mhandler.cmd = do_acl_reset,
1136 d7f9b689 Luiz Capitulino
    },
1137 d7f9b689 Luiz Capitulino
1138 15dfcd45 Jan Kiszka
STEXI
1139 0e4aec98 Markus Armbruster
@item acl_reset @var{aclname}
1140 0e4aec98 Markus Armbruster
@findex acl_reset
1141 15dfcd45 Jan Kiszka
Remove all matches from the access control list, and set the default
1142 2313086a Blue Swirl
policy back to @code{deny}.
1143 2313086a Blue Swirl
ETEXI
1144 2313086a Blue Swirl
1145 79c4f6b0 Huang Ying
#if defined(TARGET_I386)
1146 d7f9b689 Luiz Capitulino
1147 d7f9b689 Luiz Capitulino
    {
1148 d7f9b689 Luiz Capitulino
        .name       = "mce",
1149 31ce5e0c Jin Dongming
        .args_type  = "broadcast:-b,cpu_index:i,bank:i,status:l,mcg_status:l,addr:l,misc:l",
1150 31ce5e0c Jin Dongming
        .params     = "[-b] cpu bank status mcgstatus addr misc",
1151 31ce5e0c Jin Dongming
        .help       = "inject a MCE on the given CPU [and broadcast to other CPUs with -b option]",
1152 af4ce882 Luiz Capitulino
        .mhandler.cmd = do_inject_mce,
1153 d7f9b689 Luiz Capitulino
    },
1154 d7f9b689 Luiz Capitulino
1155 79c4f6b0 Huang Ying
#endif
1156 79c4f6b0 Huang Ying
STEXI
1157 79c4f6b0 Huang Ying
@item mce @var{cpu} @var{bank} @var{status} @var{mcgstatus} @var{addr} @var{misc}
1158 70fcbbe7 Stefan Weil
@findex mce (x86)
1159 79c4f6b0 Huang Ying
Inject an MCE on the given CPU (x86 only).
1160 79c4f6b0 Huang Ying
ETEXI
1161 79c4f6b0 Huang Ying
1162 d7f9b689 Luiz Capitulino
    {
1163 d7f9b689 Luiz Capitulino
        .name       = "getfd",
1164 d7f9b689 Luiz Capitulino
        .args_type  = "fdname:s",
1165 d7f9b689 Luiz Capitulino
        .params     = "getfd name",
1166 d7f9b689 Luiz Capitulino
        .help       = "receive a file descriptor via SCM rights and assign it a name",
1167 f0d6000a Luiz Capitulino
        .user_print = monitor_user_noop,
1168 261394db Luiz Capitulino
        .mhandler.cmd_new = do_getfd,
1169 d7f9b689 Luiz Capitulino
    },
1170 d7f9b689 Luiz Capitulino
1171 f07918fd Mark McLoughlin
STEXI
1172 f07918fd Mark McLoughlin
@item getfd @var{fdname}
1173 70fcbbe7 Stefan Weil
@findex getfd
1174 f07918fd Mark McLoughlin
If a file descriptor is passed alongside this command using the SCM_RIGHTS
1175 f07918fd Mark McLoughlin
mechanism on unix sockets, it is stored using the name @var{fdname} for
1176 f07918fd Mark McLoughlin
later use by other monitor commands.
1177 f07918fd Mark McLoughlin
ETEXI
1178 f07918fd Mark McLoughlin
1179 d7f9b689 Luiz Capitulino
    {
1180 d7f9b689 Luiz Capitulino
        .name       = "closefd",
1181 d7f9b689 Luiz Capitulino
        .args_type  = "fdname:s",
1182 d7f9b689 Luiz Capitulino
        .params     = "closefd name",
1183 d7f9b689 Luiz Capitulino
        .help       = "close a file descriptor previously passed via SCM rights",
1184 18f3a515 Luiz Capitulino
        .user_print = monitor_user_noop,
1185 261394db Luiz Capitulino
        .mhandler.cmd_new = do_closefd,
1186 d7f9b689 Luiz Capitulino
    },
1187 d7f9b689 Luiz Capitulino
1188 f07918fd Mark McLoughlin
STEXI
1189 f07918fd Mark McLoughlin
@item closefd @var{fdname}
1190 70fcbbe7 Stefan Weil
@findex closefd
1191 f07918fd Mark McLoughlin
Close the file descriptor previously assigned to @var{fdname} using the
1192 f07918fd Mark McLoughlin
@code{getfd} command. This is only needed if the file descriptor was never
1193 f07918fd Mark McLoughlin
used by another monitor command.
1194 f07918fd Mark McLoughlin
ETEXI
1195 f07918fd Mark McLoughlin
1196 a3a55a2e Luiz Capitulino
    {
1197 a3a55a2e Luiz Capitulino
        .name       = "block_passwd",
1198 a3a55a2e Luiz Capitulino
        .args_type  = "device:B,password:s",
1199 a3a55a2e Luiz Capitulino
        .params     = "block_passwd device password",
1200 a3a55a2e Luiz Capitulino
        .help       = "set the password of encrypted block devices",
1201 a4dea8a9 Luiz Capitulino
        .mhandler.cmd = hmp_block_passwd,
1202 a3a55a2e Luiz Capitulino
    },
1203 a3a55a2e Luiz Capitulino
1204 a3a55a2e Luiz Capitulino
STEXI
1205 727f005e Zhi Yong Wu
@item block_set_io_throttle @var{device} @var{bps} @var{bps_rd} @var{bps_wr} @var{iops} @var{iops_rd} @var{iops_wr}
1206 727f005e Zhi Yong Wu
@findex block_set_io_throttle
1207 727f005e Zhi Yong Wu
Change I/O throttle limits for a block drive to @var{bps} @var{bps_rd} @var{bps_wr} @var{iops} @var{iops_rd} @var{iops_wr}
1208 727f005e Zhi Yong Wu
ETEXI
1209 727f005e Zhi Yong Wu
1210 727f005e Zhi Yong Wu
    {
1211 727f005e Zhi Yong Wu
        .name       = "block_set_io_throttle",
1212 727f005e Zhi Yong Wu
        .args_type  = "device:B,bps:l,bps_rd:l,bps_wr:l,iops:l,iops_rd:l,iops_wr:l",
1213 727f005e Zhi Yong Wu
        .params     = "device bps bps_rd bps_wr iops iops_rd iops_wr",
1214 727f005e Zhi Yong Wu
        .help       = "change I/O throttle limits for a block drive",
1215 727f005e Zhi Yong Wu
        .user_print = monitor_user_noop,
1216 727f005e Zhi Yong Wu
        .mhandler.cmd_new = do_block_set_io_throttle,
1217 727f005e Zhi Yong Wu
    },
1218 727f005e Zhi Yong Wu
1219 727f005e Zhi Yong Wu
STEXI
1220 a3a55a2e Luiz Capitulino
@item block_passwd @var{device} @var{password}
1221 70fcbbe7 Stefan Weil
@findex block_passwd
1222 a3a55a2e Luiz Capitulino
Set the encrypted device @var{device} password to @var{password}
1223 a3a55a2e Luiz Capitulino
ETEXI
1224 b40292e7 Jan Kiszka
1225 33572ece Jan Kiszka
    {
1226 7572150c Gerd Hoffmann
        .name       = "set_password",
1227 7572150c Gerd Hoffmann
        .args_type  = "protocol:s,password:s,connected:s?",
1228 7572150c Gerd Hoffmann
        .params     = "protocol password action-if-connected",
1229 7572150c Gerd Hoffmann
        .help       = "set spice/vnc password",
1230 7572150c Gerd Hoffmann
        .user_print = monitor_user_noop,
1231 7572150c Gerd Hoffmann
        .mhandler.cmd_new = set_password,
1232 7572150c Gerd Hoffmann
    },
1233 7572150c Gerd Hoffmann
1234 7572150c Gerd Hoffmann
STEXI
1235 7572150c Gerd Hoffmann
@item set_password [ vnc | spice ] password [ action-if-connected ]
1236 7572150c Gerd Hoffmann
@findex set_password
1237 7572150c Gerd Hoffmann
1238 7572150c Gerd Hoffmann
Change spice/vnc password.  Use zero to make the password stay valid
1239 7572150c Gerd Hoffmann
forever.  @var{action-if-connected} specifies what should happen in
1240 7572150c Gerd Hoffmann
case a connection is established: @var{fail} makes the password change
1241 7572150c Gerd Hoffmann
fail.  @var{disconnect} changes the password and disconnects the
1242 7572150c Gerd Hoffmann
client.  @var{keep} changes the password and keeps the connection up.
1243 7572150c Gerd Hoffmann
@var{keep} is the default.
1244 7572150c Gerd Hoffmann
ETEXI
1245 7572150c Gerd Hoffmann
1246 7572150c Gerd Hoffmann
    {
1247 7572150c Gerd Hoffmann
        .name       = "expire_password",
1248 7572150c Gerd Hoffmann
        .args_type  = "protocol:s,time:s",
1249 7572150c Gerd Hoffmann
        .params     = "protocol time",
1250 7572150c Gerd Hoffmann
        .help       = "set spice/vnc password expire-time",
1251 7572150c Gerd Hoffmann
        .user_print = monitor_user_noop,
1252 7572150c Gerd Hoffmann
        .mhandler.cmd_new = expire_password,
1253 7572150c Gerd Hoffmann
    },
1254 7572150c Gerd Hoffmann
1255 7572150c Gerd Hoffmann
STEXI
1256 7572150c Gerd Hoffmann
@item expire_password [ vnc | spice ] expire-time
1257 7572150c Gerd Hoffmann
@findex expire_password
1258 7572150c Gerd Hoffmann
1259 7572150c Gerd Hoffmann
Specify when a password for spice/vnc becomes
1260 7572150c Gerd Hoffmann
invalid. @var{expire-time} accepts:
1261 7572150c Gerd Hoffmann
1262 7572150c Gerd Hoffmann
@table @var
1263 7572150c Gerd Hoffmann
@item now
1264 7572150c Gerd Hoffmann
Invalidate password instantly.
1265 7572150c Gerd Hoffmann
1266 7572150c Gerd Hoffmann
@item never
1267 7572150c Gerd Hoffmann
Password stays valid forever.
1268 7572150c Gerd Hoffmann
1269 7572150c Gerd Hoffmann
@item +nsec
1270 7572150c Gerd Hoffmann
Password stays valid for @var{nsec} seconds starting now.
1271 7572150c Gerd Hoffmann
1272 7572150c Gerd Hoffmann
@item nsec
1273 7572150c Gerd Hoffmann
Password is invalidated at the given time.  @var{nsec} are the seconds
1274 7572150c Gerd Hoffmann
passed since 1970, i.e. unix epoch.
1275 7572150c Gerd Hoffmann
1276 7572150c Gerd Hoffmann
@end table
1277 7572150c Gerd Hoffmann
ETEXI
1278 7572150c Gerd Hoffmann
1279 7572150c Gerd Hoffmann
    {
1280 33572ece Jan Kiszka
        .name       = "info",
1281 33572ece Jan Kiszka
        .args_type  = "item:s?",
1282 33572ece Jan Kiszka
        .params     = "[subcommand]",
1283 33572ece Jan Kiszka
        .help       = "show various information about the system state",
1284 1162daa6 Luiz Capitulino
        .mhandler.cmd = do_info,
1285 33572ece Jan Kiszka
    },
1286 33572ece Jan Kiszka
1287 33572ece Jan Kiszka
STEXI
1288 33572ece Jan Kiszka
@item info @var{subcommand}
1289 33572ece Jan Kiszka
@findex info
1290 33572ece Jan Kiszka
Show various information about the system state.
1291 33572ece Jan Kiszka
1292 33572ece Jan Kiszka
@table @option
1293 33572ece Jan Kiszka
@item info version
1294 33572ece Jan Kiszka
show the version of QEMU
1295 33572ece Jan Kiszka
@item info network
1296 33572ece Jan Kiszka
show the various VLANs and the associated devices
1297 33572ece Jan Kiszka
@item info chardev
1298 33572ece Jan Kiszka
show the character devices
1299 33572ece Jan Kiszka
@item info block
1300 33572ece Jan Kiszka
show the block devices
1301 33572ece Jan Kiszka
@item info blockstats
1302 33572ece Jan Kiszka
show block device statistics
1303 33572ece Jan Kiszka
@item info registers
1304 33572ece Jan Kiszka
show the cpu registers
1305 33572ece Jan Kiszka
@item info cpus
1306 33572ece Jan Kiszka
show infos for each CPU
1307 33572ece Jan Kiszka
@item info history
1308 33572ece Jan Kiszka
show the command line history
1309 33572ece Jan Kiszka
@item info irq
1310 33572ece Jan Kiszka
show the interrupts statistics (if available)
1311 33572ece Jan Kiszka
@item info pic
1312 33572ece Jan Kiszka
show i8259 (PIC) state
1313 33572ece Jan Kiszka
@item info pci
1314 33572ece Jan Kiszka
show emulated PCI device info
1315 33572ece Jan Kiszka
@item info tlb
1316 bebabbc7 Scott Wood
show virtual to physical memory mappings (i386, SH4, SPARC, and PPC only)
1317 33572ece Jan Kiszka
@item info mem
1318 33572ece Jan Kiszka
show the active virtual memory mappings (i386 only)
1319 33572ece Jan Kiszka
@item info jit
1320 33572ece Jan Kiszka
show dynamic compiler info
1321 33572ece Jan Kiszka
@item info numa
1322 33572ece Jan Kiszka
show NUMA information
1323 b40292e7 Jan Kiszka
@item info kvm
1324 b40292e7 Jan Kiszka
show KVM information
1325 33572ece Jan Kiszka
@item info usb
1326 33572ece Jan Kiszka
show USB devices plugged on the virtual USB hub
1327 33572ece Jan Kiszka
@item info usbhost
1328 33572ece Jan Kiszka
show all USB host devices
1329 33572ece Jan Kiszka
@item info profile
1330 33572ece Jan Kiszka
show profiling information
1331 33572ece Jan Kiszka
@item info capture
1332 33572ece Jan Kiszka
show information about active capturing
1333 33572ece Jan Kiszka
@item info snapshots
1334 33572ece Jan Kiszka
show list of VM snapshots
1335 33572ece Jan Kiszka
@item info status
1336 33572ece Jan Kiszka
show the current VM status (running|paused)
1337 33572ece Jan Kiszka
@item info pcmcia
1338 33572ece Jan Kiszka
show guest PCMCIA status
1339 33572ece Jan Kiszka
@item info mice
1340 33572ece Jan Kiszka
show which guest mouse is receiving events
1341 33572ece Jan Kiszka
@item info vnc
1342 33572ece Jan Kiszka
show the vnc server status
1343 33572ece Jan Kiszka
@item info name
1344 33572ece Jan Kiszka
show the current VM name
1345 33572ece Jan Kiszka
@item info uuid
1346 33572ece Jan Kiszka
show the current VM UUID
1347 33572ece Jan Kiszka
@item info cpustats
1348 33572ece Jan Kiszka
show CPU statistics
1349 33572ece Jan Kiszka
@item info usernet
1350 33572ece Jan Kiszka
show user network stack connection states
1351 33572ece Jan Kiszka
@item info migrate
1352 33572ece Jan Kiszka
show migration status
1353 33572ece Jan Kiszka
@item info balloon
1354 33572ece Jan Kiszka
show balloon information
1355 33572ece Jan Kiszka
@item info qtree
1356 33572ece Jan Kiszka
show device tree
1357 33572ece Jan Kiszka
@item info qdm
1358 33572ece Jan Kiszka
show qdev device model list
1359 33572ece Jan Kiszka
@item info roms
1360 33572ece Jan Kiszka
show roms
1361 33572ece Jan Kiszka
@end table
1362 33572ece Jan Kiszka
ETEXI
1363 33572ece Jan Kiszka
1364 6d8a764e Lluís
#ifdef CONFIG_TRACE_SIMPLE
1365 22890ab5 Prerna Saxena
STEXI
1366 22890ab5 Prerna Saxena
@item info trace
1367 22890ab5 Prerna Saxena
show contents of trace buffer
1368 31965ae2 Lluís
ETEXI
1369 31965ae2 Lluís
#endif
1370 31965ae2 Lluís
1371 31965ae2 Lluís
STEXI
1372 22890ab5 Prerna Saxena
@item info trace-events
1373 22890ab5 Prerna Saxena
show available trace events and their state
1374 22890ab5 Prerna Saxena
ETEXI
1375 22890ab5 Prerna Saxena
1376 2313086a Blue Swirl
STEXI
1377 2313086a Blue Swirl
@end table
1378 2313086a Blue Swirl
ETEXI