Revision 2313086a
b/Makefile | ||
---|---|---|
332 | 332 |
qemu-options.texi: $(SRC_PATH)/qemu-options.hx |
333 | 333 |
$(call quiet-command,sh $(SRC_PATH)/hxtool -t < $< > $@," GEN $@") |
334 | 334 |
|
335 |
qemu.1: qemu-doc.texi qemu-options.texi |
|
335 |
qemu-monitor.texi: $(SRC_PATH)/qemu-monitor.hx |
|
336 |
$(call quiet-command,sh $(SRC_PATH)/hxtool -t < $< > $@," GEN $@") |
|
337 |
|
|
338 |
qemu.1: qemu-doc.texi qemu-options.texi qemu-monitor.texi |
|
336 | 339 |
$(call quiet-command, \ |
337 | 340 |
perl -Ww -- $(SRC_PATH)/texi2pod.pl $< qemu.pod && \ |
338 | 341 |
pod2man --section=1 --center=" " --release=" " qemu.pod > $@, \ |
... | ... | |
356 | 359 |
|
357 | 360 |
html: qemu-doc.html qemu-tech.html |
358 | 361 |
|
359 |
qemu-doc.dvi qemu-doc.html qemu-doc.info: qemu-img.texi qemu-nbd.texi qemu-options.texi |
|
362 |
qemu-doc.dvi qemu-doc.html qemu-doc.info: qemu-img.texi qemu-nbd.texi qemu-options.texi qemu-monitor.texi
|
|
360 | 363 |
|
361 | 364 |
VERSION ?= $(shell cat VERSION) |
362 | 365 |
FILE = qemu-$(VERSION) |
b/Makefile.target | ||
---|---|---|
732 | 732 |
|
733 | 733 |
vl.o: qemu-options.h |
734 | 734 |
|
735 |
monitor.o: qemu-monitor.h |
|
736 |
|
|
735 | 737 |
$(QEMU_PROG): LIBS += $(SDL_LIBS) $(COCOA_LIBS) $(CURSES_LIBS) $(BRLAPI_LIBS) $(VDE_LIBS) $(CURL_LIBS) |
736 | 738 |
$(QEMU_PROG): ARLIBS=../libqemu_common.a libqemu.a $(HWLIB) |
737 | 739 |
$(QEMU_PROG): $(OBJS) ../libqemu_common.a libqemu.a $(HWLIB) |
... | ... | |
749 | 751 |
qemu-options.h: $(SRC_PATH)/qemu-options.hx |
750 | 752 |
$(call quiet-command,sh $(SRC_PATH)/hxtool -h < $< > $@," GEN $(TARGET_DIR)$@") |
751 | 753 |
|
754 |
qemu-monitor.h: $(SRC_PATH)/qemu-monitor.hx |
|
755 |
$(call quiet-command,sh $(SRC_PATH)/hxtool -h < $< > $@," GEN $(TARGET_DIR)$@") |
|
756 |
|
|
752 | 757 |
clean: |
753 |
rm -f *.o *.a *~ $(PROGS) nwfpe/*.o fpu/*.o qemu-options.h gdbstub-xml.c
|
|
758 |
rm -f *.o *.a *~ $(PROGS) nwfpe/*.o fpu/*.o |
|
754 | 759 |
rm -f *.d */*.d tcg/*.o |
760 |
rm -f qemu-options.h qemu-monitor.h gdbstub-xml.c |
|
755 | 761 |
|
756 | 762 |
install: all |
757 | 763 |
ifneq ($(PROGS),) |
b/monitor.c | ||
---|---|---|
1496 | 1496 |
} |
1497 | 1497 |
} |
1498 | 1498 |
|
1499 |
#ifdef HAS_AUDIO |
|
1499 | 1500 |
static void do_stop_capture(Monitor *mon, int n) |
1500 | 1501 |
{ |
1501 | 1502 |
int i; |
... | ... | |
1511 | 1512 |
} |
1512 | 1513 |
} |
1513 | 1514 |
|
1514 |
#ifdef HAS_AUDIO |
|
1515 | 1515 |
static void do_wav_capture(Monitor *mon, const char *path, |
1516 | 1516 |
int has_freq, int freq, |
1517 | 1517 |
int has_bits, int bits, |
... | ... | |
1659 | 1659 |
} |
1660 | 1660 |
} |
1661 | 1661 |
|
1662 |
/* Please update qemu-doc.texi when adding or changing commands */ |
|
1663 | 1662 |
static const mon_cmd_t mon_cmds[] = { |
1664 |
{ "help|?", "s?", help_cmd, |
|
1665 |
"[cmd]", "show the help" }, |
|
1666 |
{ "commit", "s", do_commit, |
|
1667 |
"device|all", "commit changes to the disk images (if -snapshot is used) or backing files" }, |
|
1668 |
{ "info", "s?", do_info, |
|
1669 |
"[subcommand]", "show various information about the system state" }, |
|
1670 |
{ "q|quit", "", do_quit, |
|
1671 |
"", "quit the emulator" }, |
|
1672 |
{ "eject", "-fB", do_eject, |
|
1673 |
"[-f] device", "eject a removable medium (use -f to force it)" }, |
|
1674 |
{ "change", "BFs?", do_change, |
|
1675 |
"device filename [format]", "change a removable medium, optional format" }, |
|
1676 |
{ "screendump", "F", do_screen_dump, |
|
1677 |
"filename", "save screen into PPM image 'filename'" }, |
|
1678 |
{ "logfile", "F", do_logfile, |
|
1679 |
"filename", "output logs to 'filename'" }, |
|
1680 |
{ "log", "s", do_log, |
|
1681 |
"item1[,...]", "activate logging of the specified items to '/tmp/qemu.log'" }, |
|
1682 |
{ "savevm", "s?", do_savevm, |
|
1683 |
"[tag|id]", "save a VM snapshot. If no tag or id are provided, a new snapshot is created" }, |
|
1684 |
{ "loadvm", "s", do_loadvm, |
|
1685 |
"tag|id", "restore a VM snapshot from its tag or id" }, |
|
1686 |
{ "delvm", "s", do_delvm, |
|
1687 |
"tag|id", "delete a VM snapshot from its tag or id" }, |
|
1688 |
{ "singlestep", "s?", do_singlestep, |
|
1689 |
"[on|off]", "run emulation in singlestep mode or switch to normal mode", }, |
|
1690 |
{ "stop", "", do_stop, |
|
1691 |
"", "stop emulation", }, |
|
1692 |
{ "c|cont", "", do_cont, |
|
1693 |
"", "resume emulation", }, |
|
1694 |
{ "gdbserver", "s?", do_gdbserver, |
|
1695 |
"[device]", "start gdbserver on given device (default 'tcp::1234'), stop with 'none'", }, |
|
1696 |
{ "x", "/l", do_memory_dump, |
|
1697 |
"/fmt addr", "virtual memory dump starting at 'addr'", }, |
|
1698 |
{ "xp", "/l", do_physical_memory_dump, |
|
1699 |
"/fmt addr", "physical memory dump starting at 'addr'", }, |
|
1700 |
{ "p|print", "/l", do_print, |
|
1701 |
"/fmt expr", "print expression value (use $reg for CPU register access)", }, |
|
1702 |
{ "i", "/ii.", do_ioport_read, |
|
1703 |
"/fmt addr", "I/O port read" }, |
|
1704 |
|
|
1705 |
{ "sendkey", "si?", do_sendkey, |
|
1706 |
"keys [hold_ms]", "send keys to the VM (e.g. 'sendkey ctrl-alt-f1', default hold time=100 ms)" }, |
|
1707 |
{ "system_reset", "", do_system_reset, |
|
1708 |
"", "reset the system" }, |
|
1709 |
{ "system_powerdown", "", do_system_powerdown, |
|
1710 |
"", "send system power down event" }, |
|
1711 |
{ "sum", "ii", do_sum, |
|
1712 |
"addr size", "compute the checksum of a memory region" }, |
|
1713 |
{ "usb_add", "s", do_usb_add, |
|
1714 |
"device", "add USB device (e.g. 'host:bus.addr' or 'host:vendor_id:product_id')" }, |
|
1715 |
{ "usb_del", "s", do_usb_del, |
|
1716 |
"device", "remove USB device 'bus.addr'" }, |
|
1717 |
{ "cpu", "i", do_cpu_set, |
|
1718 |
"index", "set the default CPU" }, |
|
1719 |
{ "mouse_move", "sss?", do_mouse_move, |
|
1720 |
"dx dy [dz]", "send mouse move events" }, |
|
1721 |
{ "mouse_button", "i", do_mouse_button, |
|
1722 |
"state", "change mouse button state (1=L, 2=M, 4=R)" }, |
|
1723 |
{ "mouse_set", "i", do_mouse_set, |
|
1724 |
"index", "set which mouse device receives events" }, |
|
1725 |
#ifdef HAS_AUDIO |
|
1726 |
{ "wavcapture", "si?i?i?", do_wav_capture, |
|
1727 |
"path [frequency [bits [channels]]]", |
|
1728 |
"capture audio to a wave file (default frequency=44100 bits=16 channels=2)" }, |
|
1729 |
#endif |
|
1730 |
{ "stopcapture", "i", do_stop_capture, |
|
1731 |
"capture index", "stop capture" }, |
|
1732 |
{ "memsave", "lis", do_memory_save, |
|
1733 |
"addr size file", "save to disk virtual memory dump starting at 'addr' of size 'size'", }, |
|
1734 |
{ "pmemsave", "lis", do_physical_memory_save, |
|
1735 |
"addr size file", "save to disk physical memory dump starting at 'addr' of size 'size'", }, |
|
1736 |
{ "boot_set", "s", do_boot_set, |
|
1737 |
"bootdevice", "define new values for the boot device list" }, |
|
1738 |
#if defined(TARGET_I386) |
|
1739 |
{ "nmi", "i", do_inject_nmi, |
|
1740 |
"cpu", "inject an NMI on the given CPU", }, |
|
1741 |
#endif |
|
1742 |
{ "migrate", "-ds", do_migrate, |
|
1743 |
"[-d] uri", "migrate to URI (using -d to not wait for completion)" }, |
|
1744 |
{ "migrate_cancel", "", do_migrate_cancel, |
|
1745 |
"", "cancel the current VM migration" }, |
|
1746 |
{ "migrate_set_speed", "s", do_migrate_set_speed, |
|
1747 |
"value", "set maximum speed (in bytes) for migrations" }, |
|
1748 |
#if defined(TARGET_I386) |
|
1749 |
{ "drive_add", "ss", drive_hot_add, "pci_addr=[[<domain>:]<bus>:]<slot>\n" |
|
1750 |
"[file=file][,if=type][,bus=n]\n" |
|
1751 |
"[,unit=m][,media=d][index=i]\n" |
|
1752 |
"[,cyls=c,heads=h,secs=s[,trans=t]]\n" |
|
1753 |
"[snapshot=on|off][,cache=on|off]", |
|
1754 |
"add drive to PCI storage controller" }, |
|
1755 |
{ "pci_add", "sss", pci_device_hot_add, "pci_addr=auto|[[<domain>:]<bus>:]<slot> nic|storage [[vlan=n][,macaddr=addr][,model=type]] [file=file][,if=type][,bus=nr]...", "hot-add PCI device" }, |
|
1756 |
{ "pci_del", "s", pci_device_hot_remove, "pci_addr=[[<domain>:]<bus>:]<slot>", "hot remove PCI device" }, |
|
1757 |
#endif |
|
1758 |
{ "host_net_add", "ss?", net_host_device_add, |
|
1759 |
"tap|user|socket|vde|dump [options]", "add host VLAN client" }, |
|
1760 |
{ "host_net_remove", "is", net_host_device_remove, |
|
1761 |
"vlan_id name", "remove host VLAN client" }, |
|
1762 |
#ifdef CONFIG_SLIRP |
|
1763 |
{ "host_net_redir", "ss?", net_slirp_redir, |
|
1764 |
"[tcp|udp]:host-port:[guest-host]:guest-port", "redirect TCP or UDP connections from host to guest (requires -net user)\n" |
|
1765 |
"host_net_redir remove [tcp:|udp:]host-port -- remove redirection\n" |
|
1766 |
"host_net_redir list -- show all redirections" }, |
|
1767 |
#endif |
|
1768 |
{ "balloon", "i", do_balloon, |
|
1769 |
"target", "request VM to change it's memory allocation (in MB)" }, |
|
1770 |
{ "set_link", "ss", do_set_link, |
|
1771 |
"name up|down", "change the link status of a network adapter" }, |
|
1772 |
{ "watchdog_action", "s", do_watchdog_action, |
|
1773 |
"[reset|shutdown|poweroff|pause|debug|none]", "change watchdog action" }, |
|
1774 |
{ "acl", "sss?i?", do_acl, "<command> <aclname> [<match> [<index>]]\n", |
|
1775 |
"acl show vnc.username\n" |
|
1776 |
"acl policy vnc.username deny\n" |
|
1777 |
"acl allow vnc.username fred\n" |
|
1778 |
"acl deny vnc.username bob\n" |
|
1779 |
"acl reset vnc.username\n" }, |
|
1663 |
#include "qemu-monitor.h" |
|
1780 | 1664 |
{ NULL, NULL, }, |
1781 | 1665 |
}; |
1782 | 1666 |
|
1783 |
/* Please update qemu-doc.texi when adding or changing commands */
|
|
1667 |
/* Please update qemu-monitor.hx when adding or changing commands */
|
|
1784 | 1668 |
static const mon_cmd_t info_cmds[] = { |
1785 | 1669 |
{ "version", "", do_info_version, |
1786 | 1670 |
"", "show the version of QEMU" }, |
b/qemu-doc.texi | ||
---|---|---|
318 | 318 |
|
319 | 319 |
The following commands are available: |
320 | 320 |
|
321 |
@table @option |
|
322 |
|
|
323 |
@item help or ? [@var{cmd}] |
|
324 |
Show the help for all commands or just for command @var{cmd}. |
|
325 |
|
|
326 |
@item commit |
|
327 |
Commit changes to the disk images (if -snapshot is used). |
|
328 |
|
|
329 |
@item info @var{subcommand} |
|
330 |
Show various information about the system state. |
|
331 |
|
|
332 |
@table @option |
|
333 |
@item info version |
|
334 |
show the version of QEMU |
|
335 |
@item info network |
|
336 |
show the various VLANs and the associated devices |
|
337 |
@item info chardev |
|
338 |
show the character devices |
|
339 |
@item info block |
|
340 |
show the block devices |
|
341 |
@item info block |
|
342 |
show block device statistics |
|
343 |
@item info registers |
|
344 |
show the cpu registers |
|
345 |
@item info cpus |
|
346 |
show infos for each CPU |
|
347 |
@item info history |
|
348 |
show the command line history |
|
349 |
@item info irq |
|
350 |
show the interrupts statistics (if available) |
|
351 |
@item info pic |
|
352 |
show i8259 (PIC) state |
|
353 |
@item info pci |
|
354 |
show emulated PCI device info |
|
355 |
@item info tlb |
|
356 |
show virtual to physical memory mappings (i386 only) |
|
357 |
@item info mem |
|
358 |
show the active virtual memory mappings (i386 only) |
|
359 |
@item info hpet |
|
360 |
show state of HPET (i386 only) |
|
361 |
@item info kqemu |
|
362 |
show KQEMU information |
|
363 |
@item info kvm |
|
364 |
show KVM information |
|
365 |
@item info usb |
|
366 |
show USB devices plugged on the virtual USB hub |
|
367 |
@item info usbhost |
|
368 |
show all USB host devices |
|
369 |
@item info profile |
|
370 |
show profiling information |
|
371 |
@item info capture |
|
372 |
show information about active capturing |
|
373 |
@item info snapshots |
|
374 |
show list of VM snapshots |
|
375 |
@item info status |
|
376 |
show the current VM status (running|paused) |
|
377 |
@item info pcmcia |
|
378 |
show guest PCMCIA status |
|
379 |
@item info mice |
|
380 |
show which guest mouse is receiving events |
|
381 |
@item info vnc |
|
382 |
show the vnc server status |
|
383 |
@item info name |
|
384 |
show the current VM name |
|
385 |
@item info uuid |
|
386 |
show the current VM UUID |
|
387 |
@item info cpustats |
|
388 |
show CPU statistics |
|
389 |
@item info slirp |
|
390 |
show SLIRP statistics (if available) |
|
391 |
@item info migrate |
|
392 |
show migration status |
|
393 |
@item info balloon |
|
394 |
show balloon information |
|
395 |
@end table |
|
396 |
|
|
397 |
@item q or quit |
|
398 |
Quit the emulator. |
|
399 |
|
|
400 |
@item eject [-f] @var{device} |
|
401 |
Eject a removable medium (use -f to force it). |
|
402 |
|
|
403 |
@item change @var{device} @var{setting} |
|
404 |
|
|
405 |
Change the configuration of a device. |
|
406 |
|
|
407 |
@table @option |
|
408 |
@item change @var{diskdevice} @var{filename} [@var{format}] |
|
409 |
Change the medium for a removable disk device to point to @var{filename}. eg |
|
410 |
|
|
411 |
@example |
|
412 |
(qemu) change ide1-cd0 /path/to/some.iso |
|
413 |
@end example |
|
414 |
|
|
415 |
@var{format} is optional. |
|
416 |
|
|
417 |
@item change vnc @var{display},@var{options} |
|
418 |
Change the configuration of the VNC server. The valid syntax for @var{display} |
|
419 |
and @var{options} are described at @ref{sec_invocation}. eg |
|
420 |
|
|
421 |
@example |
|
422 |
(qemu) change vnc localhost:1 |
|
423 |
@end example |
|
424 |
|
|
425 |
@item change vnc password [@var{password}] |
|
426 |
|
|
427 |
Change the password associated with the VNC server. If the new password is not |
|
428 |
supplied, the monitor will prompt for it to be entered. VNC passwords are only |
|
429 |
significant up to 8 letters. eg |
|
430 |
|
|
431 |
@example |
|
432 |
(qemu) change vnc password |
|
433 |
Password: ******** |
|
434 |
@end example |
|
435 |
|
|
436 |
@end table |
|
437 |
|
|
438 |
@item acl @var{subcommand} @var{aclname} @var{match} @var{index} |
|
439 |
|
|
440 |
Manage access control lists for network services. There are currently |
|
441 |
two named access control lists, @var{vnc.x509dname} and @var{vnc.username} |
|
442 |
matching on the x509 client certificate distinguished name, and SASL |
|
443 |
username respectively. |
|
444 |
|
|
445 |
@table @option |
|
446 |
@item acl show <aclname> |
|
447 |
list all the match rules in the access control list, and the default |
|
448 |
policy |
|
449 |
@item acl policy <aclname> @code{allow|deny} |
|
450 |
set the default access control list policy, used in the event that |
|
451 |
none of the explicit rules match. The default policy at startup is |
|
452 |
always @code{deny} |
|
453 |
@item acl allow <aclname> <match> [<index>] |
|
454 |
add a match to the access control list, allowing access. The match will |
|
455 |
normally be an exact username or x509 distinguished name, but can |
|
456 |
optionally include wildcard globs. eg @code{*@@EXAMPLE.COM} to allow |
|
457 |
all users in the @code{EXAMPLE.COM} kerberos realm. The match will |
|
458 |
normally be appended to the end of the ACL, but can be inserted |
|
459 |
earlier in the list if the optional @code{index} parameter is supplied. |
|
460 |
@item acl deny <aclname> <match> [<index>] |
|
461 |
add a match to the access control list, denying access. The match will |
|
462 |
normally be an exact username or x509 distinguished name, but can |
|
463 |
optionally include wildcard globs. eg @code{*@@EXAMPLE.COM} to allow |
|
464 |
all users in the @code{EXAMPLE.COM} kerberos realm. The match will |
|
465 |
normally be appended to the end of the ACL, but can be inserted |
|
466 |
earlier in the list if the optional @code{index} parameter is supplied. |
|
467 |
@item acl remove <aclname> <match> |
|
468 |
remove the specified match rule from the access control list. |
|
469 |
@item acl reset <aclname> |
|
470 |
remove all matches from the access control list, and set the default |
|
471 |
policy back to @code{deny}. |
|
472 |
@end table |
|
473 |
|
|
474 |
@item screendump @var{filename} |
|
475 |
Save screen into PPM image @var{filename}. |
|
476 |
|
|
477 |
@item logfile @var{filename} |
|
478 |
Output logs to @var{filename}. |
|
479 |
|
|
480 |
@item log @var{item1}[,...] |
|
481 |
Activate logging of the specified items to @file{/tmp/qemu.log}. |
|
482 |
|
|
483 |
@item savevm [@var{tag}|@var{id}] |
|
484 |
Create a snapshot of the whole virtual machine. If @var{tag} is |
|
485 |
provided, it is used as human readable identifier. If there is already |
|
486 |
a snapshot with the same tag or ID, it is replaced. More info at |
|
487 |
@ref{vm_snapshots}. |
|
488 |
|
|
489 |
@item loadvm @var{tag}|@var{id} |
|
490 |
Set the whole virtual machine to the snapshot identified by the tag |
|
491 |
@var{tag} or the unique snapshot ID @var{id}. |
|
492 |
|
|
493 |
@item delvm @var{tag}|@var{id} |
|
494 |
Delete the snapshot identified by @var{tag} or @var{id}. |
|
495 |
|
|
496 |
@item singlestep [off] |
|
497 |
Run the emulation in single step mode. |
|
498 |
If called with option off, the emulation returns to normal mode. |
|
499 |
|
|
500 |
@item stop |
|
501 |
Stop emulation. |
|
502 |
|
|
503 |
@item c or cont |
|
504 |
Resume emulation. |
|
505 |
|
|
506 |
@item gdbserver [@var{port}] |
|
507 |
Start gdbserver session (default @var{port}=1234) |
|
508 |
|
|
509 |
@item x/fmt @var{addr} |
|
510 |
Virtual memory dump starting at @var{addr}. |
|
511 |
|
|
512 |
@item xp /@var{fmt} @var{addr} |
|
513 |
Physical memory dump starting at @var{addr}. |
|
514 |
|
|
515 |
@var{fmt} is a format which tells the command how to format the |
|
516 |
data. Its syntax is: @option{/@{count@}@{format@}@{size@}} |
|
517 |
|
|
518 |
@table @var |
|
519 |
@item count |
|
520 |
is the number of items to be dumped. |
|
521 |
|
|
522 |
@item format |
|
523 |
can be x (hex), d (signed decimal), u (unsigned decimal), o (octal), |
|
524 |
c (char) or i (asm instruction). |
|
525 |
|
|
526 |
@item size |
|
527 |
can be b (8 bits), h (16 bits), w (32 bits) or g (64 bits). On x86, |
|
528 |
@code{h} or @code{w} can be specified with the @code{i} format to |
|
529 |
respectively select 16 or 32 bit code instruction size. |
|
530 |
|
|
531 |
@end table |
|
532 |
|
|
533 |
Examples: |
|
534 |
@itemize |
|
535 |
@item |
|
536 |
Dump 10 instructions at the current instruction pointer: |
|
537 |
@example |
|
538 |
(qemu) x/10i $eip |
|
539 |
0x90107063: ret |
|
540 |
0x90107064: sti |
|
541 |
0x90107065: lea 0x0(%esi,1),%esi |
|
542 |
0x90107069: lea 0x0(%edi,1),%edi |
|
543 |
0x90107070: ret |
|
544 |
0x90107071: jmp 0x90107080 |
|
545 |
0x90107073: nop |
|
546 |
0x90107074: nop |
|
547 |
0x90107075: nop |
|
548 |
0x90107076: nop |
|
549 |
@end example |
|
550 |
|
|
551 |
@item |
|
552 |
Dump 80 16 bit values at the start of the video memory. |
|
553 |
@smallexample |
|
554 |
(qemu) xp/80hx 0xb8000 |
|
555 |
0x000b8000: 0x0b50 0x0b6c 0x0b65 0x0b78 0x0b38 0x0b36 0x0b2f 0x0b42 |
|
556 |
0x000b8010: 0x0b6f 0x0b63 0x0b68 0x0b73 0x0b20 0x0b56 0x0b47 0x0b41 |
|
557 |
0x000b8020: 0x0b42 0x0b69 0x0b6f 0x0b73 0x0b20 0x0b63 0x0b75 0x0b72 |
|
558 |
0x000b8030: 0x0b72 0x0b65 0x0b6e 0x0b74 0x0b2d 0x0b63 0x0b76 0x0b73 |
|
559 |
0x000b8040: 0x0b20 0x0b30 0x0b35 0x0b20 0x0b4e 0x0b6f 0x0b76 0x0b20 |
|
560 |
0x000b8050: 0x0b32 0x0b30 0x0b30 0x0b33 0x0720 0x0720 0x0720 0x0720 |
|
561 |
0x000b8060: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 |
|
562 |
0x000b8070: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 |
|
563 |
0x000b8080: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 |
|
564 |
0x000b8090: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 |
|
565 |
@end smallexample |
|
566 |
@end itemize |
|
567 |
|
|
568 |
@item p or print/@var{fmt} @var{expr} |
|
569 |
|
|
570 |
Print expression value. Only the @var{format} part of @var{fmt} is |
|
571 |
used. |
|
572 |
|
|
573 |
@item sendkey @var{keys} |
|
574 |
|
|
575 |
Send @var{keys} to the emulator. @var{keys} could be the name of the |
|
576 |
key or @code{#} followed by the raw value in either decimal or hexadecimal |
|
577 |
format. Use @code{-} to press several keys simultaneously. Example: |
|
578 |
@example |
|
579 |
sendkey ctrl-alt-f1 |
|
580 |
@end example |
|
581 |
|
|
582 |
This command is useful to send keys that your graphical user interface |
|
583 |
intercepts at low level, such as @code{ctrl-alt-f1} in X Window. |
|
584 |
|
|
585 |
@item system_reset |
|
586 |
|
|
587 |
Reset the system. |
|
588 |
|
|
589 |
@item system_powerdown |
|
590 |
|
|
591 |
Power down the system (if supported). |
|
592 |
|
|
593 |
@item sum @var{addr} @var{size} |
|
594 |
|
|
595 |
Compute the checksum of a memory region. |
|
596 |
|
|
597 |
@item usb_add @var{devname} |
|
598 |
|
|
599 |
Add the USB device @var{devname}. For details of available devices see |
|
600 |
@ref{usb_devices} |
|
601 |
|
|
602 |
@item usb_del @var{devname} |
|
603 |
|
|
604 |
Remove the USB device @var{devname} from the QEMU virtual USB |
|
605 |
hub. @var{devname} has the syntax @code{bus.addr}. Use the monitor |
|
606 |
command @code{info usb} to see the devices you can remove. |
|
607 |
|
|
608 |
@item mouse_move @var{dx} @var{dy} [@var{dz}] |
|
609 |
Move the active mouse to the specified coordinates @var{dx} @var{dy} |
|
610 |
with optional scroll axis @var{dz}. |
|
611 |
|
|
612 |
@item mouse_button @var{val} |
|
613 |
Change the active mouse button state @var{val} (1=L, 2=M, 4=R). |
|
614 |
|
|
615 |
@item mouse_set @var{index} |
|
616 |
Set which mouse device receives events at given @var{index}, index |
|
617 |
can be obtained with |
|
618 |
@example |
|
619 |
info mice |
|
620 |
@end example |
|
621 |
|
|
622 |
@item wavcapture @var{filename} [@var{frequency} [@var{bits} [@var{channels}]]] |
|
623 |
Capture audio into @var{filename}. Using sample rate @var{frequency} |
|
624 |
bits per sample @var{bits} and number of channels @var{channels}. |
|
625 |
|
|
626 |
Defaults: |
|
627 |
@itemize @minus |
|
628 |
@item Sample rate = 44100 Hz - CD quality |
|
629 |
@item Bits = 16 |
|
630 |
@item Number of channels = 2 - Stereo |
|
631 |
@end itemize |
|
632 |
|
|
633 |
@item stopcapture @var{index} |
|
634 |
Stop capture with a given @var{index}, index can be obtained with |
|
635 |
@example |
|
636 |
info capture |
|
637 |
@end example |
|
638 |
|
|
639 |
@item memsave @var{addr} @var{size} @var{file} |
|
640 |
save to disk virtual memory dump starting at @var{addr} of size @var{size}. |
|
641 |
|
|
642 |
@item pmemsave @var{addr} @var{size} @var{file} |
|
643 |
save to disk physical memory dump starting at @var{addr} of size @var{size}. |
|
644 |
|
|
645 |
@item boot_set @var{bootdevicelist} |
|
646 |
|
|
647 |
Define new values for the boot device list. Those values will override |
|
648 |
the values specified on the command line through the @code{-boot} option. |
|
649 |
|
|
650 |
The values that can be specified here depend on the machine type, but are |
|
651 |
the same that can be specified in the @code{-boot} command line option. |
|
652 |
|
|
653 |
@item nmi @var{cpu} |
|
654 |
Inject an NMI on the given CPU. |
|
655 |
|
|
656 |
@item migrate [-d] @var{uri} |
|
657 |
Migrate to @var{uri} (using -d to not wait for completion). |
|
658 |
|
|
659 |
@item migrate_cancel |
|
660 |
Cancel the current VM migration. |
|
661 |
|
|
662 |
@item migrate_set_speed @var{value} |
|
663 |
Set maximum speed to @var{value} (in bytes) for migrations. |
|
664 |
|
|
665 |
@item balloon @var{value} |
|
666 |
Request VM to change its memory allocation to @var{value} (in MB). |
|
667 |
|
|
668 |
@item set_link @var{name} [up|down] |
|
669 |
Set link @var{name} up or down. |
|
670 |
|
|
671 |
@end table |
|
321 |
@include qemu-monitor.texi |
|
672 | 322 |
|
673 | 323 |
@subsection Integer expressions |
674 | 324 |
|
b/qemu-monitor.hx | ||
---|---|---|
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 |
{ "help|?", "s?", help_cmd, "[cmd]", "show the help" }, |
|
13 |
STEXI |
|
14 |
@item help or ? [@var{cmd}] |
|
15 |
Show the help for all commands or just for command @var{cmd}. |
|
16 |
ETEXI |
|
17 |
|
|
18 |
{ "commit", "s", do_commit, |
|
19 |
"device|all", "commit changes to the disk images (if -snapshot is used) or backing files" }, |
|
20 |
STEXI |
|
21 |
@item commit |
|
22 |
Commit changes to the disk images (if -snapshot is used) or backing files. |
|
23 |
ETEXI |
|
24 |
|
|
25 |
{ "info", "s?", do_info, |
|
26 |
"[subcommand]", "show various information about the system state" }, |
|
27 |
STEXI |
|
28 |
@item info @var{subcommand} |
|
29 |
Show various information about the system state. |
|
30 |
|
|
31 |
@table @option |
|
32 |
@item info version |
|
33 |
show the version of QEMU |
|
34 |
@item info network |
|
35 |
show the various VLANs and the associated devices |
|
36 |
@item info chardev |
|
37 |
show the character devices |
|
38 |
@item info block |
|
39 |
show the block devices |
|
40 |
@item info block |
|
41 |
show block device statistics |
|
42 |
@item info registers |
|
43 |
show the cpu registers |
|
44 |
@item info cpus |
|
45 |
show infos for each CPU |
|
46 |
@item info history |
|
47 |
show the command line history |
|
48 |
@item info irq |
|
49 |
show the interrupts statistics (if available) |
|
50 |
@item info pic |
|
51 |
show i8259 (PIC) state |
|
52 |
@item info pci |
|
53 |
show emulated PCI device info |
|
54 |
@item info tlb |
|
55 |
show virtual to physical memory mappings (i386 only) |
|
56 |
@item info mem |
|
57 |
show the active virtual memory mappings (i386 only) |
|
58 |
@item info hpet |
|
59 |
show state of HPET (i386 only) |
|
60 |
@item info kqemu |
|
61 |
show KQEMU information |
|
62 |
@item info kvm |
|
63 |
show KVM information |
|
64 |
@item info usb |
|
65 |
show USB devices plugged on the virtual USB hub |
|
66 |
@item info usbhost |
|
67 |
show all USB host devices |
|
68 |
@item info profile |
|
69 |
show profiling information |
|
70 |
@item info capture |
|
71 |
show information about active capturing |
|
72 |
@item info snapshots |
|
73 |
show list of VM snapshots |
|
74 |
@item info status |
|
75 |
show the current VM status (running|paused) |
|
76 |
@item info pcmcia |
|
77 |
show guest PCMCIA status |
|
78 |
@item info mice |
|
79 |
show which guest mouse is receiving events |
|
80 |
@item info vnc |
|
81 |
show the vnc server status |
|
82 |
@item info name |
|
83 |
show the current VM name |
|
84 |
@item info uuid |
|
85 |
show the current VM UUID |
|
86 |
@item info cpustats |
|
87 |
show CPU statistics |
|
88 |
@item info slirp |
|
89 |
show SLIRP statistics (if available) |
|
90 |
@item info migrate |
|
91 |
show migration status |
|
92 |
@item info balloon |
|
93 |
show balloon information |
|
94 |
@item info qtree |
|
95 |
show device tree |
|
96 |
@end table |
|
97 |
ETEXI |
|
98 |
|
|
99 |
{ "q|quit", "", do_quit, |
|
100 |
"", "quit the emulator" }, |
|
101 |
STEXI |
|
102 |
@item q or quit |
|
103 |
Quit the emulator. |
|
104 |
ETEXI |
|
105 |
|
|
106 |
{ "eject", "-fB", do_eject, |
|
107 |
"[-f] device", "eject a removable medium (use -f to force it)" }, |
|
108 |
STEXI |
|
109 |
@item eject [-f] @var{device} |
|
110 |
Eject a removable medium (use -f to force it). |
|
111 |
ETEXI |
|
112 |
|
|
113 |
{ "change", "BFs?", do_change, |
|
114 |
"device filename [format]", "change a removable medium, optional format" }, |
|
115 |
STEXI |
|
116 |
@item change @var{device} @var{setting} |
|
117 |
|
|
118 |
Change the configuration of a device. |
|
119 |
|
|
120 |
@table @option |
|
121 |
@item change @var{diskdevice} @var{filename} [@var{format}] |
|
122 |
Change the medium for a removable disk device to point to @var{filename}. eg |
|
123 |
|
|
124 |
@example |
|
125 |
(qemu) change ide1-cd0 /path/to/some.iso |
|
126 |
@end example |
|
127 |
|
|
128 |
@var{format} is optional. |
|
129 |
|
|
130 |
@item change vnc @var{display},@var{options} |
|
131 |
Change the configuration of the VNC server. The valid syntax for @var{display} |
|
132 |
and @var{options} are described at @ref{sec_invocation}. eg |
|
133 |
|
|
134 |
@example |
|
135 |
(qemu) change vnc localhost:1 |
|
136 |
@end example |
|
137 |
|
|
138 |
@item change vnc password [@var{password}] |
|
139 |
|
|
140 |
Change the password associated with the VNC server. If the new password is not |
|
141 |
supplied, the monitor will prompt for it to be entered. VNC passwords are only |
|
142 |
significant up to 8 letters. eg |
|
143 |
|
|
144 |
@example |
|
145 |
(qemu) change vnc password |
|
146 |
Password: ******** |
|
147 |
@end example |
|
148 |
|
|
149 |
@end table |
|
150 |
ETEXI |
|
151 |
|
|
152 |
{ "screendump", "F", do_screen_dump, |
|
153 |
"filename", "save screen into PPM image 'filename'" }, |
|
154 |
STEXI |
|
155 |
@item screendump @var{filename} |
|
156 |
Save screen into PPM image @var{filename}. |
|
157 |
ETEXI |
|
158 |
|
|
159 |
{ "logfile", "F", do_logfile, |
|
160 |
"filename", "output logs to 'filename'" }, |
|
161 |
STEXI |
|
162 |
@item logfile @var{filename} |
|
163 |
Output logs to @var{filename}. |
|
164 |
ETEXI |
|
165 |
|
|
166 |
{ "log", "s", do_log, |
|
167 |
"item1[,...]", "activate logging of the specified items to '/tmp/qemu.log'" }, |
|
168 |
STEXI |
|
169 |
@item log @var{item1}[,...] |
|
170 |
Activate logging of the specified items to @file{/tmp/qemu.log}. |
|
171 |
ETEXI |
|
172 |
|
|
173 |
{ "savevm", "s?", do_savevm, |
|
174 |
"[tag|id]", "save a VM snapshot. If no tag or id are provided, a new snapshot is created" }, |
|
175 |
STEXI |
|
176 |
@item savevm [@var{tag}|@var{id}] |
|
177 |
Create a snapshot of the whole virtual machine. If @var{tag} is |
|
178 |
provided, it is used as human readable identifier. If there is already |
|
179 |
a snapshot with the same tag or ID, it is replaced. More info at |
|
180 |
@ref{vm_snapshots}. |
|
181 |
ETEXI |
|
182 |
|
|
183 |
{ "loadvm", "s", do_loadvm, |
|
184 |
"tag|id", "restore a VM snapshot from its tag or id" }, |
|
185 |
STEXI |
|
186 |
@item loadvm @var{tag}|@var{id} |
|
187 |
Set the whole virtual machine to the snapshot identified by the tag |
|
188 |
@var{tag} or the unique snapshot ID @var{id}. |
|
189 |
ETEXI |
|
190 |
|
|
191 |
{ "delvm", "s", do_delvm, |
|
192 |
"tag|id", "delete a VM snapshot from its tag or id" }, |
|
193 |
STEXI |
|
194 |
@item delvm @var{tag}|@var{id} |
|
195 |
Delete the snapshot identified by @var{tag} or @var{id}. |
|
196 |
ETEXI |
|
197 |
|
|
198 |
{ "singlestep", "s?", do_singlestep, |
|
199 |
"[on|off]", "run emulation in singlestep mode or switch to normal mode", }, |
|
200 |
STEXI |
|
201 |
@item singlestep [off] |
|
202 |
Run the emulation in single step mode. |
|
203 |
If called with option off, the emulation returns to normal mode. |
|
204 |
ETEXI |
|
205 |
|
|
206 |
{ "stop", "", do_stop, |
|
207 |
"", "stop emulation", }, |
|
208 |
STEXI |
|
209 |
@item stop |
|
210 |
Stop emulation. |
|
211 |
ETEXI |
|
212 |
|
|
213 |
{ "c|cont", "", do_cont, |
|
214 |
"", "resume emulation", }, |
|
215 |
STEXI |
|
216 |
@item c or cont |
|
217 |
Resume emulation. |
|
218 |
ETEXI |
|
219 |
|
|
220 |
{ "gdbserver", "s?", do_gdbserver, |
|
221 |
"[device]", "start gdbserver on given device (default 'tcp::1234'), stop with 'none'", }, |
|
222 |
STEXI |
|
223 |
@item gdbserver [@var{port}] |
|
224 |
Start gdbserver session (default @var{port}=1234) |
|
225 |
ETEXI |
|
226 |
|
|
227 |
{ "x", "/l", do_memory_dump, |
|
228 |
"/fmt addr", "virtual memory dump starting at 'addr'", }, |
|
229 |
STEXI |
|
230 |
@item x/fmt @var{addr} |
|
231 |
Virtual memory dump starting at @var{addr}. |
|
232 |
ETEXI |
|
233 |
|
|
234 |
{ "xp", "/l", do_physical_memory_dump, |
|
235 |
"/fmt addr", "physical memory dump starting at 'addr'", }, |
|
236 |
STEXI |
|
237 |
@item xp /@var{fmt} @var{addr} |
|
238 |
Physical memory dump starting at @var{addr}. |
|
239 |
|
|
240 |
@var{fmt} is a format which tells the command how to format the |
|
241 |
data. Its syntax is: @option{/@{count@}@{format@}@{size@}} |
|
242 |
|
|
243 |
@table @var |
|
244 |
@item count |
|
245 |
is the number of items to be dumped. |
|
246 |
|
|
247 |
@item format |
|
248 |
can be x (hex), d (signed decimal), u (unsigned decimal), o (octal), |
|
249 |
c (char) or i (asm instruction). |
|
250 |
|
|
251 |
@item size |
|
252 |
can be b (8 bits), h (16 bits), w (32 bits) or g (64 bits). On x86, |
|
253 |
@code{h} or @code{w} can be specified with the @code{i} format to |
|
254 |
respectively select 16 or 32 bit code instruction size. |
|
255 |
|
|
256 |
@end table |
|
257 |
|
|
258 |
Examples: |
|
259 |
@itemize |
|
260 |
@item |
|
261 |
Dump 10 instructions at the current instruction pointer: |
|
262 |
@example |
|
263 |
(qemu) x/10i $eip |
|
264 |
0x90107063: ret |
|
265 |
0x90107064: sti |
|
266 |
0x90107065: lea 0x0(%esi,1),%esi |
|
267 |
0x90107069: lea 0x0(%edi,1),%edi |
|
268 |
0x90107070: ret |
|
269 |
0x90107071: jmp 0x90107080 |
|
270 |
0x90107073: nop |
|
271 |
0x90107074: nop |
|
272 |
0x90107075: nop |
|
273 |
0x90107076: nop |
|
274 |
@end example |
|
275 |
|
|
276 |
@item |
|
277 |
Dump 80 16 bit values at the start of the video memory. |
|
278 |
@smallexample |
|
279 |
(qemu) xp/80hx 0xb8000 |
|
280 |
0x000b8000: 0x0b50 0x0b6c 0x0b65 0x0b78 0x0b38 0x0b36 0x0b2f 0x0b42 |
|
281 |
0x000b8010: 0x0b6f 0x0b63 0x0b68 0x0b73 0x0b20 0x0b56 0x0b47 0x0b41 |
|
282 |
0x000b8020: 0x0b42 0x0b69 0x0b6f 0x0b73 0x0b20 0x0b63 0x0b75 0x0b72 |
|
283 |
0x000b8030: 0x0b72 0x0b65 0x0b6e 0x0b74 0x0b2d 0x0b63 0x0b76 0x0b73 |
|
284 |
0x000b8040: 0x0b20 0x0b30 0x0b35 0x0b20 0x0b4e 0x0b6f 0x0b76 0x0b20 |
|
285 |
0x000b8050: 0x0b32 0x0b30 0x0b30 0x0b33 0x0720 0x0720 0x0720 0x0720 |
|
286 |
0x000b8060: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 |
|
287 |
0x000b8070: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 |
|
288 |
0x000b8080: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 |
|
289 |
0x000b8090: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 |
|
290 |
@end smallexample |
|
291 |
@end itemize |
|
292 |
ETEXI |
|
293 |
|
|
294 |
{ "p|print", "/l", do_print, |
|
295 |
"/fmt expr", "print expression value (use $reg for CPU register access)", }, |
|
296 |
STEXI |
|
297 |
@item p or print/@var{fmt} @var{expr} |
|
298 |
|
|
299 |
Print expression value. Only the @var{format} part of @var{fmt} is |
|
300 |
used. |
|
301 |
ETEXI |
|
302 |
|
|
303 |
{ "i", "/ii.", do_ioport_read, |
|
304 |
"/fmt addr", "I/O port read" }, |
|
305 |
STEXI |
|
306 |
Read I/O port. |
|
307 |
ETEXI |
|
308 |
|
|
309 |
|
|
310 |
{ "sendkey", "si?", do_sendkey, |
|
311 |
"keys [hold_ms]", "send keys to the VM (e.g. 'sendkey ctrl-alt-f1', default hold time=100 ms)" }, |
|
312 |
STEXI |
|
313 |
@item sendkey @var{keys} |
|
314 |
|
|
315 |
Send @var{keys} to the emulator. @var{keys} could be the name of the |
|
316 |
key or @code{#} followed by the raw value in either decimal or hexadecimal |
|
317 |
format. Use @code{-} to press several keys simultaneously. Example: |
|
318 |
@example |
|
319 |
sendkey ctrl-alt-f1 |
|
320 |
@end example |
|
321 |
|
|
322 |
This command is useful to send keys that your graphical user interface |
|
323 |
intercepts at low level, such as @code{ctrl-alt-f1} in X Window. |
|
324 |
ETEXI |
|
325 |
|
|
326 |
{ "system_reset", "", do_system_reset, |
|
327 |
"", "reset the system" }, |
|
328 |
STEXI |
|
329 |
@item system_reset |
|
330 |
|
|
331 |
Reset the system. |
|
332 |
ETEXI |
|
333 |
|
|
334 |
{ "system_powerdown", "", do_system_powerdown, |
|
335 |
"", "send system power down event" }, |
|
336 |
STEXI |
|
337 |
@item system_powerdown |
|
338 |
|
|
339 |
Power down the system (if supported). |
|
340 |
ETEXI |
|
341 |
|
|
342 |
{ "sum", "ii", do_sum, |
|
343 |
"addr size", "compute the checksum of a memory region" }, |
|
344 |
STEXI |
|
345 |
@item sum @var{addr} @var{size} |
|
346 |
|
|
347 |
Compute the checksum of a memory region. |
|
348 |
ETEXI |
|
349 |
|
|
350 |
{ "usb_add", "s", do_usb_add, |
|
351 |
"device", "add USB device (e.g. 'host:bus.addr' or 'host:vendor_id:product_id')" }, |
|
352 |
STEXI |
|
353 |
@item usb_add @var{devname} |
|
354 |
|
|
355 |
Add the USB device @var{devname}. For details of available devices see |
|
356 |
@ref{usb_devices} |
|
357 |
ETEXI |
|
358 |
|
|
359 |
{ "usb_del", "s", do_usb_del, |
|
360 |
"device", "remove USB device 'bus.addr'" }, |
|
361 |
STEXI |
|
362 |
@item usb_del @var{devname} |
|
363 |
|
|
364 |
Remove the USB device @var{devname} from the QEMU virtual USB |
|
365 |
hub. @var{devname} has the syntax @code{bus.addr}. Use the monitor |
|
366 |
command @code{info usb} to see the devices you can remove. |
|
367 |
ETEXI |
|
368 |
|
|
369 |
{ "cpu", "i", do_cpu_set, |
|
370 |
"index", "set the default CPU" }, |
|
371 |
STEXI |
|
372 |
Set the default CPU. |
|
373 |
ETEXI |
|
374 |
|
|
375 |
{ "mouse_move", "sss?", do_mouse_move, |
|
376 |
"dx dy [dz]", "send mouse move events" }, |
|
377 |
STEXI |
|
378 |
@item mouse_move @var{dx} @var{dy} [@var{dz}] |
|
379 |
Move the active mouse to the specified coordinates @var{dx} @var{dy} |
|
380 |
with optional scroll axis @var{dz}. |
|
381 |
ETEXI |
|
382 |
|
|
383 |
{ "mouse_button", "i", do_mouse_button, |
|
384 |
"state", "change mouse button state (1=L, 2=M, 4=R)" }, |
|
385 |
STEXI |
|
386 |
@item mouse_button @var{val} |
|
387 |
Change the active mouse button state @var{val} (1=L, 2=M, 4=R). |
|
388 |
ETEXI |
|
389 |
|
|
390 |
{ "mouse_set", "i", do_mouse_set, |
|
391 |
"index", "set which mouse device receives events" }, |
|
392 |
STEXI |
|
393 |
@item mouse_set @var{index} |
|
394 |
Set which mouse device receives events at given @var{index}, index |
|
395 |
can be obtained with |
|
396 |
@example |
|
397 |
info mice |
|
398 |
@end example |
|
399 |
ETEXI |
|
400 |
|
|
401 |
#ifdef HAS_AUDIO |
|
402 |
{ "wavcapture", "si?i?i?", do_wav_capture, |
|
403 |
"path [frequency [bits [channels]]]", |
|
404 |
"capture audio to a wave file (default frequency=44100 bits=16 channels=2)" }, |
|
405 |
#endif |
|
406 |
STEXI |
|
407 |
@item wavcapture @var{filename} [@var{frequency} [@var{bits} [@var{channels}]]] |
|
408 |
Capture audio into @var{filename}. Using sample rate @var{frequency} |
|
409 |
bits per sample @var{bits} and number of channels @var{channels}. |
|
410 |
|
|
411 |
Defaults: |
|
412 |
@itemize @minus |
|
413 |
@item Sample rate = 44100 Hz - CD quality |
|
414 |
@item Bits = 16 |
|
415 |
@item Number of channels = 2 - Stereo |
|
416 |
@end itemize |
|
417 |
ETEXI |
|
418 |
|
|
419 |
#ifdef HAS_AUDIO |
|
420 |
{ "stopcapture", "i", do_stop_capture, |
|
421 |
"capture index", "stop capture" }, |
|
422 |
#endif |
|
423 |
STEXI |
|
424 |
@item stopcapture @var{index} |
|
425 |
Stop capture with a given @var{index}, index can be obtained with |
|
426 |
@example |
|
427 |
info capture |
|
428 |
@end example |
|
429 |
ETEXI |
|
430 |
|
|
431 |
{ "memsave", "lis", do_memory_save, |
|
432 |
"addr size file", "save to disk virtual memory dump starting at 'addr' of size 'size'", }, |
|
433 |
STEXI |
|
434 |
@item memsave @var{addr} @var{size} @var{file} |
|
435 |
save to disk virtual memory dump starting at @var{addr} of size @var{size}. |
|
436 |
ETEXI |
|
437 |
|
|
438 |
{ "pmemsave", "lis", do_physical_memory_save, |
|
439 |
"addr size file", "save to disk physical memory dump starting at 'addr' of size 'size'", }, |
|
440 |
STEXI |
|
441 |
@item pmemsave @var{addr} @var{size} @var{file} |
|
442 |
save to disk physical memory dump starting at @var{addr} of size @var{size}. |
|
443 |
ETEXI |
|
444 |
|
|
445 |
{ "boot_set", "s", do_boot_set, |
|
446 |
"bootdevice", "define new values for the boot device list" }, |
|
447 |
STEXI |
|
448 |
@item boot_set @var{bootdevicelist} |
|
449 |
|
|
450 |
Define new values for the boot device list. Those values will override |
|
451 |
the values specified on the command line through the @code{-boot} option. |
|
452 |
|
|
453 |
The values that can be specified here depend on the machine type, but are |
|
454 |
the same that can be specified in the @code{-boot} command line option. |
|
455 |
ETEXI |
|
456 |
|
|
457 |
#if defined(TARGET_I386) |
|
458 |
{ "nmi", "i", do_inject_nmi, |
|
459 |
"cpu", "inject an NMI on the given CPU", }, |
|
460 |
#endif |
|
461 |
STEXI |
|
462 |
@item nmi @var{cpu} |
|
463 |
Inject an NMI on the given CPU (x86 only). |
|
464 |
ETEXI |
|
465 |
|
|
466 |
{ "migrate", "-ds", do_migrate, |
|
467 |
"[-d] uri", "migrate to URI (using -d to not wait for completion)" }, |
|
468 |
STEXI |
|
469 |
@item migrate [-d] @var{uri} |
|
470 |
Migrate to @var{uri} (using -d to not wait for completion). |
|
471 |
ETEXI |
|
472 |
|
|
473 |
{ "migrate_cancel", "", do_migrate_cancel, |
|
474 |
"", "cancel the current VM migration" }, |
|
475 |
STEXI |
|
476 |
@item migrate_cancel |
|
477 |
Cancel the current VM migration. |
|
478 |
ETEXI |
|
479 |
|
|
480 |
{ "migrate_set_speed", "s", do_migrate_set_speed, |
|
481 |
"value", "set maximum speed (in bytes) for migrations" }, |
|
482 |
STEXI |
|
483 |
@item migrate_set_speed @var{value} |
|
484 |
Set maximum speed to @var{value} (in bytes) for migrations. |
|
485 |
ETEXI |
|
486 |
|
|
487 |
#if defined(TARGET_I386) |
|
488 |
{ "drive_add", "ss", drive_hot_add, "pci_addr=[[<domain>:]<bus>:]<slot>\n" |
|
489 |
"[file=file][,if=type][,bus=n]\n" |
|
490 |
"[,unit=m][,media=d][index=i]\n" |
|
491 |
"[,cyls=c,heads=h,secs=s[,trans=t]]\n" |
|
492 |
"[snapshot=on|off][,cache=on|off]", |
|
493 |
"add drive to PCI storage controller" }, |
|
494 |
#endif |
|
495 |
STEXI |
|
496 |
@item drive_add |
|
497 |
Add drive to PCI storage controller. |
|
498 |
ETEXI |
|
499 |
|
|
500 |
#if defined(TARGET_I386) |
|
501 |
{ "pci_add", "sss", pci_device_hot_add, "pci_addr=auto|[[<domain>:]<bus>:]<slot> nic|storage [[vlan=n][,macaddr=addr][,model=type]] [file=file][,if=type][,bus=nr]...", "hot-add PCI device" }, |
|
502 |
#endif |
|
503 |
STEXI |
|
504 |
@item pci_add |
|
505 |
Hot-add PCI device. |
|
506 |
ETEXI |
|
507 |
|
|
508 |
#if defined(TARGET_I386) |
|
509 |
{ "pci_del", "s", pci_device_hot_remove, "pci_addr=[[<domain>:]<bus>:]<slot>", "hot remove PCI device" }, |
|
510 |
#endif |
|
511 |
STEXI |
|
512 |
@item pci_del |
|
513 |
Hot remove PCI device. |
|
514 |
ETEXI |
|
515 |
|
|
516 |
{ "host_net_add", "ss?", net_host_device_add, |
|
517 |
"tap|user|socket|vde|dump [options]", "add host VLAN client" }, |
|
518 |
STEXI |
|
519 |
@item host_net_add |
|
520 |
Add host VLAN client. |
|
521 |
ETEXI |
|
522 |
|
|
523 |
{ "host_net_remove", "is", net_host_device_remove, |
|
524 |
"vlan_id name", "remove host VLAN client" }, |
|
525 |
STEXI |
|
526 |
@item host_net_remove |
|
527 |
Remove host VLAN client. |
|
528 |
ETEXI |
|
529 |
|
|
530 |
#ifdef CONFIG_SLIRP |
|
531 |
{ "host_net_redir", "ss?", net_slirp_redir, |
|
532 |
"[tcp|udp]:host-port:[guest-host]:guest-port", "redirect TCP or UDP connections from host to guest (requires -net user)\n" |
|
533 |
"host_net_redir remove [tcp:|udp:]host-port -- remove redirection\n" |
|
534 |
"host_net_redir list -- show all redirections" }, |
|
535 |
#endif |
|
536 |
STEXI |
|
537 |
@item host_net_redir |
|
538 |
Redirect TCP or UDP connections from host to guest (requires -net user). |
|
539 |
ETEXI |
|
540 |
|
|
541 |
{ "balloon", "i", do_balloon, |
|
542 |
"target", "request VM to change it's memory allocation (in MB)" }, |
|
543 |
STEXI |
|
544 |
@item balloon @var{value} |
|
545 |
Request VM to change its memory allocation to @var{value} (in MB). |
|
546 |
ETEXI |
|
547 |
|
|
548 |
{ "set_link", "ss", do_set_link, |
|
549 |
"name up|down", "change the link status of a network adapter" }, |
|
550 |
STEXI |
|
551 |
@item set_link @var{name} [up|down] |
|
552 |
Set link @var{name} up or down. |
|
553 |
ETEXI |
|
554 |
|
|
555 |
{ "watchdog_action", "s", do_watchdog_action, |
|
556 |
"[reset|shutdown|poweroff|pause|debug|none]", "change watchdog action" }, |
|
557 |
STEXI |
|
558 |
@item watchdog_action |
|
559 |
Change watchdog action. |
|
560 |
ETEXI |
|
561 |
|
|
562 |
{ "acl", "sss?i?", do_acl, "<command> <aclname> [<match> [<index>]]\n", |
|
563 |
"acl show vnc.username\n" |
|
564 |
"acl policy vnc.username deny\n" |
|
565 |
"acl allow vnc.username fred\n" |
|
566 |
"acl deny vnc.username bob\n" |
|
567 |
"acl reset vnc.username\n" }, |
|
568 |
STEXI |
|
569 |
@item acl @var{subcommand} @var{aclname} @var{match} @var{index} |
|
570 |
|
|
571 |
Manage access control lists for network services. There are currently |
|
572 |
two named access control lists, @var{vnc.x509dname} and @var{vnc.username} |
|
573 |
matching on the x509 client certificate distinguished name, and SASL |
|
574 |
username respectively. |
|
575 |
|
|
576 |
@table @option |
|
577 |
@item acl show <aclname> |
|
578 |
list all the match rules in the access control list, and the default |
|
579 |
policy |
|
580 |
@item acl policy <aclname> @code{allow|deny} |
|
581 |
set the default access control list policy, used in the event that |
|
582 |
none of the explicit rules match. The default policy at startup is |
|
583 |
always @code{deny} |
|
584 |
@item acl allow <aclname> <match> [<index>] |
|
585 |
add a match to the access control list, allowing access. The match will |
|
586 |
normally be an exact username or x509 distinguished name, but can |
|
587 |
optionally include wildcard globs. eg @code{*@@EXAMPLE.COM} to allow |
|
588 |
all users in the @code{EXAMPLE.COM} kerberos realm. The match will |
|
589 |
normally be appended to the end of the ACL, but can be inserted |
|
590 |
earlier in the list if the optional @code{index} parameter is supplied. |
|
591 |
@item acl deny <aclname> <match> [<index>] |
|
592 |
add a match to the access control list, denying access. The match will |
|
593 |
normally be an exact username or x509 distinguished name, but can |
|
594 |
optionally include wildcard globs. eg @code{*@@EXAMPLE.COM} to allow |
|
595 |
all users in the @code{EXAMPLE.COM} kerberos realm. The match will |
|
596 |
normally be appended to the end of the ACL, but can be inserted |
|
597 |
earlier in the list if the optional @code{index} parameter is supplied. |
|
598 |
@item acl remove <aclname> <match> |
|
599 |
remove the specified match rule from the access control list. |
|
600 |
@item acl reset <aclname> |
|
601 |
remove all matches from the access control list, and set the default |
|
602 |
policy back to @code{deny}. |
|
603 |
@end table |
|
604 |
ETEXI |
|
605 |
|
|
606 |
STEXI |
|
607 |
@end table |
|
608 |
ETEXI |
Also available in: Unified diff