9 |
9 |
@table @option
|
10 |
10 |
ETEXI
|
11 |
11 |
|
12 |
|
{ "help|?", "name:s?", do_help_cmd, "[cmd]", "show the help" },
|
|
12 |
{
|
|
13 |
.name = "help|?",
|
|
14 |
.args_type = "name:s?",
|
|
15 |
.handler = do_help_cmd,
|
|
16 |
.params = "[cmd]",
|
|
17 |
.help = "show the help",
|
|
18 |
},
|
|
19 |
|
13 |
20 |
STEXI
|
14 |
21 |
@item help or ? [@var{cmd}]
|
15 |
22 |
Show the help for all commands or just for command @var{cmd}.
|
16 |
23 |
ETEXI
|
17 |
24 |
|
18 |
|
{ "commit", "device:B", do_commit,
|
19 |
|
"device|all", "commit changes to the disk images (if -snapshot is used) or backing files" },
|
|
25 |
{
|
|
26 |
.name = "commit",
|
|
27 |
.args_type = "device:B",
|
|
28 |
.handler = do_commit,
|
|
29 |
.params = "device|all",
|
|
30 |
.help = "commit changes to the disk images (if -snapshot is used) or backing files",
|
|
31 |
},
|
|
32 |
|
20 |
33 |
STEXI
|
21 |
34 |
@item commit
|
22 |
35 |
Commit changes to the disk images (if -snapshot is used) or backing files.
|
23 |
36 |
ETEXI
|
24 |
37 |
|
25 |
|
{ "info", "item:s?", do_info,
|
26 |
|
"[subcommand]", "show various information about the system state" },
|
|
38 |
{
|
|
39 |
.name = "info",
|
|
40 |
.args_type = "item:s?",
|
|
41 |
.handler = do_info,
|
|
42 |
.params = "[subcommand]",
|
|
43 |
.help = "show various information about the system state",
|
|
44 |
},
|
|
45 |
|
27 |
46 |
STEXI
|
28 |
47 |
@item info @var{subcommand}
|
29 |
48 |
Show various information about the system state.
|
... | ... | |
94 |
113 |
@end table
|
95 |
114 |
ETEXI
|
96 |
115 |
|
97 |
|
{ "q|quit", "", do_quit,
|
98 |
|
"", "quit the emulator" },
|
|
116 |
{
|
|
117 |
.name = "q|quit",
|
|
118 |
.args_type = "",
|
|
119 |
.handler = do_quit,
|
|
120 |
.params = "",
|
|
121 |
.help = "quit the emulator",
|
|
122 |
},
|
|
123 |
|
99 |
124 |
STEXI
|
100 |
125 |
@item q or quit
|
101 |
126 |
Quit the emulator.
|
102 |
127 |
ETEXI
|
103 |
128 |
|
104 |
|
{ "eject", "force:-f,filename:B", do_eject,
|
105 |
|
"[-f] device", "eject a removable medium (use -f to force it)" },
|
|
129 |
{
|
|
130 |
.name = "eject",
|
|
131 |
.args_type = "force:-f,filename:B",
|
|
132 |
.handler = do_eject,
|
|
133 |
.params = "[-f] device",
|
|
134 |
.help = "eject a removable medium (use -f to force it)",
|
|
135 |
},
|
|
136 |
|
106 |
137 |
STEXI
|
107 |
138 |
@item eject [-f] @var{device}
|
108 |
139 |
Eject a removable medium (use -f to force it).
|
109 |
140 |
ETEXI
|
110 |
141 |
|
111 |
|
{ "change", "device:B,target:F,arg:s?", do_change,
|
112 |
|
"device filename [format]", "change a removable medium, optional format" },
|
|
142 |
{
|
|
143 |
.name = "change",
|
|
144 |
.args_type = "device:B,target:F,arg:s?",
|
|
145 |
.handler = do_change,
|
|
146 |
.params = "device filename [format]",
|
|
147 |
.help = "change a removable medium, optional format",
|
|
148 |
},
|
|
149 |
|
113 |
150 |
STEXI
|
114 |
151 |
@item change @var{device} @var{setting}
|
115 |
152 |
|
... | ... | |
147 |
184 |
@end table
|
148 |
185 |
ETEXI
|
149 |
186 |
|
150 |
|
{ "screendump", "filename:F", do_screen_dump,
|
151 |
|
"filename", "save screen into PPM image 'filename'" },
|
|
187 |
{
|
|
188 |
.name = "screendump",
|
|
189 |
.args_type = "filename:F",
|
|
190 |
.handler = do_screen_dump,
|
|
191 |
.params = "filename",
|
|
192 |
.help = "save screen into PPM image 'filename'",
|
|
193 |
},
|
|
194 |
|
152 |
195 |
STEXI
|
153 |
196 |
@item screendump @var{filename}
|
154 |
197 |
Save screen into PPM image @var{filename}.
|
155 |
198 |
ETEXI
|
156 |
199 |
|
157 |
|
{ "logfile", "filename:F", do_logfile,
|
158 |
|
"filename", "output logs to 'filename'" },
|
|
200 |
{
|
|
201 |
.name = "logfile",
|
|
202 |
.args_type = "filename:F",
|
|
203 |
.handler = do_logfile,
|
|
204 |
.params = "filename",
|
|
205 |
.help = "output logs to 'filename'",
|
|
206 |
},
|
|
207 |
|
159 |
208 |
STEXI
|
160 |
209 |
@item logfile @var{filename}
|
161 |
210 |
Output logs to @var{filename}.
|
162 |
211 |
ETEXI
|
163 |
212 |
|
164 |
|
{ "log", "items:s", do_log,
|
165 |
|
"item1[,...]", "activate logging of the specified items to '/tmp/qemu.log'" },
|
|
213 |
{
|
|
214 |
.name = "log",
|
|
215 |
.args_type = "items:s",
|
|
216 |
.handler = do_log,
|
|
217 |
.params = "item1[,...]",
|
|
218 |
.help = "activate logging of the specified items to '/tmp/qemu.log'",
|
|
219 |
},
|
|
220 |
|
166 |
221 |
STEXI
|
167 |
222 |
@item log @var{item1}[,...]
|
168 |
223 |
Activate logging of the specified items to @file{/tmp/qemu.log}.
|
169 |
224 |
ETEXI
|
170 |
225 |
|
171 |
|
{ "savevm", "name:s?", do_savevm,
|
172 |
|
"[tag|id]", "save a VM snapshot. If no tag or id are provided, a new snapshot is created" },
|
|
226 |
{
|
|
227 |
.name = "savevm",
|
|
228 |
.args_type = "name:s?",
|
|
229 |
.handler = do_savevm,
|
|
230 |
.params = "[tag|id]",
|
|
231 |
.help = "save a VM snapshot. If no tag or id are provided, a new snapshot is created",
|
|
232 |
},
|
|
233 |
|
173 |
234 |
STEXI
|
174 |
235 |
@item savevm [@var{tag}|@var{id}]
|
175 |
236 |
Create a snapshot of the whole virtual machine. If @var{tag} is
|
... | ... | |
178 |
239 |
@ref{vm_snapshots}.
|
179 |
240 |
ETEXI
|
180 |
241 |
|
181 |
|
{ "loadvm", "name:s", do_loadvm,
|
182 |
|
"tag|id", "restore a VM snapshot from its tag or id" },
|
|
242 |
{
|
|
243 |
.name = "loadvm",
|
|
244 |
.args_type = "name:s",
|
|
245 |
.handler = do_loadvm,
|
|
246 |
.params = "tag|id",
|
|
247 |
.help = "restore a VM snapshot from its tag or id",
|
|
248 |
},
|
|
249 |
|
183 |
250 |
STEXI
|
184 |
251 |
@item loadvm @var{tag}|@var{id}
|
185 |
252 |
Set the whole virtual machine to the snapshot identified by the tag
|
186 |
253 |
@var{tag} or the unique snapshot ID @var{id}.
|
187 |
254 |
ETEXI
|
188 |
255 |
|
189 |
|
{ "delvm", "name:s", do_delvm,
|
190 |
|
"tag|id", "delete a VM snapshot from its tag or id" },
|
|
256 |
{
|
|
257 |
.name = "delvm",
|
|
258 |
.args_type = "name:s",
|
|
259 |
.handler = do_delvm,
|
|
260 |
.params = "tag|id",
|
|
261 |
.help = "delete a VM snapshot from its tag or id",
|
|
262 |
},
|
|
263 |
|
191 |
264 |
STEXI
|
192 |
265 |
@item delvm @var{tag}|@var{id}
|
193 |
266 |
Delete the snapshot identified by @var{tag} or @var{id}.
|
194 |
267 |
ETEXI
|
195 |
268 |
|
196 |
|
{ "singlestep", "option:s?", do_singlestep,
|
197 |
|
"[on|off]", "run emulation in singlestep mode or switch to normal mode", },
|
|
269 |
{
|
|
270 |
.name = "singlestep",
|
|
271 |
.args_type = "option:s?",
|
|
272 |
.handler = do_singlestep,
|
|
273 |
.params = "[on|off]",
|
|
274 |
.help = "run emulation in singlestep mode or switch to normal mode",
|
|
275 |
},
|
|
276 |
|
198 |
277 |
STEXI
|
199 |
278 |
@item singlestep [off]
|
200 |
279 |
Run the emulation in single step mode.
|
201 |
280 |
If called with option off, the emulation returns to normal mode.
|
202 |
281 |
ETEXI
|
203 |
282 |
|
204 |
|
{ "stop", "", do_stop,
|
205 |
|
"", "stop emulation", },
|
|
283 |
{
|
|
284 |
.name = "stop",
|
|
285 |
.args_type = "",
|
|
286 |
.handler = do_stop,
|
|
287 |
.params = "",
|
|
288 |
.help = "stop emulation",
|
|
289 |
},
|
|
290 |
|
206 |
291 |
STEXI
|
207 |
292 |
@item stop
|
208 |
293 |
Stop emulation.
|
209 |
294 |
ETEXI
|
210 |
295 |
|
211 |
|
{ "c|cont", "", do_cont,
|
212 |
|
"", "resume emulation", },
|
|
296 |
{
|
|
297 |
.name = "c|cont",
|
|
298 |
.args_type = "",
|
|
299 |
.handler = do_cont,
|
|
300 |
.params = "",
|
|
301 |
.help = "resume emulation",
|
|
302 |
},
|
|
303 |
|
213 |
304 |
STEXI
|
214 |
305 |
@item c or cont
|
215 |
306 |
Resume emulation.
|
216 |
307 |
ETEXI
|
217 |
308 |
|
218 |
|
{ "gdbserver", "device:s?", do_gdbserver,
|
219 |
|
"[device]", "start gdbserver on given device (default 'tcp::1234'), stop with 'none'", },
|
|
309 |
{
|
|
310 |
.name = "gdbserver",
|
|
311 |
.args_type = "device:s?",
|
|
312 |
.handler = do_gdbserver,
|
|
313 |
.params = "[device]",
|
|
314 |
.help = "start gdbserver on given device (default 'tcp::1234'), stop with 'none'",
|
|
315 |
},
|
|
316 |
|
220 |
317 |
STEXI
|
221 |
318 |
@item gdbserver [@var{port}]
|
222 |
319 |
Start gdbserver session (default @var{port}=1234)
|
223 |
320 |
ETEXI
|
224 |
321 |
|
225 |
|
{ "x", "fmt:/,addr:l", do_memory_dump,
|
226 |
|
"/fmt addr", "virtual memory dump starting at 'addr'", },
|
|
322 |
{
|
|
323 |
.name = "x",
|
|
324 |
.args_type = "fmt:/,addr:l",
|
|
325 |
.handler = do_memory_dump,
|
|
326 |
.params = "/fmt addr",
|
|
327 |
.help = "virtual memory dump starting at 'addr'",
|
|
328 |
},
|
|
329 |
|
227 |
330 |
STEXI
|
228 |
331 |
@item x/fmt @var{addr}
|
229 |
332 |
Virtual memory dump starting at @var{addr}.
|
230 |
333 |
ETEXI
|
231 |
334 |
|
232 |
|
{ "xp", "fmt:/,addr:l", do_physical_memory_dump,
|
233 |
|
"/fmt addr", "physical memory dump starting at 'addr'", },
|
|
335 |
{
|
|
336 |
.name = "xp",
|
|
337 |
.args_type = "fmt:/,addr:l",
|
|
338 |
.handler = do_physical_memory_dump,
|
|
339 |
.params = "/fmt addr",
|
|
340 |
.help = "physical memory dump starting at 'addr'",
|
|
341 |
},
|
|
342 |
|
234 |
343 |
STEXI
|
235 |
344 |
@item xp /@var{fmt} @var{addr}
|
236 |
345 |
Physical memory dump starting at @var{addr}.
|
... | ... | |
289 |
398 |
@end itemize
|
290 |
399 |
ETEXI
|
291 |
400 |
|
292 |
|
{ "p|print", "fmt:/,val:l", do_print,
|
293 |
|
"/fmt expr", "print expression value (use $reg for CPU register access)", },
|
|
401 |
{
|
|
402 |
.name = "p|print",
|
|
403 |
.args_type = "fmt:/,val:l",
|
|
404 |
.handler = do_print,
|
|
405 |
.params = "/fmt expr",
|
|
406 |
.help = "print expression value (use $reg for CPU register access)",
|
|
407 |
},
|
|
408 |
|
294 |
409 |
STEXI
|
295 |
410 |
@item p or print/@var{fmt} @var{expr}
|
296 |
411 |
|
... | ... | |
298 |
413 |
used.
|
299 |
414 |
ETEXI
|
300 |
415 |
|
301 |
|
{ "i", "fmt:/,addr:i,index:i.", do_ioport_read,
|
302 |
|
"/fmt addr", "I/O port read" },
|
|
416 |
{
|
|
417 |
.name = "i",
|
|
418 |
.args_type = "fmt:/,addr:i,index:i.",
|
|
419 |
.handler = do_ioport_read,
|
|
420 |
.params = "/fmt addr",
|
|
421 |
.help = "I/O port read",
|
|
422 |
},
|
|
423 |
|
303 |
424 |
STEXI
|
304 |
425 |
Read I/O port.
|
305 |
426 |
ETEXI
|
306 |
427 |
|
307 |
|
{ "o", "fmt:/,addr:i,val:i", do_ioport_write,
|
308 |
|
"/fmt addr value", "I/O port write" },
|
|
428 |
{
|
|
429 |
.name = "o",
|
|
430 |
.args_type = "fmt:/,addr:i,val:i",
|
|
431 |
.handler = do_ioport_write,
|
|
432 |
.params = "/fmt addr value",
|
|
433 |
.help = "I/O port write",
|
|
434 |
},
|
|
435 |
|
309 |
436 |
STEXI
|
310 |
437 |
Write to I/O port.
|
311 |
438 |
ETEXI
|
312 |
439 |
|
313 |
|
{ "sendkey", "string:s,hold_time:i?", do_sendkey,
|
314 |
|
"keys [hold_ms]", "send keys to the VM (e.g. 'sendkey ctrl-alt-f1', default hold time=100 ms)" },
|
|
440 |
{
|
|
441 |
.name = "sendkey",
|
|
442 |
.args_type = "string:s,hold_time:i?",
|
|
443 |
.handler = do_sendkey,
|
|
444 |
.params = "keys [hold_ms]",
|
|
445 |
.help = "send keys to the VM (e.g. 'sendkey ctrl-alt-f1', default hold time=100 ms)",
|
|
446 |
},
|
|
447 |
|
315 |
448 |
STEXI
|
316 |
449 |
@item sendkey @var{keys}
|
317 |
450 |
|
... | ... | |
326 |
459 |
intercepts at low level, such as @code{ctrl-alt-f1} in X Window.
|
327 |
460 |
ETEXI
|
328 |
461 |
|
329 |
|
{ "system_reset", "", do_system_reset,
|
330 |
|
"", "reset the system" },
|
|
462 |
{
|
|
463 |
.name = "system_reset",
|
|
464 |
.args_type = "",
|
|
465 |
.handler = do_system_reset,
|
|
466 |
.params = "",
|
|
467 |
.help = "reset the system",
|
|
468 |
},
|
|
469 |
|
331 |
470 |
STEXI
|
332 |
471 |
@item system_reset
|
333 |
472 |
|
334 |
473 |
Reset the system.
|
335 |
474 |
ETEXI
|
336 |
475 |
|
337 |
|
{ "system_powerdown", "", do_system_powerdown,
|
338 |
|
"", "send system power down event" },
|
|
476 |
{
|
|
477 |
.name = "system_powerdown",
|
|
478 |
.args_type = "",
|
|
479 |
.handler = do_system_powerdown,
|
|
480 |
.params = "",
|
|
481 |
.help = "send system power down event",
|
|
482 |
},
|
|
483 |
|
339 |
484 |
STEXI
|
340 |
485 |
@item system_powerdown
|
341 |
486 |
|
342 |
487 |
Power down the system (if supported).
|
343 |
488 |
ETEXI
|
344 |
489 |
|
345 |
|
{ "sum", "start:i,size:i", do_sum,
|
346 |
|
"addr size", "compute the checksum of a memory region" },
|
|
490 |
{
|
|
491 |
.name = "sum",
|
|
492 |
.args_type = "start:i,size:i",
|
|
493 |
.handler = do_sum,
|
|
494 |
.params = "addr size",
|
|
495 |
.help = "compute the checksum of a memory region",
|
|
496 |
},
|
|
497 |
|
347 |
498 |
STEXI
|
348 |
499 |
@item sum @var{addr} @var{size}
|
349 |
500 |
|
350 |
501 |
Compute the checksum of a memory region.
|
351 |
502 |
ETEXI
|
352 |
503 |
|
353 |
|
{ "usb_add", "devname:s", do_usb_add,
|
354 |
|
"device", "add USB device (e.g. 'host:bus.addr' or 'host:vendor_id:product_id')" },
|
|
504 |
{
|
|
505 |
.name = "usb_add",
|
|
506 |
.args_type = "devname:s",
|
|
507 |
.handler = do_usb_add,
|
|
508 |
.params = "device",
|
|
509 |
.help = "add USB device (e.g. 'host:bus.addr' or 'host:vendor_id:product_id')",
|
|
510 |
},
|
|
511 |
|
355 |
512 |
STEXI
|
356 |
513 |
@item usb_add @var{devname}
|
357 |
514 |
|
... | ... | |
359 |
516 |
@ref{usb_devices}
|
360 |
517 |
ETEXI
|
361 |
518 |
|
362 |
|
{ "usb_del", "devname:s", do_usb_del,
|
363 |
|
"device", "remove USB device 'bus.addr'" },
|
|
519 |
{
|
|
520 |
.name = "usb_del",
|
|
521 |
.args_type = "devname:s",
|
|
522 |
.handler = do_usb_del,
|
|
523 |
.params = "device",
|
|
524 |
.help = "remove USB device 'bus.addr'",
|
|
525 |
},
|
|
526 |
|
364 |
527 |
STEXI
|
365 |
528 |
@item usb_del @var{devname}
|
366 |
529 |
|
... | ... | |
369 |
532 |
command @code{info usb} to see the devices you can remove.
|
370 |
533 |
ETEXI
|
371 |
534 |
|
372 |
|
{ "device_add", "config:s", do_device_add,
|
373 |
|
"device", "add device, like -device on the command line" },
|
|
535 |
{
|
|
536 |
.name = "device_add",
|
|
537 |
.args_type = "config:s",
|
|
538 |
.handler = do_device_add,
|
|
539 |
.params = "device",
|
|
540 |
.help = "add device, like -device on the command line",
|
|
541 |
},
|
|
542 |
|
374 |
543 |
STEXI
|
375 |
544 |
@item device_add @var{config}
|
376 |
545 |
|
377 |
546 |
Add device.
|
378 |
547 |
ETEXI
|
379 |
548 |
|
380 |
|
{ "device_del", "id:s", do_device_del,
|
381 |
|
"device", "remove device" },
|
|
549 |
{
|
|
550 |
.name = "device_del",
|
|
551 |
.args_type = "id:s",
|
|
552 |
.handler = do_device_del,
|
|
553 |
.params = "device",
|
|
554 |
.help = "remove device",
|
|
555 |
},
|
|
556 |
|
382 |
557 |
STEXI
|
383 |
558 |
@item device_del @var{id}
|
384 |
559 |
|
385 |
560 |
Remove device @var{id}.
|
386 |
561 |
ETEXI
|
387 |
562 |
|
388 |
|
{ "cpu", "index:i", do_cpu_set, "index", "set the default CPU" },
|
|
563 |
{
|
|
564 |
.name = "cpu",
|
|
565 |
.args_type = "index:i",
|
|
566 |
.handler = do_cpu_set,
|
|
567 |
.params = "index",
|
|
568 |
.help = "set the default CPU",
|
|
569 |
},
|
389 |
570 |
|
390 |
571 |
STEXI
|
391 |
572 |
Set the default CPU.
|
392 |
573 |
ETEXI
|
393 |
574 |
|
394 |
|
{ "mouse_move", "dx_str:s,dy_str:s,dz_str:s?", do_mouse_move,
|
395 |
|
"dx dy [dz]", "send mouse move events" },
|
|
575 |
{
|
|
576 |
.name = "mouse_move",
|
|
577 |
.args_type = "dx_str:s,dy_str:s,dz_str:s?",
|
|
578 |
.handler = do_mouse_move,
|
|
579 |
.params = "dx dy [dz]",
|
|
580 |
.help = "send mouse move events",
|
|
581 |
},
|
|
582 |
|
396 |
583 |
STEXI
|
397 |
584 |
@item mouse_move @var{dx} @var{dy} [@var{dz}]
|
398 |
585 |
Move the active mouse to the specified coordinates @var{dx} @var{dy}
|
399 |
586 |
with optional scroll axis @var{dz}.
|
400 |
587 |
ETEXI
|
401 |
588 |
|
402 |
|
{ "mouse_button", "button_state:i", do_mouse_button,
|
403 |
|
"state", "change mouse button state (1=L, 2=M, 4=R)" },
|
|
589 |
{
|
|
590 |
.name = "mouse_button",
|
|
591 |
.args_type = "button_state:i",
|
|
592 |
.handler = do_mouse_button,
|
|
593 |
.params = "state",
|
|
594 |
.help = "change mouse button state (1=L, 2=M, 4=R)",
|
|
595 |
},
|
|
596 |
|
404 |
597 |
STEXI
|
405 |
598 |
@item mouse_button @var{val}
|
406 |
599 |
Change the active mouse button state @var{val} (1=L, 2=M, 4=R).
|
407 |
600 |
ETEXI
|
408 |
601 |
|
409 |
|
{ "mouse_set", "index:i", do_mouse_set,
|
410 |
|
"index", "set which mouse device receives events" },
|
|
602 |
{
|
|
603 |
.name = "mouse_set",
|
|
604 |
.args_type = "index:i",
|
|
605 |
.handler = do_mouse_set,
|
|
606 |
.params = "index",
|
|
607 |
.help = "set which mouse device receives events",
|
|
608 |
},
|
|
609 |
|
411 |
610 |
STEXI
|
412 |
611 |
@item mouse_set @var{index}
|
413 |
612 |
Set which mouse device receives events at given @var{index}, index
|
... | ... | |
418 |
617 |
ETEXI
|
419 |
618 |
|
420 |
619 |
#ifdef HAS_AUDIO
|
421 |
|
{ "wavcapture", "path:F,freq:i?,bits:i?,nchannels:i?", do_wav_capture,
|
422 |
|
"path [frequency [bits [channels]]]",
|
423 |
|
"capture audio to a wave file (default frequency=44100 bits=16 channels=2)" },
|
|
620 |
{
|
|
621 |
.name = "wavcapture",
|
|
622 |
.args_type = "path:F,freq:i?,bits:i?,nchannels:i?",
|
|
623 |
.handler = do_wav_capture,
|
|
624 |
.params = "path [frequency [bits [channels]]]",
|
|
625 |
.help = "capture audio to a wave file (default frequency=44100 bits=16 channels=2)",
|
|
626 |
},
|
424 |
627 |
#endif
|
425 |
628 |
STEXI
|
426 |
629 |
@item wavcapture @var{filename} [@var{frequency} [@var{bits} [@var{channels}]]]
|
... | ... | |
436 |
639 |
ETEXI
|
437 |
640 |
|
438 |
641 |
#ifdef HAS_AUDIO
|
439 |
|
{ "stopcapture", "n:i", do_stop_capture,
|
440 |
|
"capture index", "stop capture" },
|
|
642 |
{
|
|
643 |
.name = "stopcapture",
|
|
644 |
.args_type = "n:i",
|
|
645 |
.handler = do_stop_capture,
|
|
646 |
.params = "capture index",
|
|
647 |
.help = "stop capture",
|
|
648 |
},
|
441 |
649 |
#endif
|
442 |
650 |
STEXI
|
443 |
651 |
@item stopcapture @var{index}
|
... | ... | |
447 |
655 |
@end example
|
448 |
656 |
ETEXI
|
449 |
657 |
|
450 |
|
{ "memsave", "val:l,size:i,filename:s", do_memory_save,
|
451 |
|
"addr size file", "save to disk virtual memory dump starting at 'addr' of size 'size'", },
|
|
658 |
{
|
|
659 |
.name = "memsave",
|
|
660 |
.args_type = "val:l,size:i,filename:s",
|
|
661 |
.handler = do_memory_save,
|
|
662 |
.params = "addr size file",
|
|
663 |
.help = "save to disk virtual memory dump starting at 'addr' of size 'size'",
|
|
664 |
},
|
|
665 |
|
452 |
666 |
STEXI
|
453 |
667 |
@item memsave @var{addr} @var{size} @var{file}
|
454 |
668 |
save to disk virtual memory dump starting at @var{addr} of size @var{size}.
|
455 |
669 |
ETEXI
|
456 |
670 |
|
457 |
|
{ "pmemsave", "val:l,size:i,filename:s", do_physical_memory_save,
|
458 |
|
"addr size file", "save to disk physical memory dump starting at 'addr' of size 'size'", },
|
|
671 |
{
|
|
672 |
.name = "pmemsave",
|
|
673 |
.args_type = "val:l,size:i,filename:s",
|
|
674 |
.handler = do_physical_memory_save,
|
|
675 |
.params = "addr size file",
|
|
676 |
.help = "save to disk physical memory dump starting at 'addr' of size 'size'",
|
|
677 |
},
|
|
678 |
|
459 |
679 |
STEXI
|
460 |
680 |
@item pmemsave @var{addr} @var{size} @var{file}
|
461 |
681 |
save to disk physical memory dump starting at @var{addr} of size @var{size}.
|
462 |
682 |
ETEXI
|
463 |
683 |
|
464 |
|
{ "boot_set", "bootdevice:s", do_boot_set,
|
465 |
|
"bootdevice", "define new values for the boot device list" },
|
|
684 |
{
|
|
685 |
.name = "boot_set",
|
|
686 |
.args_type = "bootdevice:s",
|
|
687 |
.handler = do_boot_set,
|
|
688 |
.params = "bootdevice",
|
|
689 |
.help = "define new values for the boot device list",
|
|
690 |
},
|
|
691 |
|
466 |
692 |
STEXI
|
467 |
693 |
@item boot_set @var{bootdevicelist}
|
468 |
694 |
|
... | ... | |
474 |
700 |
ETEXI
|
475 |
701 |
|
476 |
702 |
#if defined(TARGET_I386)
|
477 |
|
{ "nmi", "cpu_index:i", do_inject_nmi,
|
478 |
|
"cpu", "inject an NMI on the given CPU", },
|
|
703 |
{
|
|
704 |
.name = "nmi",
|
|
705 |
.args_type = "cpu_index:i",
|
|
706 |
.handler = do_inject_nmi,
|
|
707 |
.params = "cpu",
|
|
708 |
.help = "inject an NMI on the given CPU",
|
|
709 |
},
|
479 |
710 |
#endif
|
480 |
711 |
STEXI
|
481 |
712 |
@item nmi @var{cpu}
|
482 |
713 |
Inject an NMI on the given CPU (x86 only).
|
483 |
714 |
ETEXI
|
484 |
715 |
|
485 |
|
{ "migrate", "detach:-d,uri:s", do_migrate,
|
486 |
|
"[-d] uri", "migrate to URI (using -d to not wait for completion)" },
|
|
716 |
{
|
|
717 |
.name = "migrate",
|
|
718 |
.args_type = "detach:-d,uri:s",
|
|
719 |
.handler = do_migrate,
|
|
720 |
.params = "[-d] uri",
|
|
721 |
.help = "migrate to URI (using -d to not wait for completion)",
|
|
722 |
},
|
|
723 |
|
487 |
724 |
STEXI
|
488 |
725 |
@item migrate [-d] @var{uri}
|
489 |
726 |
Migrate to @var{uri} (using -d to not wait for completion).
|
490 |
727 |
ETEXI
|
491 |
728 |
|
492 |
|
{ "migrate_cancel", "", do_migrate_cancel,
|
493 |
|
"", "cancel the current VM migration" },
|
|
729 |
{
|
|
730 |
.name = "migrate_cancel",
|
|
731 |
.args_type = "",
|
|
732 |
.handler = do_migrate_cancel,
|
|
733 |
.params = "",
|
|
734 |
.help = "cancel the current VM migration",
|
|
735 |
},
|
|
736 |
|
494 |
737 |
STEXI
|
495 |
738 |
@item migrate_cancel
|
496 |
739 |
Cancel the current VM migration.
|
497 |
740 |
ETEXI
|
498 |
741 |
|
499 |
|
{ "migrate_set_speed", "value:s", do_migrate_set_speed,
|
500 |
|
"value", "set maximum speed (in bytes) for migrations" },
|
|
742 |
{
|
|
743 |
.name = "migrate_set_speed",
|
|
744 |
.args_type = "value:s",
|
|
745 |
.handler = do_migrate_set_speed,
|
|
746 |
.params = "value",
|
|
747 |
.help = "set maximum speed (in bytes) for migrations",
|
|
748 |
},
|
|
749 |
|
501 |
750 |
STEXI
|
502 |
751 |
@item migrate_set_speed @var{value}
|
503 |
752 |
Set maximum speed to @var{value} (in bytes) for migrations.
|
504 |
753 |
ETEXI
|
505 |
754 |
|
506 |
|
{ "migrate_set_downtime", "value:s", do_migrate_set_downtime,
|
507 |
|
"value", "set maximum tolerated downtime (in seconds) for migrations" },
|
|
755 |
{
|
|
756 |
.name = "migrate_set_downtime",
|
|
757 |
.args_type = "value:s",
|
|
758 |
.handler = do_migrate_set_downtime,
|
|
759 |
.params = "value",
|
|
760 |
.help = "set maximum tolerated downtime (in seconds) for migrations",
|
|
761 |
},
|
508 |
762 |
|
509 |
763 |
STEXI
|
510 |
764 |
@item migrate_set_downtime @var{second}
|
... | ... | |
512 |
766 |
ETEXI
|
513 |
767 |
|
514 |
768 |
#if defined(TARGET_I386)
|
515 |
|
{ "drive_add", "pci_addr:s,opts:s", drive_hot_add,
|
516 |
|
"[[<domain>:]<bus>:]<slot>\n"
|
517 |
|
"[file=file][,if=type][,bus=n]\n"
|
518 |
|
"[,unit=m][,media=d][index=i]\n"
|
519 |
|
"[,cyls=c,heads=h,secs=s[,trans=t]]\n"
|
520 |
|
"[snapshot=on|off][,cache=on|off]",
|
521 |
|
"add drive to PCI storage controller" },
|
|
769 |
{
|
|
770 |
.name = "drive_add",
|
|
771 |
.args_type = "pci_addr:s,opts:s",
|
|
772 |
.handler = drive_hot_add,
|
|
773 |
.params = "[[<domain>:]<bus>:]<slot>\n"
|
|
774 |
"[file=file][,if=type][,bus=n]\n"
|
|
775 |
"[,unit=m][,media=d][index=i]\n"
|
|
776 |
"[,cyls=c,heads=h,secs=s[,trans=t]]\n"
|
|
777 |
"[snapshot=on|off][,cache=on|off]",
|
|
778 |
.help = "add drive to PCI storage controller",
|
|
779 |
},
|
522 |
780 |
#endif
|
|
781 |
|
523 |
782 |
STEXI
|
524 |
783 |
@item drive_add
|
525 |
784 |
Add drive to PCI storage controller.
|
526 |
785 |
ETEXI
|
527 |
786 |
|
528 |
787 |
#if defined(TARGET_I386)
|
529 |
|
{ "pci_add", "pci_addr:s,type:s,opts:s?", pci_device_hot_add, "auto|[[<domain>:]<bus>:]<slot> nic|storage [[vlan=n][,macaddr=addr][,model=type]] [file=file][,if=type][,bus=nr]...", "hot-add PCI device" },
|
|
788 |
{
|
|
789 |
.name = "pci_add",
|
|
790 |
.args_type = "pci_addr:s,type:s,opts:s?",
|
|
791 |
.handler = pci_device_hot_add,
|
|
792 |
.params = "auto|[[<domain>:]<bus>:]<slot> nic|storage [[vlan=n][,macaddr=addr][,model=type]] [file=file][,if=type][,bus=nr]...",
|
|
793 |
.help = "hot-add PCI device",
|
|
794 |
},
|
530 |
795 |
#endif
|
|
796 |
|
531 |
797 |
STEXI
|
532 |
798 |
@item pci_add
|
533 |
799 |
Hot-add PCI device.
|
534 |
800 |
ETEXI
|
535 |
801 |
|
536 |
802 |
#if defined(TARGET_I386)
|
537 |
|
{ "pci_del", "pci_addr:s", do_pci_device_hot_remove, "[[<domain>:]<bus>:]<slot>", "hot remove PCI device" },
|
|
803 |
{
|
|
804 |
.name = "pci_del",
|
|
805 |
.args_type = "pci_addr:s",
|
|
806 |
.handler = do_pci_device_hot_remove,
|
|
807 |
.params = "[[<domain>:]<bus>:]<slot>",
|
|
808 |
.help = "hot remove PCI device",
|
|
809 |
},
|
538 |
810 |
#endif
|
|
811 |
|
539 |
812 |
STEXI
|
540 |
813 |
@item pci_del
|
541 |
814 |
Hot remove PCI device.
|
542 |
815 |
ETEXI
|
543 |
816 |
|
544 |
|
{ "host_net_add", "device:s,opts:s?", net_host_device_add,
|
545 |
|
"tap|user|socket|vde|dump [options]", "add host VLAN client" },
|
|
817 |
{
|
|
818 |
.name = "host_net_add",
|
|
819 |
.args_type = "device:s,opts:s?",
|
|
820 |
.handler = net_host_device_add,
|
|
821 |
.params = "tap|user|socket|vde|dump [options]",
|
|
822 |
.help = "add host VLAN client",
|
|
823 |
},
|
|
824 |
|
546 |
825 |
STEXI
|
547 |
826 |
@item host_net_add
|
548 |
827 |
Add host VLAN client.
|
549 |
828 |
ETEXI
|
550 |
829 |
|
551 |
|
{ "host_net_remove", "vlan_id:i,device:s", net_host_device_remove,
|
552 |
|
"vlan_id name", "remove host VLAN client" },
|
|
830 |
{
|
|
831 |
.name = "host_net_remove",
|
|
832 |
.args_type = "vlan_id:i,device:s",
|
|
833 |
.handler = net_host_device_remove,
|
|
834 |
.params = "vlan_id name",
|
|
835 |
.help = "remove host VLAN client",
|
|
836 |
},
|
|
837 |
|
553 |
838 |
STEXI
|
554 |
839 |
@item host_net_remove
|
555 |
840 |
Remove host VLAN client.
|
556 |
841 |
ETEXI
|
557 |
842 |
|
558 |
843 |
#ifdef CONFIG_SLIRP
|
559 |
|
{ "hostfwd_add", "arg1:s,arg2:s?,arg3:s?", net_slirp_hostfwd_add,
|
560 |
|
"[vlan_id name] [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport",
|
561 |
|
"redirect TCP or UDP connections from host to guest (requires -net user)" },
|
562 |
|
{ "hostfwd_remove", "arg1:s,arg2:s?,arg3:s?", net_slirp_hostfwd_remove,
|
563 |
|
"[vlan_id name] [tcp|udp]:[hostaddr]:hostport",
|
564 |
|
"remove host-to-guest TCP or UDP redirection" },
|
|
844 |
{
|
|
845 |
.name = "hostfwd_add",
|
|
846 |
.args_type = "arg1:s,arg2:s?,arg3:s?",
|
|
847 |
.handler = net_slirp_hostfwd_add,
|
|
848 |
.params = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport",
|
|
849 |
.help = "redirect TCP or UDP connections from host to guest (requires -net user)",
|
|
850 |
},
|
|
851 |
|
|
852 |
{
|
|
853 |
.name = "hostfwd_remove",
|
|
854 |
.args_type = "arg1:s,arg2:s?,arg3:s?",
|
|
855 |
.handler = net_slirp_hostfwd_remove,
|
|
856 |
.params = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport",
|
|
857 |
.help = "remove host-to-guest TCP or UDP redirection",
|
|
858 |
},
|
|
859 |
|
565 |
860 |
#endif
|
566 |
861 |
STEXI
|
567 |
862 |
@item host_net_redir
|
568 |
863 |
Redirect TCP or UDP connections from host to guest (requires -net user).
|
569 |
864 |
ETEXI
|
570 |
865 |
|
571 |
|
{ "balloon", "value:i", do_balloon,
|
572 |
|
"target", "request VM to change it's memory allocation (in MB)" },
|
|
866 |
{
|
|
867 |
.name = "balloon",
|
|
868 |
.args_type = "value:i",
|
|
869 |
.handler = do_balloon,
|
|
870 |
.params = "target",
|
|
871 |
.help = "request VM to change it's memory allocation (in MB)",
|
|
872 |
},
|
|
873 |
|
573 |
874 |
STEXI
|
574 |
875 |
@item balloon @var{value}
|
575 |
876 |
Request VM to change its memory allocation to @var{value} (in MB).
|
576 |
877 |
ETEXI
|
577 |
878 |
|
578 |
|
{ "set_link", "name:s,up_or_down:s", do_set_link,
|
579 |
|
"name up|down", "change the link status of a network adapter" },
|
|
879 |
{
|
|
880 |
.name = "set_link",
|
|
881 |
.args_type = "name:s,up_or_down:s",
|
|
882 |
.handler = do_set_link,
|
|
883 |
.params = "name up|down",
|
|
884 |
.help = "change the link status of a network adapter",
|
|
885 |
},
|
|
886 |
|
580 |
887 |
STEXI
|
581 |
888 |
@item set_link @var{name} [up|down]
|
582 |
889 |
Set link @var{name} up or down.
|
583 |
890 |
ETEXI
|
584 |
891 |
|
585 |
|
{ "watchdog_action", "action:s", do_watchdog_action,
|
586 |
|
"[reset|shutdown|poweroff|pause|debug|none]", "change watchdog action" },
|
|
892 |
{
|
|
893 |
.name = "watchdog_action",
|
|
894 |
.args_type = "action:s",
|
|
895 |
.handler = do_watchdog_action,
|
|
896 |
.params = "[reset|shutdown|poweroff|pause|debug|none]",
|
|
897 |
.help = "change watchdog action",
|
|
898 |
},
|
|
899 |
|
587 |
900 |
STEXI
|
588 |
901 |
@item watchdog_action
|
589 |
902 |
Change watchdog action.
|
590 |
903 |
ETEXI
|
591 |
904 |
|
592 |
|
{ "acl_show", "aclname:s", do_acl_show, "aclname",
|
593 |
|
"list rules in the access control list" },
|
|
905 |
{
|
|
906 |
.name = "acl_show",
|
|
907 |
.args_type = "aclname:s",
|
|
908 |
.handler = do_acl_show,
|
|
909 |
.params = "aclname",
|
|
910 |
.help = "list rules in the access control list",
|
|
911 |
},
|
|
912 |
|
594 |
913 |
STEXI
|
595 |
914 |
@item acl_show @var{aclname}
|
596 |
915 |
List all the matching rules in the access control list, and the default
|
... | ... | |
599 |
918 |
certificate distinguished name, and SASL username respectively.
|
600 |
919 |
ETEXI
|
601 |
920 |
|
602 |
|
{ "acl_policy", "aclname:s,policy:s", do_acl_policy, "aclname allow|deny",
|
603 |
|
"set default access control list policy" },
|
|
921 |
{
|
|
922 |
.name = "acl_policy",
|
|
923 |
.args_type = "aclname:s,policy:s",
|
|
924 |
.handler = do_acl_policy,
|
|
925 |
.params = "aclname allow|deny",
|
|
926 |
.help = "set default access control list policy",
|
|
927 |
},
|
|
928 |
|
604 |
929 |
STEXI
|
605 |
930 |
@item acl_policy @var{aclname} @code{allow|deny}
|
606 |
931 |
Set the default access control list policy, used in the event that
|
... | ... | |
608 |
933 |
always @code{deny}.
|
609 |
934 |
ETEXI
|
610 |
935 |
|
611 |
|
{ "acl_add", "aclname:s,match:s,policy:s,index:i?", do_acl_add, "aclname match allow|deny [index]",
|
612 |
|
"add a match rule to the access control list" },
|
|
936 |
{
|
|
937 |
.name = "acl_add",
|
|
938 |
.args_type = "aclname:s,match:s,policy:s,index:i?",
|
|
939 |
.handler = do_acl_add,
|
|
940 |
.params = "aclname match allow|deny [index]",
|
|
941 |
.help = "add a match rule to the access control list",
|
|
942 |
},
|
|
943 |
|
613 |
944 |
STEXI
|
614 |
945 |
@item acl_allow @var{aclname} @var{match} @code{allow|deny} [@var{index}]
|
615 |
946 |
Add a match rule to the access control list, allowing or denying access.
|
... | ... | |
620 |
951 |
earlier in the list if the optional @var{index} parameter is supplied.
|
621 |
952 |
ETEXI
|
622 |
953 |
|
623 |
|
{ "acl_remove", "aclname:s,match:s", do_acl_remove, "aclname match",
|
624 |
|
"remove a match rule from the access control list" },
|
|
954 |
{
|
|
955 |
.name = "acl_remove",
|
|
956 |
.args_type = "aclname:s,match:s",
|
|
957 |
.handler = do_acl_remove,
|
|
958 |
.params = "aclname match",
|
|
959 |
.help = "remove a match rule from the access control list",
|
|
960 |
},
|
|
961 |
|
625 |
962 |
STEXI
|
626 |
963 |
@item acl_remove @var{aclname} @var{match}
|
627 |
964 |
Remove the specified match rule from the access control list.
|
628 |
965 |
ETEXI
|
629 |
966 |
|
630 |
|
{ "acl_reset", "aclname:s", do_acl_reset, "aclname",
|
631 |
|
"reset the access control list" },
|
|
967 |
{
|
|
968 |
.name = "acl_reset",
|
|
969 |
.args_type = "aclname:s",
|
|
970 |
.handler = do_acl_reset,
|
|
971 |
.params = "aclname",
|
|
972 |
.help = "reset the access control list",
|
|
973 |
},
|
|
974 |
|
632 |
975 |
STEXI
|
633 |
976 |
@item acl_remove @var{aclname} @var{match}
|
634 |
977 |
Remove all matches from the access control list, and set the default
|
... | ... | |
636 |
979 |
ETEXI
|
637 |
980 |
|
638 |
981 |
#if defined(TARGET_I386)
|
639 |
|
{ "mce", "cpu_index:i,bank:i,status:l,mcg_status:l,addr:l,misc:l", do_inject_mce, "cpu bank status mcgstatus addr misc", "inject a MCE on the given CPU"},
|
|
982 |
|
|
983 |
{
|
|
984 |
.name = "mce",
|
|
985 |
.args_type = "cpu_index:i,bank:i,status:l,mcg_status:l,addr:l,misc:l",
|
|
986 |
.handler = do_inject_mce,
|
|
987 |
.params = "cpu bank status mcgstatus addr misc",
|
|
988 |
.help = "inject a MCE on the given CPU",
|
|
989 |
},
|
|
990 |
|
640 |
991 |
#endif
|
641 |
992 |
STEXI
|
642 |
993 |
@item mce @var{cpu} @var{bank} @var{status} @var{mcgstatus} @var{addr} @var{misc}
|
643 |
994 |
Inject an MCE on the given CPU (x86 only).
|
644 |
995 |
ETEXI
|
645 |
996 |
|
646 |
|
{ "getfd", "fdname:s", do_getfd, "getfd name",
|
647 |
|
"receive a file descriptor via SCM rights and assign it a name" },
|
|
997 |
{
|
|
998 |
.name = "getfd",
|
|
999 |
.args_type = "fdname:s",
|
|
1000 |
.handler = do_getfd,
|
|
1001 |
.params = "getfd name",
|
|
1002 |
.help = "receive a file descriptor via SCM rights and assign it a name",
|
|
1003 |
},
|
|
1004 |
|
648 |
1005 |
STEXI
|
649 |
1006 |
@item getfd @var{fdname}
|
650 |
1007 |
If a file descriptor is passed alongside this command using the SCM_RIGHTS
|
... | ... | |
652 |
1009 |
later use by other monitor commands.
|
653 |
1010 |
ETEXI
|
654 |
1011 |
|
655 |
|
{ "closefd", "fdname:s", do_closefd, "closefd name",
|
656 |
|
"close a file descriptor previously passed via SCM rights" },
|
|
1012 |
{
|
|
1013 |
.name = "closefd",
|
|
1014 |
.args_type = "fdname:s",
|
|
1015 |
.handler = do_closefd,
|
|
1016 |
.params = "closefd name",
|
|
1017 |
.help = "close a file descriptor previously passed via SCM rights",
|
|
1018 |
},
|
|
1019 |
|
657 |
1020 |
STEXI
|
658 |
1021 |
@item closefd @var{fdname}
|
659 |
1022 |
Close the file descriptor previously assigned to @var{fdname} using the
|