root / hmp-commands.hx @ feature-archipelago
History | View | Annotate | Download (48.2 kB)
1 |
HXCOMM Use DEFHEADING() to define headings in both help text and texi |
---|---|
2 |
HXCOMM Text between STEXI and ETEXI are copied to texi version and |
3 |
HXCOMM discarded from C version |
4 |
HXCOMM DEF(command, args, callback, arg_string, help) is used to construct |
5 |
HXCOMM monitor commands |
6 |
HXCOMM HXCOMM can be used for comments, discarded from both texi and C |
7 |
|
8 |
STEXI |
9 |
@table @option |
10 |
ETEXI |
11 |
|
12 |
{ |
13 |
.name = "help|?", |
14 |
.args_type = "name:S?", |
15 |
.params = "[cmd]", |
16 |
.help = "show the help", |
17 |
.mhandler.cmd = do_help_cmd, |
18 |
}, |
19 |
|
20 |
STEXI |
21 |
@item help or ? [@var{cmd}] |
22 |
@findex help |
23 |
Show the help for all commands or just for command @var{cmd}. |
24 |
ETEXI |
25 |
|
26 |
{ |
27 |
.name = "commit", |
28 |
.args_type = "device:B", |
29 |
.params = "device|all", |
30 |
.help = "commit changes to the disk images (if -snapshot is used) or backing files", |
31 |
.mhandler.cmd = do_commit, |
32 |
}, |
33 |
|
34 |
STEXI |
35 |
@item commit |
36 |
@findex commit |
37 |
Commit changes to the disk images (if -snapshot is used) or backing files. |
38 |
If the backing file is smaller than the snapshot, then the backing file will be |
39 |
resized to be the same size as the snapshot. If the snapshot is smaller than |
40 |
the backing file, the backing file will not be truncated. If you want the |
41 |
backing file to match the size of the smaller snapshot, you can safely truncate |
42 |
it yourself once the commit operation successfully completes. |
43 |
ETEXI |
44 |
|
45 |
{ |
46 |
.name = "q|quit", |
47 |
.args_type = "", |
48 |
.params = "", |
49 |
.help = "quit the emulator", |
50 |
.user_print = monitor_user_noop, |
51 |
.mhandler.cmd = hmp_quit, |
52 |
}, |
53 |
|
54 |
STEXI |
55 |
@item q or quit |
56 |
@findex quit |
57 |
Quit the emulator. |
58 |
ETEXI |
59 |
|
60 |
{ |
61 |
.name = "block_resize", |
62 |
.args_type = "device:B,size:o", |
63 |
.params = "device size", |
64 |
.help = "resize a block image", |
65 |
.mhandler.cmd = hmp_block_resize, |
66 |
}, |
67 |
|
68 |
STEXI |
69 |
@item block_resize |
70 |
@findex block_resize |
71 |
Resize a block image while a guest is running. Usually requires guest |
72 |
action to see the updated size. Resize to a lower size is supported, |
73 |
but should be used with extreme caution. Note that this command only |
74 |
resizes image files, it can not resize block devices like LVM volumes. |
75 |
ETEXI |
76 |
|
77 |
{ |
78 |
.name = "block_stream", |
79 |
.args_type = "device:B,speed:o?,base:s?", |
80 |
.params = "device [speed [base]]", |
81 |
.help = "copy data from a backing file into a block device", |
82 |
.mhandler.cmd = hmp_block_stream, |
83 |
}, |
84 |
|
85 |
STEXI |
86 |
@item block_stream |
87 |
@findex block_stream |
88 |
Copy data from a backing file into a block device. |
89 |
ETEXI |
90 |
|
91 |
{ |
92 |
.name = "block_job_set_speed", |
93 |
.args_type = "device:B,speed:o", |
94 |
.params = "device speed", |
95 |
.help = "set maximum speed for a background block operation", |
96 |
.mhandler.cmd = hmp_block_job_set_speed, |
97 |
}, |
98 |
|
99 |
STEXI |
100 |
@item block_job_set_speed |
101 |
@findex block_job_set_speed |
102 |
Set maximum speed for a background block operation. |
103 |
ETEXI |
104 |
|
105 |
{ |
106 |
.name = "block_job_cancel", |
107 |
.args_type = "force:-f,device:B", |
108 |
.params = "[-f] device", |
109 |
.help = "stop an active background block operation (use -f" |
110 |
"\n\t\t\t if the operation is currently paused)", |
111 |
.mhandler.cmd = hmp_block_job_cancel, |
112 |
}, |
113 |
|
114 |
STEXI |
115 |
@item block_job_cancel |
116 |
@findex block_job_cancel |
117 |
Stop an active background block operation (streaming, mirroring). |
118 |
ETEXI |
119 |
|
120 |
{ |
121 |
.name = "block_job_complete", |
122 |
.args_type = "device:B", |
123 |
.params = "device", |
124 |
.help = "stop an active background block operation", |
125 |
.mhandler.cmd = hmp_block_job_complete, |
126 |
}, |
127 |
|
128 |
STEXI |
129 |
@item block_job_complete |
130 |
@findex block_job_complete |
131 |
Manually trigger completion of an active background block operation. |
132 |
For mirroring, this will switch the device to the destination path. |
133 |
ETEXI |
134 |
|
135 |
{ |
136 |
.name = "block_job_pause", |
137 |
.args_type = "device:B", |
138 |
.params = "device", |
139 |
.help = "pause an active background block operation", |
140 |
.mhandler.cmd = hmp_block_job_pause, |
141 |
}, |
142 |
|
143 |
STEXI |
144 |
@item block_job_pause |
145 |
@findex block_job_pause |
146 |
Pause an active block streaming operation. |
147 |
ETEXI |
148 |
|
149 |
{ |
150 |
.name = "block_job_resume", |
151 |
.args_type = "device:B", |
152 |
.params = "device", |
153 |
.help = "resume a paused background block operation", |
154 |
.mhandler.cmd = hmp_block_job_resume, |
155 |
}, |
156 |
|
157 |
STEXI |
158 |
@item block_job_resume |
159 |
@findex block_job_resume |
160 |
Resume a paused block streaming operation. |
161 |
ETEXI |
162 |
|
163 |
{ |
164 |
.name = "eject", |
165 |
.args_type = "force:-f,device:B", |
166 |
.params = "[-f] device", |
167 |
.help = "eject a removable medium (use -f to force it)", |
168 |
.mhandler.cmd = hmp_eject, |
169 |
}, |
170 |
|
171 |
STEXI |
172 |
@item eject [-f] @var{device} |
173 |
@findex eject |
174 |
Eject a removable medium (use -f to force it). |
175 |
ETEXI |
176 |
|
177 |
{ |
178 |
.name = "drive_del", |
179 |
.args_type = "id:s", |
180 |
.params = "device", |
181 |
.help = "remove host block device", |
182 |
.user_print = monitor_user_noop, |
183 |
.mhandler.cmd_new = do_drive_del, |
184 |
}, |
185 |
|
186 |
STEXI |
187 |
@item drive_del @var{device} |
188 |
@findex drive_del |
189 |
Remove host block device. The result is that guest generated IO is no longer |
190 |
submitted against the host device underlying the disk. Once a drive has |
191 |
been deleted, the QEMU Block layer returns -EIO which results in IO |
192 |
errors in the guest for applications that are reading/writing to the device. |
193 |
These errors are always reported to the guest, regardless of the drive's error |
194 |
actions (drive options rerror, werror). |
195 |
ETEXI |
196 |
|
197 |
{ |
198 |
.name = "change", |
199 |
.args_type = "device:B,target:F,arg:s?", |
200 |
.params = "device filename [format]", |
201 |
.help = "change a removable medium, optional format", |
202 |
.mhandler.cmd = hmp_change, |
203 |
}, |
204 |
|
205 |
STEXI |
206 |
@item change @var{device} @var{setting} |
207 |
@findex change |
208 |
|
209 |
Change the configuration of a device. |
210 |
|
211 |
@table @option |
212 |
@item change @var{diskdevice} @var{filename} [@var{format}] |
213 |
Change the medium for a removable disk device to point to @var{filename}. eg |
214 |
|
215 |
@example |
216 |
(qemu) change ide1-cd0 /path/to/some.iso |
217 |
@end example |
218 |
|
219 |
@var{format} is optional. |
220 |
|
221 |
@item change vnc @var{display},@var{options} |
222 |
Change the configuration of the VNC server. The valid syntax for @var{display} |
223 |
and @var{options} are described at @ref{sec_invocation}. eg |
224 |
|
225 |
@example |
226 |
(qemu) change vnc localhost:1 |
227 |
@end example |
228 |
|
229 |
@item change vnc password [@var{password}] |
230 |
|
231 |
Change the password associated with the VNC server. If the new password is not |
232 |
supplied, the monitor will prompt for it to be entered. VNC passwords are only |
233 |
significant up to 8 letters. eg |
234 |
|
235 |
@example |
236 |
(qemu) change vnc password |
237 |
Password: ******** |
238 |
@end example |
239 |
|
240 |
@end table |
241 |
ETEXI |
242 |
|
243 |
{ |
244 |
.name = "screendump", |
245 |
.args_type = "filename:F", |
246 |
.params = "filename", |
247 |
.help = "save screen into PPM image 'filename'", |
248 |
.mhandler.cmd = hmp_screen_dump, |
249 |
}, |
250 |
|
251 |
STEXI |
252 |
@item screendump @var{filename} |
253 |
@findex screendump |
254 |
Save screen into PPM image @var{filename}. |
255 |
ETEXI |
256 |
|
257 |
{ |
258 |
.name = "logfile", |
259 |
.args_type = "filename:F", |
260 |
.params = "filename", |
261 |
.help = "output logs to 'filename'", |
262 |
.mhandler.cmd = do_logfile, |
263 |
}, |
264 |
|
265 |
STEXI |
266 |
@item logfile @var{filename} |
267 |
@findex logfile |
268 |
Output logs to @var{filename}. |
269 |
ETEXI |
270 |
|
271 |
{ |
272 |
.name = "trace-event", |
273 |
.args_type = "name:s,option:b", |
274 |
.params = "name on|off", |
275 |
.help = "changes status of a specific trace event", |
276 |
.mhandler.cmd = do_trace_event_set_state, |
277 |
}, |
278 |
|
279 |
STEXI |
280 |
@item trace-event |
281 |
@findex trace-event |
282 |
changes status of a trace event |
283 |
ETEXI |
284 |
|
285 |
#if defined(CONFIG_TRACE_SIMPLE) |
286 |
{ |
287 |
.name = "trace-file", |
288 |
.args_type = "op:s?,arg:F?", |
289 |
.params = "on|off|flush|set [arg]", |
290 |
.help = "open, close, or flush trace file, or set a new file name", |
291 |
.mhandler.cmd = do_trace_file, |
292 |
}, |
293 |
|
294 |
STEXI |
295 |
@item trace-file on|off|flush |
296 |
@findex trace-file |
297 |
Open, close, or flush the trace file. If no argument is given, the status of the trace file is displayed. |
298 |
ETEXI |
299 |
#endif |
300 |
|
301 |
{ |
302 |
.name = "log", |
303 |
.args_type = "items:s", |
304 |
.params = "item1[,...]", |
305 |
.help = "activate logging of the specified items", |
306 |
.mhandler.cmd = do_log, |
307 |
}, |
308 |
|
309 |
STEXI |
310 |
@item log @var{item1}[,...] |
311 |
@findex log |
312 |
Activate logging of the specified items. |
313 |
ETEXI |
314 |
|
315 |
{ |
316 |
.name = "savevm", |
317 |
.args_type = "name:s?", |
318 |
.params = "[tag|id]", |
319 |
.help = "save a VM snapshot. If no tag or id are provided, a new snapshot is created", |
320 |
.mhandler.cmd = do_savevm, |
321 |
}, |
322 |
|
323 |
STEXI |
324 |
@item savevm [@var{tag}|@var{id}] |
325 |
@findex savevm |
326 |
Create a snapshot of the whole virtual machine. If @var{tag} is |
327 |
provided, it is used as human readable identifier. If there is already |
328 |
a snapshot with the same tag or ID, it is replaced. More info at |
329 |
@ref{vm_snapshots}. |
330 |
ETEXI |
331 |
|
332 |
{ |
333 |
.name = "loadvm", |
334 |
.args_type = "name:s", |
335 |
.params = "tag|id", |
336 |
.help = "restore a VM snapshot from its tag or id", |
337 |
.mhandler.cmd = do_loadvm, |
338 |
}, |
339 |
|
340 |
STEXI |
341 |
@item loadvm @var{tag}|@var{id} |
342 |
@findex loadvm |
343 |
Set the whole virtual machine to the snapshot identified by the tag |
344 |
@var{tag} or the unique snapshot ID @var{id}. |
345 |
ETEXI |
346 |
|
347 |
{ |
348 |
.name = "delvm", |
349 |
.args_type = "name:s", |
350 |
.params = "tag|id", |
351 |
.help = "delete a VM snapshot from its tag or id", |
352 |
.mhandler.cmd = do_delvm, |
353 |
}, |
354 |
|
355 |
STEXI |
356 |
@item delvm @var{tag}|@var{id} |
357 |
@findex delvm |
358 |
Delete the snapshot identified by @var{tag} or @var{id}. |
359 |
ETEXI |
360 |
|
361 |
{ |
362 |
.name = "singlestep", |
363 |
.args_type = "option:s?", |
364 |
.params = "[on|off]", |
365 |
.help = "run emulation in singlestep mode or switch to normal mode", |
366 |
.mhandler.cmd = do_singlestep, |
367 |
}, |
368 |
|
369 |
STEXI |
370 |
@item singlestep [off] |
371 |
@findex singlestep |
372 |
Run the emulation in single step mode. |
373 |
If called with option off, the emulation returns to normal mode. |
374 |
ETEXI |
375 |
|
376 |
{ |
377 |
.name = "stop", |
378 |
.args_type = "", |
379 |
.params = "", |
380 |
.help = "stop emulation", |
381 |
.mhandler.cmd = hmp_stop, |
382 |
}, |
383 |
|
384 |
STEXI |
385 |
@item stop |
386 |
@findex stop |
387 |
Stop emulation. |
388 |
ETEXI |
389 |
|
390 |
{ |
391 |
.name = "c|cont", |
392 |
.args_type = "", |
393 |
.params = "", |
394 |
.help = "resume emulation", |
395 |
.mhandler.cmd = hmp_cont, |
396 |
}, |
397 |
|
398 |
STEXI |
399 |
@item c or cont |
400 |
@findex cont |
401 |
Resume emulation. |
402 |
ETEXI |
403 |
|
404 |
{ |
405 |
.name = "system_wakeup", |
406 |
.args_type = "", |
407 |
.params = "", |
408 |
.help = "wakeup guest from suspend", |
409 |
.mhandler.cmd = hmp_system_wakeup, |
410 |
}, |
411 |
|
412 |
STEXI |
413 |
@item system_wakeup |
414 |
@findex system_wakeup |
415 |
Wakeup guest from suspend. |
416 |
ETEXI |
417 |
|
418 |
{ |
419 |
.name = "gdbserver", |
420 |
.args_type = "device:s?", |
421 |
.params = "[device]", |
422 |
.help = "start gdbserver on given device (default 'tcp::1234'), stop with 'none'", |
423 |
.mhandler.cmd = do_gdbserver, |
424 |
}, |
425 |
|
426 |
STEXI |
427 |
@item gdbserver [@var{port}] |
428 |
@findex gdbserver |
429 |
Start gdbserver session (default @var{port}=1234) |
430 |
ETEXI |
431 |
|
432 |
{ |
433 |
.name = "x", |
434 |
.args_type = "fmt:/,addr:l", |
435 |
.params = "/fmt addr", |
436 |
.help = "virtual memory dump starting at 'addr'", |
437 |
.mhandler.cmd = do_memory_dump, |
438 |
}, |
439 |
|
440 |
STEXI |
441 |
@item x/fmt @var{addr} |
442 |
@findex x |
443 |
Virtual memory dump starting at @var{addr}. |
444 |
ETEXI |
445 |
|
446 |
{ |
447 |
.name = "xp", |
448 |
.args_type = "fmt:/,addr:l", |
449 |
.params = "/fmt addr", |
450 |
.help = "physical memory dump starting at 'addr'", |
451 |
.mhandler.cmd = do_physical_memory_dump, |
452 |
}, |
453 |
|
454 |
STEXI |
455 |
@item xp /@var{fmt} @var{addr} |
456 |
@findex xp |
457 |
Physical memory dump starting at @var{addr}. |
458 |
|
459 |
@var{fmt} is a format which tells the command how to format the |
460 |
data. Its syntax is: @option{/@{count@}@{format@}@{size@}} |
461 |
|
462 |
@table @var |
463 |
@item count |
464 |
is the number of items to be dumped. |
465 |
|
466 |
@item format |
467 |
can be x (hex), d (signed decimal), u (unsigned decimal), o (octal), |
468 |
c (char) or i (asm instruction). |
469 |
|
470 |
@item size |
471 |
can be b (8 bits), h (16 bits), w (32 bits) or g (64 bits). On x86, |
472 |
@code{h} or @code{w} can be specified with the @code{i} format to |
473 |
respectively select 16 or 32 bit code instruction size. |
474 |
|
475 |
@end table |
476 |
|
477 |
Examples: |
478 |
@itemize |
479 |
@item |
480 |
Dump 10 instructions at the current instruction pointer: |
481 |
@example |
482 |
(qemu) x/10i $eip |
483 |
0x90107063: ret |
484 |
0x90107064: sti |
485 |
0x90107065: lea 0x0(%esi,1),%esi |
486 |
0x90107069: lea 0x0(%edi,1),%edi |
487 |
0x90107070: ret |
488 |
0x90107071: jmp 0x90107080 |
489 |
0x90107073: nop |
490 |
0x90107074: nop |
491 |
0x90107075: nop |
492 |
0x90107076: nop |
493 |
@end example |
494 |
|
495 |
@item |
496 |
Dump 80 16 bit values at the start of the video memory. |
497 |
@smallexample |
498 |
(qemu) xp/80hx 0xb8000 |
499 |
0x000b8000: 0x0b50 0x0b6c 0x0b65 0x0b78 0x0b38 0x0b36 0x0b2f 0x0b42 |
500 |
0x000b8010: 0x0b6f 0x0b63 0x0b68 0x0b73 0x0b20 0x0b56 0x0b47 0x0b41 |
501 |
0x000b8020: 0x0b42 0x0b69 0x0b6f 0x0b73 0x0b20 0x0b63 0x0b75 0x0b72 |
502 |
0x000b8030: 0x0b72 0x0b65 0x0b6e 0x0b74 0x0b2d 0x0b63 0x0b76 0x0b73 |
503 |
0x000b8040: 0x0b20 0x0b30 0x0b35 0x0b20 0x0b4e 0x0b6f 0x0b76 0x0b20 |
504 |
0x000b8050: 0x0b32 0x0b30 0x0b30 0x0b33 0x0720 0x0720 0x0720 0x0720 |
505 |
0x000b8060: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 |
506 |
0x000b8070: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 |
507 |
0x000b8080: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 |
508 |
0x000b8090: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 |
509 |
@end smallexample |
510 |
@end itemize |
511 |
ETEXI |
512 |
|
513 |
{ |
514 |
.name = "p|print", |
515 |
.args_type = "fmt:/,val:l", |
516 |
.params = "/fmt expr", |
517 |
.help = "print expression value (use $reg for CPU register access)", |
518 |
.mhandler.cmd = do_print, |
519 |
}, |
520 |
|
521 |
STEXI |
522 |
@item p or print/@var{fmt} @var{expr} |
523 |
@findex print |
524 |
|
525 |
Print expression value. Only the @var{format} part of @var{fmt} is |
526 |
used. |
527 |
ETEXI |
528 |
|
529 |
{ |
530 |
.name = "i", |
531 |
.args_type = "fmt:/,addr:i,index:i.", |
532 |
.params = "/fmt addr", |
533 |
.help = "I/O port read", |
534 |
.mhandler.cmd = do_ioport_read, |
535 |
}, |
536 |
|
537 |
STEXI |
538 |
Read I/O port. |
539 |
ETEXI |
540 |
|
541 |
{ |
542 |
.name = "o", |
543 |
.args_type = "fmt:/,addr:i,val:i", |
544 |
.params = "/fmt addr value", |
545 |
.help = "I/O port write", |
546 |
.mhandler.cmd = do_ioport_write, |
547 |
}, |
548 |
|
549 |
STEXI |
550 |
Write to I/O port. |
551 |
ETEXI |
552 |
|
553 |
{ |
554 |
.name = "sendkey", |
555 |
.args_type = "keys:s,hold-time:i?", |
556 |
.params = "keys [hold_ms]", |
557 |
.help = "send keys to the VM (e.g. 'sendkey ctrl-alt-f1', default hold time=100 ms)", |
558 |
.mhandler.cmd = hmp_send_key, |
559 |
}, |
560 |
|
561 |
STEXI |
562 |
@item sendkey @var{keys} |
563 |
@findex sendkey |
564 |
|
565 |
Send @var{keys} to the guest. @var{keys} could be the name of the |
566 |
key or the raw value in hexadecimal format. Use @code{-} to press |
567 |
several keys simultaneously. Example: |
568 |
@example |
569 |
sendkey ctrl-alt-f1 |
570 |
@end example |
571 |
|
572 |
This command is useful to send keys that your graphical user interface |
573 |
intercepts at low level, such as @code{ctrl-alt-f1} in X Window. |
574 |
ETEXI |
575 |
|
576 |
{ |
577 |
.name = "system_reset", |
578 |
.args_type = "", |
579 |
.params = "", |
580 |
.help = "reset the system", |
581 |
.mhandler.cmd = hmp_system_reset, |
582 |
}, |
583 |
|
584 |
STEXI |
585 |
@item system_reset |
586 |
@findex system_reset |
587 |
|
588 |
Reset the system. |
589 |
ETEXI |
590 |
|
591 |
{ |
592 |
.name = "system_powerdown", |
593 |
.args_type = "", |
594 |
.params = "", |
595 |
.help = "send system power down event", |
596 |
.mhandler.cmd = hmp_system_powerdown, |
597 |
}, |
598 |
|
599 |
STEXI |
600 |
@item system_powerdown |
601 |
@findex system_powerdown |
602 |
|
603 |
Power down the system (if supported). |
604 |
ETEXI |
605 |
|
606 |
{ |
607 |
.name = "sum", |
608 |
.args_type = "start:i,size:i", |
609 |
.params = "addr size", |
610 |
.help = "compute the checksum of a memory region", |
611 |
.mhandler.cmd = do_sum, |
612 |
}, |
613 |
|
614 |
STEXI |
615 |
@item sum @var{addr} @var{size} |
616 |
@findex sum |
617 |
|
618 |
Compute the checksum of a memory region. |
619 |
ETEXI |
620 |
|
621 |
{ |
622 |
.name = "usb_add", |
623 |
.args_type = "devname:s", |
624 |
.params = "device", |
625 |
.help = "add USB device (e.g. 'host:bus.addr' or 'host:vendor_id:product_id')", |
626 |
.mhandler.cmd = do_usb_add, |
627 |
}, |
628 |
|
629 |
STEXI |
630 |
@item usb_add @var{devname} |
631 |
@findex usb_add |
632 |
|
633 |
Add the USB device @var{devname}. For details of available devices see |
634 |
@ref{usb_devices} |
635 |
ETEXI |
636 |
|
637 |
{ |
638 |
.name = "usb_del", |
639 |
.args_type = "devname:s", |
640 |
.params = "device", |
641 |
.help = "remove USB device 'bus.addr'", |
642 |
.mhandler.cmd = do_usb_del, |
643 |
}, |
644 |
|
645 |
STEXI |
646 |
@item usb_del @var{devname} |
647 |
@findex usb_del |
648 |
|
649 |
Remove the USB device @var{devname} from the QEMU virtual USB |
650 |
hub. @var{devname} has the syntax @code{bus.addr}. Use the monitor |
651 |
command @code{info usb} to see the devices you can remove. |
652 |
ETEXI |
653 |
|
654 |
{ |
655 |
.name = "device_add", |
656 |
.args_type = "device:O", |
657 |
.params = "driver[,prop=value][,...]", |
658 |
.help = "add device, like -device on the command line", |
659 |
.user_print = monitor_user_noop, |
660 |
.mhandler.cmd_new = do_device_add, |
661 |
}, |
662 |
|
663 |
STEXI |
664 |
@item device_add @var{config} |
665 |
@findex device_add |
666 |
|
667 |
Add device. |
668 |
ETEXI |
669 |
|
670 |
{ |
671 |
.name = "device_del", |
672 |
.args_type = "id:s", |
673 |
.params = "device", |
674 |
.help = "remove device", |
675 |
.mhandler.cmd = hmp_device_del, |
676 |
}, |
677 |
|
678 |
STEXI |
679 |
@item device_del @var{id} |
680 |
@findex device_del |
681 |
|
682 |
Remove device @var{id}. |
683 |
ETEXI |
684 |
|
685 |
{ |
686 |
.name = "cpu", |
687 |
.args_type = "index:i", |
688 |
.params = "index", |
689 |
.help = "set the default CPU", |
690 |
.mhandler.cmd = hmp_cpu, |
691 |
}, |
692 |
|
693 |
STEXI |
694 |
@item cpu @var{index} |
695 |
@findex cpu |
696 |
Set the default CPU. |
697 |
ETEXI |
698 |
|
699 |
{ |
700 |
.name = "mouse_move", |
701 |
.args_type = "dx_str:s,dy_str:s,dz_str:s?", |
702 |
.params = "dx dy [dz]", |
703 |
.help = "send mouse move events", |
704 |
.mhandler.cmd = do_mouse_move, |
705 |
}, |
706 |
|
707 |
STEXI |
708 |
@item mouse_move @var{dx} @var{dy} [@var{dz}] |
709 |
@findex mouse_move |
710 |
Move the active mouse to the specified coordinates @var{dx} @var{dy} |
711 |
with optional scroll axis @var{dz}. |
712 |
ETEXI |
713 |
|
714 |
{ |
715 |
.name = "mouse_button", |
716 |
.args_type = "button_state:i", |
717 |
.params = "state", |
718 |
.help = "change mouse button state (1=L, 2=M, 4=R)", |
719 |
.mhandler.cmd = do_mouse_button, |
720 |
}, |
721 |
|
722 |
STEXI |
723 |
@item mouse_button @var{val} |
724 |
@findex mouse_button |
725 |
Change the active mouse button state @var{val} (1=L, 2=M, 4=R). |
726 |
ETEXI |
727 |
|
728 |
{ |
729 |
.name = "mouse_set", |
730 |
.args_type = "index:i", |
731 |
.params = "index", |
732 |
.help = "set which mouse device receives events", |
733 |
.mhandler.cmd = do_mouse_set, |
734 |
}, |
735 |
|
736 |
STEXI |
737 |
@item mouse_set @var{index} |
738 |
@findex mouse_set |
739 |
Set which mouse device receives events at given @var{index}, index |
740 |
can be obtained with |
741 |
@example |
742 |
info mice |
743 |
@end example |
744 |
ETEXI |
745 |
|
746 |
{ |
747 |
.name = "wavcapture", |
748 |
.args_type = "path:F,freq:i?,bits:i?,nchannels:i?", |
749 |
.params = "path [frequency [bits [channels]]]", |
750 |
.help = "capture audio to a wave file (default frequency=44100 bits=16 channels=2)", |
751 |
.mhandler.cmd = do_wav_capture, |
752 |
}, |
753 |
STEXI |
754 |
@item wavcapture @var{filename} [@var{frequency} [@var{bits} [@var{channels}]]] |
755 |
@findex wavcapture |
756 |
Capture audio into @var{filename}. Using sample rate @var{frequency} |
757 |
bits per sample @var{bits} and number of channels @var{channels}. |
758 |
|
759 |
Defaults: |
760 |
@itemize @minus |
761 |
@item Sample rate = 44100 Hz - CD quality |
762 |
@item Bits = 16 |
763 |
@item Number of channels = 2 - Stereo |
764 |
@end itemize |
765 |
ETEXI |
766 |
|
767 |
{ |
768 |
.name = "stopcapture", |
769 |
.args_type = "n:i", |
770 |
.params = "capture index", |
771 |
.help = "stop capture", |
772 |
.mhandler.cmd = do_stop_capture, |
773 |
}, |
774 |
STEXI |
775 |
@item stopcapture @var{index} |
776 |
@findex stopcapture |
777 |
Stop capture with a given @var{index}, index can be obtained with |
778 |
@example |
779 |
info capture |
780 |
@end example |
781 |
ETEXI |
782 |
|
783 |
{ |
784 |
.name = "memsave", |
785 |
.args_type = "val:l,size:i,filename:s", |
786 |
.params = "addr size file", |
787 |
.help = "save to disk virtual memory dump starting at 'addr' of size 'size'", |
788 |
.mhandler.cmd = hmp_memsave, |
789 |
}, |
790 |
|
791 |
STEXI |
792 |
@item memsave @var{addr} @var{size} @var{file} |
793 |
@findex memsave |
794 |
save to disk virtual memory dump starting at @var{addr} of size @var{size}. |
795 |
ETEXI |
796 |
|
797 |
{ |
798 |
.name = "pmemsave", |
799 |
.args_type = "val:l,size:i,filename:s", |
800 |
.params = "addr size file", |
801 |
.help = "save to disk physical memory dump starting at 'addr' of size 'size'", |
802 |
.mhandler.cmd = hmp_pmemsave, |
803 |
}, |
804 |
|
805 |
STEXI |
806 |
@item pmemsave @var{addr} @var{size} @var{file} |
807 |
@findex pmemsave |
808 |
save to disk physical memory dump starting at @var{addr} of size @var{size}. |
809 |
ETEXI |
810 |
|
811 |
{ |
812 |
.name = "boot_set", |
813 |
.args_type = "bootdevice:s", |
814 |
.params = "bootdevice", |
815 |
.help = "define new values for the boot device list", |
816 |
.mhandler.cmd = do_boot_set, |
817 |
}, |
818 |
|
819 |
STEXI |
820 |
@item boot_set @var{bootdevicelist} |
821 |
@findex boot_set |
822 |
|
823 |
Define new values for the boot device list. Those values will override |
824 |
the values specified on the command line through the @code{-boot} option. |
825 |
|
826 |
The values that can be specified here depend on the machine type, but are |
827 |
the same that can be specified in the @code{-boot} command line option. |
828 |
ETEXI |
829 |
|
830 |
#if defined(TARGET_I386) || defined(TARGET_S390X) |
831 |
{ |
832 |
.name = "nmi", |
833 |
.args_type = "", |
834 |
.params = "", |
835 |
.help = "inject an NMI on all guest's CPUs", |
836 |
.mhandler.cmd = hmp_inject_nmi, |
837 |
}, |
838 |
#endif |
839 |
STEXI |
840 |
@item nmi @var{cpu} |
841 |
@findex nmi |
842 |
Inject an NMI (x86) or RESTART (s390x) on the given CPU. |
843 |
|
844 |
ETEXI |
845 |
|
846 |
{ |
847 |
.name = "ringbuf_write", |
848 |
.args_type = "device:s,data:s", |
849 |
.params = "device data", |
850 |
.help = "Write to a ring buffer character device", |
851 |
.mhandler.cmd = hmp_ringbuf_write, |
852 |
}, |
853 |
|
854 |
STEXI |
855 |
@item ringbuf_write @var{device} @var{data} |
856 |
@findex ringbuf_write |
857 |
Write @var{data} to ring buffer character device @var{device}. |
858 |
@var{data} must be a UTF-8 string. |
859 |
|
860 |
ETEXI |
861 |
|
862 |
{ |
863 |
.name = "ringbuf_read", |
864 |
.args_type = "device:s,size:i", |
865 |
.params = "device size", |
866 |
.help = "Read from a ring buffer character device", |
867 |
.mhandler.cmd = hmp_ringbuf_read, |
868 |
}, |
869 |
|
870 |
STEXI |
871 |
@item ringbuf_read @var{device} |
872 |
@findex ringbuf_read |
873 |
Read and print up to @var{size} bytes from ring buffer character |
874 |
device @var{device}. |
875 |
Certain non-printable characters are printed \uXXXX, where XXXX is the |
876 |
character code in hexadecimal. Character \ is printed \\. |
877 |
Bug: can screw up when the buffer contains invalid UTF-8 sequences, |
878 |
NUL characters, after the ring buffer lost data, and when reading |
879 |
stops because the size limit is reached. |
880 |
|
881 |
ETEXI |
882 |
|
883 |
{ |
884 |
.name = "migrate", |
885 |
.args_type = "detach:-d,blk:-b,inc:-i,uri:s", |
886 |
.params = "[-d] [-b] [-i] uri", |
887 |
.help = "migrate to URI (using -d to not wait for completion)" |
888 |
"\n\t\t\t -b for migration without shared storage with" |
889 |
" full copy of disk\n\t\t\t -i for migration without " |
890 |
"shared storage with incremental copy of disk " |
891 |
"(base image shared between src and destination)", |
892 |
.mhandler.cmd = hmp_migrate, |
893 |
}, |
894 |
|
895 |
|
896 |
STEXI |
897 |
@item migrate [-d] [-b] [-i] @var{uri} |
898 |
@findex migrate |
899 |
Migrate to @var{uri} (using -d to not wait for completion). |
900 |
-b for migration with full copy of disk |
901 |
-i for migration with incremental copy of disk (base image is shared) |
902 |
ETEXI |
903 |
|
904 |
{ |
905 |
.name = "migrate_cancel", |
906 |
.args_type = "", |
907 |
.params = "", |
908 |
.help = "cancel the current VM migration", |
909 |
.mhandler.cmd = hmp_migrate_cancel, |
910 |
}, |
911 |
|
912 |
STEXI |
913 |
@item migrate_cancel |
914 |
@findex migrate_cancel |
915 |
Cancel the current VM migration. |
916 |
|
917 |
ETEXI |
918 |
|
919 |
{ |
920 |
.name = "migrate_set_cache_size", |
921 |
.args_type = "value:o", |
922 |
.params = "value", |
923 |
.help = "set cache size (in bytes) for XBZRLE migrations," |
924 |
"the cache size will be rounded down to the nearest " |
925 |
"power of 2.\n" |
926 |
"The cache size affects the number of cache misses." |
927 |
"In case of a high cache miss ratio you need to increase" |
928 |
" the cache size", |
929 |
.mhandler.cmd = hmp_migrate_set_cache_size, |
930 |
}, |
931 |
|
932 |
STEXI |
933 |
@item migrate_set_cache_size @var{value} |
934 |
@findex migrate_set_cache_size |
935 |
Set cache size to @var{value} (in bytes) for xbzrle migrations. |
936 |
ETEXI |
937 |
|
938 |
{ |
939 |
.name = "migrate_set_speed", |
940 |
.args_type = "value:o", |
941 |
.params = "value", |
942 |
.help = "set maximum speed (in bytes) for migrations. " |
943 |
"Defaults to MB if no size suffix is specified, ie. B/K/M/G/T", |
944 |
.mhandler.cmd = hmp_migrate_set_speed, |
945 |
}, |
946 |
|
947 |
STEXI |
948 |
@item migrate_set_speed @var{value} |
949 |
@findex migrate_set_speed |
950 |
Set maximum speed to @var{value} (in bytes) for migrations. |
951 |
ETEXI |
952 |
|
953 |
{ |
954 |
.name = "migrate_set_downtime", |
955 |
.args_type = "value:T", |
956 |
.params = "value", |
957 |
.help = "set maximum tolerated downtime (in seconds) for migrations", |
958 |
.mhandler.cmd = hmp_migrate_set_downtime, |
959 |
}, |
960 |
|
961 |
STEXI |
962 |
@item migrate_set_downtime @var{second} |
963 |
@findex migrate_set_downtime |
964 |
Set maximum tolerated downtime (in seconds) for migration. |
965 |
ETEXI |
966 |
|
967 |
{ |
968 |
.name = "migrate_set_capability", |
969 |
.args_type = "capability:s,state:b", |
970 |
.params = "capability state", |
971 |
.help = "Enable/Disable the usage of a capability for migration", |
972 |
.mhandler.cmd = hmp_migrate_set_capability, |
973 |
}, |
974 |
|
975 |
STEXI |
976 |
@item migrate_set_capability @var{capability} @var{state} |
977 |
@findex migrate_set_capability |
978 |
Enable/Disable the usage of a capability @var{capability} for migration. |
979 |
ETEXI |
980 |
|
981 |
{ |
982 |
.name = "client_migrate_info", |
983 |
.args_type = "protocol:s,hostname:s,port:i?,tls-port:i?,cert-subject:s?", |
984 |
.params = "protocol hostname port tls-port cert-subject", |
985 |
.help = "send migration info to spice/vnc client", |
986 |
.user_print = monitor_user_noop, |
987 |
.mhandler.cmd_async = client_migrate_info, |
988 |
.flags = MONITOR_CMD_ASYNC, |
989 |
}, |
990 |
|
991 |
STEXI |
992 |
@item client_migrate_info @var{protocol} @var{hostname} @var{port} @var{tls-port} @var{cert-subject} |
993 |
@findex client_migrate_info |
994 |
Set the spice/vnc connection info for the migration target. The spice/vnc |
995 |
server will ask the spice/vnc client to automatically reconnect using the |
996 |
new parameters (if specified) once the vm migration finished successfully. |
997 |
ETEXI |
998 |
|
999 |
{ |
1000 |
.name = "dump-guest-memory", |
1001 |
.args_type = "paging:-p,filename:F,begin:i?,length:i?", |
1002 |
.params = "[-p] filename [begin] [length]", |
1003 |
.help = "dump guest memory to file" |
1004 |
"\n\t\t\t begin(optional): the starting physical address" |
1005 |
"\n\t\t\t length(optional): the memory size, in bytes", |
1006 |
.mhandler.cmd = hmp_dump_guest_memory, |
1007 |
}, |
1008 |
|
1009 |
|
1010 |
STEXI |
1011 |
@item dump-guest-memory [-p] @var{protocol} @var{begin} @var{length} |
1012 |
@findex dump-guest-memory |
1013 |
Dump guest memory to @var{protocol}. The file can be processed with crash or |
1014 |
gdb. |
1015 |
filename: dump file name |
1016 |
paging: do paging to get guest's memory mapping |
1017 |
begin: the starting physical address. It's optional, and should be |
1018 |
specified with length together. |
1019 |
length: the memory size, in bytes. It's optional, and should be specified |
1020 |
with begin together. |
1021 |
ETEXI |
1022 |
|
1023 |
{ |
1024 |
.name = "snapshot_blkdev", |
1025 |
.args_type = "reuse:-n,device:B,snapshot-file:s?,format:s?", |
1026 |
.params = "[-n] device [new-image-file] [format]", |
1027 |
.help = "initiates a live snapshot\n\t\t\t" |
1028 |
"of device. If a new image file is specified, the\n\t\t\t" |
1029 |
"new image file will become the new root image.\n\t\t\t" |
1030 |
"If format is specified, the snapshot file will\n\t\t\t" |
1031 |
"be created in that format.\n\t\t\t" |
1032 |
"The default format is qcow2. The -n flag requests QEMU\n\t\t\t" |
1033 |
"to reuse the image found in new-image-file, instead of\n\t\t\t" |
1034 |
"recreating it from scratch.", |
1035 |
.mhandler.cmd = hmp_snapshot_blkdev, |
1036 |
}, |
1037 |
|
1038 |
STEXI |
1039 |
@item snapshot_blkdev |
1040 |
@findex snapshot_blkdev |
1041 |
Snapshot device, using snapshot file as target if provided |
1042 |
ETEXI |
1043 |
|
1044 |
{ |
1045 |
.name = "snapshot_blkdev_internal", |
1046 |
.args_type = "device:B,name:s", |
1047 |
.params = "device name", |
1048 |
.help = "take an internal snapshot of device.\n\t\t\t" |
1049 |
"The format of the image used by device must\n\t\t\t" |
1050 |
"support it, such as qcow2.\n\t\t\t", |
1051 |
.mhandler.cmd = hmp_snapshot_blkdev_internal, |
1052 |
}, |
1053 |
|
1054 |
STEXI |
1055 |
@item snapshot_blkdev_internal |
1056 |
@findex snapshot_blkdev_internal |
1057 |
Take an internal snapshot on device if it support |
1058 |
ETEXI |
1059 |
|
1060 |
{ |
1061 |
.name = "snapshot_delete_blkdev_internal", |
1062 |
.args_type = "device:B,name:s,id:s?", |
1063 |
.params = "device name [id]", |
1064 |
.help = "delete an internal snapshot of device.\n\t\t\t" |
1065 |
"If id is specified, qemu will try delete\n\t\t\t" |
1066 |
"the snapshot matching both id and name.\n\t\t\t" |
1067 |
"The format of the image used by device must\n\t\t\t" |
1068 |
"support it, such as qcow2.\n\t\t\t", |
1069 |
.mhandler.cmd = hmp_snapshot_delete_blkdev_internal, |
1070 |
}, |
1071 |
|
1072 |
STEXI |
1073 |
@item snapshot_delete_blkdev_internal |
1074 |
@findex snapshot_delete_blkdev_internal |
1075 |
Delete an internal snapshot on device if it support |
1076 |
ETEXI |
1077 |
|
1078 |
{ |
1079 |
.name = "drive_mirror", |
1080 |
.args_type = "reuse:-n,full:-f,device:B,target:s,format:s?", |
1081 |
.params = "[-n] [-f] device target [format]", |
1082 |
.help = "initiates live storage\n\t\t\t" |
1083 |
"migration for a device. The device's contents are\n\t\t\t" |
1084 |
"copied to the new image file, including data that\n\t\t\t" |
1085 |
"is written after the command is started.\n\t\t\t" |
1086 |
"The -n flag requests QEMU to reuse the image found\n\t\t\t" |
1087 |
"in new-image-file, instead of recreating it from scratch.\n\t\t\t" |
1088 |
"The -f flag requests QEMU to copy the whole disk,\n\t\t\t" |
1089 |
"so that the result does not need a backing file.\n\t\t\t", |
1090 |
.mhandler.cmd = hmp_drive_mirror, |
1091 |
}, |
1092 |
STEXI |
1093 |
@item drive_mirror |
1094 |
@findex drive_mirror |
1095 |
Start mirroring a block device's writes to a new destination, |
1096 |
using the specified target. |
1097 |
ETEXI |
1098 |
|
1099 |
{ |
1100 |
.name = "drive_backup", |
1101 |
.args_type = "reuse:-n,full:-f,device:B,target:s,format:s?", |
1102 |
.params = "[-n] [-f] device target [format]", |
1103 |
.help = "initiates a point-in-time\n\t\t\t" |
1104 |
"copy for a device. The device's contents are\n\t\t\t" |
1105 |
"copied to the new image file, excluding data that\n\t\t\t" |
1106 |
"is written after the command is started.\n\t\t\t" |
1107 |
"The -n flag requests QEMU to reuse the image found\n\t\t\t" |
1108 |
"in new-image-file, instead of recreating it from scratch.\n\t\t\t" |
1109 |
"The -f flag requests QEMU to copy the whole disk,\n\t\t\t" |
1110 |
"so that the result does not need a backing file.\n\t\t\t", |
1111 |
.mhandler.cmd = hmp_drive_backup, |
1112 |
}, |
1113 |
STEXI |
1114 |
@item drive_backup |
1115 |
@findex drive_backup |
1116 |
Start a point-in-time copy of a block device to a specificed target. |
1117 |
ETEXI |
1118 |
|
1119 |
{ |
1120 |
.name = "drive_add", |
1121 |
.args_type = "pci_addr:s,opts:s", |
1122 |
.params = "[[<domain>:]<bus>:]<slot>\n" |
1123 |
"[file=file][,if=type][,bus=n]\n" |
1124 |
"[,unit=m][,media=d][,index=i]\n" |
1125 |
"[,cyls=c,heads=h,secs=s[,trans=t]]\n" |
1126 |
"[,snapshot=on|off][,cache=on|off]\n" |
1127 |
"[,readonly=on|off][,copy-on-read=on|off]", |
1128 |
.help = "add drive to PCI storage controller", |
1129 |
.mhandler.cmd = drive_hot_add, |
1130 |
}, |
1131 |
|
1132 |
STEXI |
1133 |
@item drive_add |
1134 |
@findex drive_add |
1135 |
Add drive to PCI storage controller. |
1136 |
ETEXI |
1137 |
|
1138 |
#if defined(CONFIG_PCI_HOTPLUG_OLD) |
1139 |
{ |
1140 |
.name = "pci_add", |
1141 |
.args_type = "pci_addr:s,type:s,opts:s?", |
1142 |
.params = "auto|[[<domain>:]<bus>:]<slot> nic|storage [[vlan=n][,macaddr=addr][,model=type]] [file=file][,if=type][,bus=nr]...", |
1143 |
.help = "hot-add PCI device", |
1144 |
.mhandler.cmd = pci_device_hot_add, |
1145 |
}, |
1146 |
#endif |
1147 |
|
1148 |
STEXI |
1149 |
@item pci_add |
1150 |
@findex pci_add |
1151 |
Hot-add PCI device. |
1152 |
ETEXI |
1153 |
|
1154 |
#if defined(CONFIG_PCI_HOTPLUG_OLD) |
1155 |
{ |
1156 |
.name = "pci_del", |
1157 |
.args_type = "pci_addr:s", |
1158 |
.params = "[[<domain>:]<bus>:]<slot>", |
1159 |
.help = "hot remove PCI device", |
1160 |
.mhandler.cmd = do_pci_device_hot_remove, |
1161 |
}, |
1162 |
#endif |
1163 |
|
1164 |
STEXI |
1165 |
@item pci_del |
1166 |
@findex pci_del |
1167 |
Hot remove PCI device. |
1168 |
ETEXI |
1169 |
|
1170 |
{ |
1171 |
.name = "pcie_aer_inject_error", |
1172 |
.args_type = "advisory_non_fatal:-a,correctable:-c," |
1173 |
"id:s,error_status:s," |
1174 |
"header0:i?,header1:i?,header2:i?,header3:i?," |
1175 |
"prefix0:i?,prefix1:i?,prefix2:i?,prefix3:i?", |
1176 |
.params = "[-a] [-c] id " |
1177 |
"<error_status> [<tlp header> [<tlp header prefix>]]", |
1178 |
.help = "inject pcie aer error\n\t\t\t" |
1179 |
" -a for advisory non fatal error\n\t\t\t" |
1180 |
" -c for correctable error\n\t\t\t" |
1181 |
"<id> = qdev device id\n\t\t\t" |
1182 |
"<error_status> = error string or 32bit\n\t\t\t" |
1183 |
"<tlb header> = 32bit x 4\n\t\t\t" |
1184 |
"<tlb header prefix> = 32bit x 4", |
1185 |
.user_print = pcie_aer_inject_error_print, |
1186 |
.mhandler.cmd_new = do_pcie_aer_inject_error, |
1187 |
}, |
1188 |
|
1189 |
STEXI |
1190 |
@item pcie_aer_inject_error |
1191 |
@findex pcie_aer_inject_error |
1192 |
Inject PCIe AER error |
1193 |
ETEXI |
1194 |
|
1195 |
{ |
1196 |
.name = "host_net_add", |
1197 |
.args_type = "device:s,opts:s?", |
1198 |
.params = "tap|user|socket|vde|netmap|dump [options]", |
1199 |
.help = "add host VLAN client", |
1200 |
.mhandler.cmd = net_host_device_add, |
1201 |
}, |
1202 |
|
1203 |
STEXI |
1204 |
@item host_net_add |
1205 |
@findex host_net_add |
1206 |
Add host VLAN client. |
1207 |
ETEXI |
1208 |
|
1209 |
{ |
1210 |
.name = "host_net_remove", |
1211 |
.args_type = "vlan_id:i,device:s", |
1212 |
.params = "vlan_id name", |
1213 |
.help = "remove host VLAN client", |
1214 |
.mhandler.cmd = net_host_device_remove, |
1215 |
}, |
1216 |
|
1217 |
STEXI |
1218 |
@item host_net_remove |
1219 |
@findex host_net_remove |
1220 |
Remove host VLAN client. |
1221 |
ETEXI |
1222 |
|
1223 |
{ |
1224 |
.name = "netdev_add", |
1225 |
.args_type = "netdev:O", |
1226 |
.params = "[user|tap|socket|hubport|netmap],id=str[,prop=value][,...]", |
1227 |
.help = "add host network device", |
1228 |
.mhandler.cmd = hmp_netdev_add, |
1229 |
}, |
1230 |
|
1231 |
STEXI |
1232 |
@item netdev_add |
1233 |
@findex netdev_add |
1234 |
Add host network device. |
1235 |
ETEXI |
1236 |
|
1237 |
{ |
1238 |
.name = "netdev_del", |
1239 |
.args_type = "id:s", |
1240 |
.params = "id", |
1241 |
.help = "remove host network device", |
1242 |
.mhandler.cmd = hmp_netdev_del, |
1243 |
}, |
1244 |
|
1245 |
STEXI |
1246 |
@item netdev_del |
1247 |
@findex netdev_del |
1248 |
Remove host network device. |
1249 |
ETEXI |
1250 |
|
1251 |
{ |
1252 |
.name = "object_add", |
1253 |
.args_type = "object:O", |
1254 |
.params = "[qom-type=]type,id=str[,prop=value][,...]", |
1255 |
.help = "create QOM object", |
1256 |
.mhandler.cmd = hmp_object_add, |
1257 |
}, |
1258 |
|
1259 |
STEXI |
1260 |
@item object_add |
1261 |
@findex object_add |
1262 |
Create QOM object. |
1263 |
ETEXI |
1264 |
|
1265 |
{ |
1266 |
.name = "object_del", |
1267 |
.args_type = "id:s", |
1268 |
.params = "id", |
1269 |
.help = "destroy QOM object", |
1270 |
.mhandler.cmd = hmp_object_del, |
1271 |
}, |
1272 |
|
1273 |
STEXI |
1274 |
@item object_del |
1275 |
@findex object_del |
1276 |
Destroy QOM object. |
1277 |
ETEXI |
1278 |
|
1279 |
#ifdef CONFIG_SLIRP |
1280 |
{ |
1281 |
.name = "hostfwd_add", |
1282 |
.args_type = "arg1:s,arg2:s?,arg3:s?", |
1283 |
.params = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport", |
1284 |
.help = "redirect TCP or UDP connections from host to guest (requires -net user)", |
1285 |
.mhandler.cmd = net_slirp_hostfwd_add, |
1286 |
}, |
1287 |
#endif |
1288 |
STEXI |
1289 |
@item hostfwd_add |
1290 |
@findex hostfwd_add |
1291 |
Redirect TCP or UDP connections from host to guest (requires -net user). |
1292 |
ETEXI |
1293 |
|
1294 |
#ifdef CONFIG_SLIRP |
1295 |
{ |
1296 |
.name = "hostfwd_remove", |
1297 |
.args_type = "arg1:s,arg2:s?,arg3:s?", |
1298 |
.params = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport", |
1299 |
.help = "remove host-to-guest TCP or UDP redirection", |
1300 |
.mhandler.cmd = net_slirp_hostfwd_remove, |
1301 |
}, |
1302 |
|
1303 |
#endif |
1304 |
STEXI |
1305 |
@item hostfwd_remove |
1306 |
@findex hostfwd_remove |
1307 |
Remove host-to-guest TCP or UDP redirection. |
1308 |
ETEXI |
1309 |
|
1310 |
{ |
1311 |
.name = "balloon", |
1312 |
.args_type = "value:M", |
1313 |
.params = "target", |
1314 |
.help = "request VM to change its memory allocation (in MB)", |
1315 |
.mhandler.cmd = hmp_balloon, |
1316 |
}, |
1317 |
|
1318 |
STEXI |
1319 |
@item balloon @var{value} |
1320 |
@findex balloon |
1321 |
Request VM to change its memory allocation to @var{value} (in MB). |
1322 |
ETEXI |
1323 |
|
1324 |
{ |
1325 |
.name = "set_link", |
1326 |
.args_type = "name:s,up:b", |
1327 |
.params = "name on|off", |
1328 |
.help = "change the link status of a network adapter", |
1329 |
.mhandler.cmd = hmp_set_link, |
1330 |
}, |
1331 |
|
1332 |
STEXI |
1333 |
@item set_link @var{name} [on|off] |
1334 |
@findex set_link |
1335 |
Switch link @var{name} on (i.e. up) or off (i.e. down). |
1336 |
ETEXI |
1337 |
|
1338 |
{ |
1339 |
.name = "watchdog_action", |
1340 |
.args_type = "action:s", |
1341 |
.params = "[reset|shutdown|poweroff|pause|debug|none]", |
1342 |
.help = "change watchdog action", |
1343 |
.mhandler.cmd = do_watchdog_action, |
1344 |
}, |
1345 |
|
1346 |
STEXI |
1347 |
@item watchdog_action |
1348 |
@findex watchdog_action |
1349 |
Change watchdog action. |
1350 |
ETEXI |
1351 |
|
1352 |
{ |
1353 |
.name = "acl_show", |
1354 |
.args_type = "aclname:s", |
1355 |
.params = "aclname", |
1356 |
.help = "list rules in the access control list", |
1357 |
.mhandler.cmd = do_acl_show, |
1358 |
}, |
1359 |
|
1360 |
STEXI |
1361 |
@item acl_show @var{aclname} |
1362 |
@findex acl_show |
1363 |
List all the matching rules in the access control list, and the default |
1364 |
policy. There are currently two named access control lists, |
1365 |
@var{vnc.x509dname} and @var{vnc.username} matching on the x509 client |
1366 |
certificate distinguished name, and SASL username respectively. |
1367 |
ETEXI |
1368 |
|
1369 |
{ |
1370 |
.name = "acl_policy", |
1371 |
.args_type = "aclname:s,policy:s", |
1372 |
.params = "aclname allow|deny", |
1373 |
.help = "set default access control list policy", |
1374 |
.mhandler.cmd = do_acl_policy, |
1375 |
}, |
1376 |
|
1377 |
STEXI |
1378 |
@item acl_policy @var{aclname} @code{allow|deny} |
1379 |
@findex acl_policy |
1380 |
Set the default access control list policy, used in the event that |
1381 |
none of the explicit rules match. The default policy at startup is |
1382 |
always @code{deny}. |
1383 |
ETEXI |
1384 |
|
1385 |
{ |
1386 |
.name = "acl_add", |
1387 |
.args_type = "aclname:s,match:s,policy:s,index:i?", |
1388 |
.params = "aclname match allow|deny [index]", |
1389 |
.help = "add a match rule to the access control list", |
1390 |
.mhandler.cmd = do_acl_add, |
1391 |
}, |
1392 |
|
1393 |
STEXI |
1394 |
@item acl_add @var{aclname} @var{match} @code{allow|deny} [@var{index}] |
1395 |
@findex acl_add |
1396 |
Add a match rule to the access control list, allowing or denying access. |
1397 |
The match will normally be an exact username or x509 distinguished name, |
1398 |
but can optionally include wildcard globs. eg @code{*@@EXAMPLE.COM} to |
1399 |
allow all users in the @code{EXAMPLE.COM} kerberos realm. The match will |
1400 |
normally be appended to the end of the ACL, but can be inserted |
1401 |
earlier in the list if the optional @var{index} parameter is supplied. |
1402 |
ETEXI |
1403 |
|
1404 |
{ |
1405 |
.name = "acl_remove", |
1406 |
.args_type = "aclname:s,match:s", |
1407 |
.params = "aclname match", |
1408 |
.help = "remove a match rule from the access control list", |
1409 |
.mhandler.cmd = do_acl_remove, |
1410 |
}, |
1411 |
|
1412 |
STEXI |
1413 |
@item acl_remove @var{aclname} @var{match} |
1414 |
@findex acl_remove |
1415 |
Remove the specified match rule from the access control list. |
1416 |
ETEXI |
1417 |
|
1418 |
{ |
1419 |
.name = "acl_reset", |
1420 |
.args_type = "aclname:s", |
1421 |
.params = "aclname", |
1422 |
.help = "reset the access control list", |
1423 |
.mhandler.cmd = do_acl_reset, |
1424 |
}, |
1425 |
|
1426 |
STEXI |
1427 |
@item acl_reset @var{aclname} |
1428 |
@findex acl_reset |
1429 |
Remove all matches from the access control list, and set the default |
1430 |
policy back to @code{deny}. |
1431 |
ETEXI |
1432 |
|
1433 |
{ |
1434 |
.name = "nbd_server_start", |
1435 |
.args_type = "all:-a,writable:-w,uri:s", |
1436 |
.params = "nbd_server_start [-a] [-w] host:port", |
1437 |
.help = "serve block devices on the given host and port", |
1438 |
.mhandler.cmd = hmp_nbd_server_start, |
1439 |
}, |
1440 |
STEXI |
1441 |
@item nbd_server_start @var{host}:@var{port} |
1442 |
@findex nbd_server_start |
1443 |
Start an NBD server on the given host and/or port. If the @option{-a} |
1444 |
option is included, all of the virtual machine's block devices that |
1445 |
have an inserted media on them are automatically exported; in this case, |
1446 |
the @option{-w} option makes the devices writable too. |
1447 |
ETEXI |
1448 |
|
1449 |
{ |
1450 |
.name = "nbd_server_add", |
1451 |
.args_type = "writable:-w,device:B", |
1452 |
.params = "nbd_server_add [-w] device", |
1453 |
.help = "export a block device via NBD", |
1454 |
.mhandler.cmd = hmp_nbd_server_add, |
1455 |
}, |
1456 |
STEXI |
1457 |
@item nbd_server_add @var{device} |
1458 |
@findex nbd_server_add |
1459 |
Export a block device through QEMU's NBD server, which must be started |
1460 |
beforehand with @command{nbd_server_start}. The @option{-w} option makes the |
1461 |
exported device writable too. |
1462 |
ETEXI |
1463 |
|
1464 |
{ |
1465 |
.name = "nbd_server_stop", |
1466 |
.args_type = "", |
1467 |
.params = "nbd_server_stop", |
1468 |
.help = "stop serving block devices using the NBD protocol", |
1469 |
.mhandler.cmd = hmp_nbd_server_stop, |
1470 |
}, |
1471 |
STEXI |
1472 |
@item nbd_server_stop |
1473 |
@findex nbd_server_stop |
1474 |
Stop the QEMU embedded NBD server. |
1475 |
ETEXI |
1476 |
|
1477 |
|
1478 |
#if defined(TARGET_I386) |
1479 |
|
1480 |
{ |
1481 |
.name = "mce", |
1482 |
.args_type = "broadcast:-b,cpu_index:i,bank:i,status:l,mcg_status:l,addr:l,misc:l", |
1483 |
.params = "[-b] cpu bank status mcgstatus addr misc", |
1484 |
.help = "inject a MCE on the given CPU [and broadcast to other CPUs with -b option]", |
1485 |
.mhandler.cmd = do_inject_mce, |
1486 |
}, |
1487 |
|
1488 |
#endif |
1489 |
STEXI |
1490 |
@item mce @var{cpu} @var{bank} @var{status} @var{mcgstatus} @var{addr} @var{misc} |
1491 |
@findex mce (x86) |
1492 |
Inject an MCE on the given CPU (x86 only). |
1493 |
ETEXI |
1494 |
|
1495 |
{ |
1496 |
.name = "getfd", |
1497 |
.args_type = "fdname:s", |
1498 |
.params = "getfd name", |
1499 |
.help = "receive a file descriptor via SCM rights and assign it a name", |
1500 |
.mhandler.cmd = hmp_getfd, |
1501 |
}, |
1502 |
|
1503 |
STEXI |
1504 |
@item getfd @var{fdname} |
1505 |
@findex getfd |
1506 |
If a file descriptor is passed alongside this command using the SCM_RIGHTS |
1507 |
mechanism on unix sockets, it is stored using the name @var{fdname} for |
1508 |
later use by other monitor commands. |
1509 |
ETEXI |
1510 |
|
1511 |
{ |
1512 |
.name = "closefd", |
1513 |
.args_type = "fdname:s", |
1514 |
.params = "closefd name", |
1515 |
.help = "close a file descriptor previously passed via SCM rights", |
1516 |
.mhandler.cmd = hmp_closefd, |
1517 |
}, |
1518 |
|
1519 |
STEXI |
1520 |
@item closefd @var{fdname} |
1521 |
@findex closefd |
1522 |
Close the file descriptor previously assigned to @var{fdname} using the |
1523 |
@code{getfd} command. This is only needed if the file descriptor was never |
1524 |
used by another monitor command. |
1525 |
ETEXI |
1526 |
|
1527 |
{ |
1528 |
.name = "block_passwd", |
1529 |
.args_type = "device:B,password:s", |
1530 |
.params = "block_passwd device password", |
1531 |
.help = "set the password of encrypted block devices", |
1532 |
.mhandler.cmd = hmp_block_passwd, |
1533 |
}, |
1534 |
|
1535 |
STEXI |
1536 |
@item block_set_io_throttle @var{device} @var{bps} @var{bps_rd} @var{bps_wr} @var{iops} @var{iops_rd} @var{iops_wr} |
1537 |
@findex block_set_io_throttle |
1538 |
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} |
1539 |
ETEXI |
1540 |
|
1541 |
{ |
1542 |
.name = "block_set_io_throttle", |
1543 |
.args_type = "device:B,bps:l,bps_rd:l,bps_wr:l,iops:l,iops_rd:l,iops_wr:l", |
1544 |
.params = "device bps bps_rd bps_wr iops iops_rd iops_wr", |
1545 |
.help = "change I/O throttle limits for a block drive", |
1546 |
.mhandler.cmd = hmp_block_set_io_throttle, |
1547 |
}, |
1548 |
|
1549 |
STEXI |
1550 |
@item block_passwd @var{device} @var{password} |
1551 |
@findex block_passwd |
1552 |
Set the encrypted device @var{device} password to @var{password} |
1553 |
ETEXI |
1554 |
|
1555 |
{ |
1556 |
.name = "set_password", |
1557 |
.args_type = "protocol:s,password:s,connected:s?", |
1558 |
.params = "protocol password action-if-connected", |
1559 |
.help = "set spice/vnc password", |
1560 |
.mhandler.cmd = hmp_set_password, |
1561 |
}, |
1562 |
|
1563 |
STEXI |
1564 |
@item set_password [ vnc | spice ] password [ action-if-connected ] |
1565 |
@findex set_password |
1566 |
|
1567 |
Change spice/vnc password. Use zero to make the password stay valid |
1568 |
forever. @var{action-if-connected} specifies what should happen in |
1569 |
case a connection is established: @var{fail} makes the password change |
1570 |
fail. @var{disconnect} changes the password and disconnects the |
1571 |
client. @var{keep} changes the password and keeps the connection up. |
1572 |
@var{keep} is the default. |
1573 |
ETEXI |
1574 |
|
1575 |
{ |
1576 |
.name = "expire_password", |
1577 |
.args_type = "protocol:s,time:s", |
1578 |
.params = "protocol time", |
1579 |
.help = "set spice/vnc password expire-time", |
1580 |
.mhandler.cmd = hmp_expire_password, |
1581 |
}, |
1582 |
|
1583 |
STEXI |
1584 |
@item expire_password [ vnc | spice ] expire-time |
1585 |
@findex expire_password |
1586 |
|
1587 |
Specify when a password for spice/vnc becomes |
1588 |
invalid. @var{expire-time} accepts: |
1589 |
|
1590 |
@table @var |
1591 |
@item now |
1592 |
Invalidate password instantly. |
1593 |
|
1594 |
@item never |
1595 |
Password stays valid forever. |
1596 |
|
1597 |
@item +nsec |
1598 |
Password stays valid for @var{nsec} seconds starting now. |
1599 |
|
1600 |
@item nsec |
1601 |
Password is invalidated at the given time. @var{nsec} are the seconds |
1602 |
passed since 1970, i.e. unix epoch. |
1603 |
|
1604 |
@end table |
1605 |
ETEXI |
1606 |
|
1607 |
{ |
1608 |
.name = "chardev-add", |
1609 |
.args_type = "args:s", |
1610 |
.params = "args", |
1611 |
.help = "add chardev", |
1612 |
.mhandler.cmd = hmp_chardev_add, |
1613 |
}, |
1614 |
|
1615 |
STEXI |
1616 |
@item chardev_add args |
1617 |
@findex chardev_add |
1618 |
|
1619 |
chardev_add accepts the same parameters as the -chardev command line switch. |
1620 |
|
1621 |
ETEXI |
1622 |
|
1623 |
{ |
1624 |
.name = "chardev-remove", |
1625 |
.args_type = "id:s", |
1626 |
.params = "id", |
1627 |
.help = "remove chardev", |
1628 |
.mhandler.cmd = hmp_chardev_remove, |
1629 |
}, |
1630 |
|
1631 |
STEXI |
1632 |
@item chardev_remove id |
1633 |
@findex chardev_remove |
1634 |
|
1635 |
Removes the chardev @var{id}. |
1636 |
|
1637 |
ETEXI |
1638 |
|
1639 |
{ |
1640 |
.name = "qemu-io", |
1641 |
.args_type = "device:B,command:s", |
1642 |
.params = "[device] \"[command]\"", |
1643 |
.help = "run a qemu-io command on a block device", |
1644 |
.mhandler.cmd = hmp_qemu_io, |
1645 |
}, |
1646 |
|
1647 |
STEXI |
1648 |
@item qemu-io @var{device} @var{command} |
1649 |
@findex qemu-io |
1650 |
|
1651 |
Executes a qemu-io command on the given block device. |
1652 |
|
1653 |
ETEXI |
1654 |
|
1655 |
{ |
1656 |
.name = "cpu-add", |
1657 |
.args_type = "id:i", |
1658 |
.params = "id", |
1659 |
.help = "add cpu", |
1660 |
.mhandler.cmd = hmp_cpu_add, |
1661 |
}, |
1662 |
|
1663 |
STEXI |
1664 |
@item cpu-add @var{id} |
1665 |
Add CPU with id @var{id} |
1666 |
ETEXI |
1667 |
|
1668 |
{ |
1669 |
.name = "info", |
1670 |
.args_type = "item:s?", |
1671 |
.params = "[subcommand]", |
1672 |
.help = "show various information about the system state", |
1673 |
.mhandler.cmd = do_info_help, |
1674 |
.sub_table = info_cmds, |
1675 |
}, |
1676 |
|
1677 |
STEXI |
1678 |
@item info @var{subcommand} |
1679 |
@findex info |
1680 |
Show various information about the system state. |
1681 |
|
1682 |
@table @option |
1683 |
@item info version |
1684 |
show the version of QEMU |
1685 |
@item info network |
1686 |
show the various VLANs and the associated devices |
1687 |
@item info chardev |
1688 |
show the character devices |
1689 |
@item info block |
1690 |
show the block devices |
1691 |
@item info blockstats |
1692 |
show block device statistics |
1693 |
@item info registers |
1694 |
show the cpu registers |
1695 |
@item info cpus |
1696 |
show infos for each CPU |
1697 |
@item info history |
1698 |
show the command line history |
1699 |
@item info irq |
1700 |
show the interrupts statistics (if available) |
1701 |
@item info pic |
1702 |
show i8259 (PIC) state |
1703 |
@item info pci |
1704 |
show emulated PCI device info |
1705 |
@item info tlb |
1706 |
show virtual to physical memory mappings (i386, SH4, SPARC, PPC, and Xtensa only) |
1707 |
@item info mem |
1708 |
show the active virtual memory mappings (i386 only) |
1709 |
@item info jit |
1710 |
show dynamic compiler info |
1711 |
@item info numa |
1712 |
show NUMA information |
1713 |
@item info kvm |
1714 |
show KVM information |
1715 |
@item info usb |
1716 |
show USB devices plugged on the virtual USB hub |
1717 |
@item info usbhost |
1718 |
show all USB host devices |
1719 |
@item info profile |
1720 |
show profiling information |
1721 |
@item info capture |
1722 |
show information about active capturing |
1723 |
@item info snapshots |
1724 |
show list of VM snapshots |
1725 |
@item info status |
1726 |
show the current VM status (running|paused) |
1727 |
@item info pcmcia |
1728 |
show guest PCMCIA status |
1729 |
@item info mice |
1730 |
show which guest mouse is receiving events |
1731 |
@item info vnc |
1732 |
show the vnc server status |
1733 |
@item info name |
1734 |
show the current VM name |
1735 |
@item info uuid |
1736 |
show the current VM UUID |
1737 |
@item info cpustats |
1738 |
show CPU statistics |
1739 |
@item info usernet |
1740 |
show user network stack connection states |
1741 |
@item info migrate |
1742 |
show migration status |
1743 |
@item info migrate_capabilities |
1744 |
show current migration capabilities |
1745 |
@item info migrate_cache_size |
1746 |
show current migration XBZRLE cache size |
1747 |
@item info balloon |
1748 |
show balloon information |
1749 |
@item info qtree |
1750 |
show device tree |
1751 |
@item info qdm |
1752 |
show qdev device model list |
1753 |
@item info roms |
1754 |
show roms |
1755 |
@item info tpm |
1756 |
show the TPM device |
1757 |
@end table |
1758 |
ETEXI |
1759 |
|
1760 |
STEXI |
1761 |
@item info trace-events |
1762 |
show available trace events and their state |
1763 |
ETEXI |
1764 |
|
1765 |
STEXI |
1766 |
@end table |
1767 |
ETEXI |