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