xref: /qemu/hmp-commands.hx (revision f114784f69ec3b9af342148025de14dbd1b429a5)
12313086aSBlue SwirlHXCOMM Use DEFHEADING() to define headings in both help text and texi
22313086aSBlue SwirlHXCOMM Text between STEXI and ETEXI are copied to texi version and
32313086aSBlue SwirlHXCOMM discarded from C version
42313086aSBlue SwirlHXCOMM DEF(command, args, callback, arg_string, help) is used to construct
52313086aSBlue SwirlHXCOMM monitor commands
62313086aSBlue SwirlHXCOMM HXCOMM can be used for comments, discarded from both texi and C
72313086aSBlue Swirl
82313086aSBlue SwirlSTEXI
92313086aSBlue Swirl@table @option
102313086aSBlue SwirlETEXI
112313086aSBlue Swirl
122313086aSBlue Swirl    { "help|?", "s?", help_cmd, "[cmd]", "show the help" },
132313086aSBlue SwirlSTEXI
142313086aSBlue Swirl@item help or ? [@var{cmd}]
152313086aSBlue SwirlShow the help for all commands or just for command @var{cmd}.
162313086aSBlue SwirlETEXI
172313086aSBlue Swirl
182313086aSBlue Swirl    { "commit", "s", do_commit,
192313086aSBlue Swirl      "device|all", "commit changes to the disk images (if -snapshot is used) or backing files" },
202313086aSBlue SwirlSTEXI
212313086aSBlue Swirl@item commit
222313086aSBlue SwirlCommit changes to the disk images (if -snapshot is used) or backing files.
232313086aSBlue SwirlETEXI
242313086aSBlue Swirl
252313086aSBlue Swirl    { "info", "s?", do_info,
262313086aSBlue Swirl      "[subcommand]", "show various information about the system state" },
272313086aSBlue SwirlSTEXI
282313086aSBlue Swirl@item info @var{subcommand}
292313086aSBlue SwirlShow various information about the system state.
302313086aSBlue Swirl
312313086aSBlue Swirl@table @option
322313086aSBlue Swirl@item info version
332313086aSBlue Swirlshow the version of QEMU
342313086aSBlue Swirl@item info network
352313086aSBlue Swirlshow the various VLANs and the associated devices
362313086aSBlue Swirl@item info chardev
372313086aSBlue Swirlshow the character devices
382313086aSBlue Swirl@item info block
392313086aSBlue Swirlshow the block devices
402313086aSBlue Swirl@item info block
412313086aSBlue Swirlshow block device statistics
422313086aSBlue Swirl@item info registers
432313086aSBlue Swirlshow the cpu registers
442313086aSBlue Swirl@item info cpus
452313086aSBlue Swirlshow infos for each CPU
462313086aSBlue Swirl@item info history
472313086aSBlue Swirlshow the command line history
482313086aSBlue Swirl@item info irq
492313086aSBlue Swirlshow the interrupts statistics (if available)
502313086aSBlue Swirl@item info pic
512313086aSBlue Swirlshow i8259 (PIC) state
522313086aSBlue Swirl@item info pci
532313086aSBlue Swirlshow emulated PCI device info
542313086aSBlue Swirl@item info tlb
552313086aSBlue Swirlshow virtual to physical memory mappings (i386 only)
562313086aSBlue Swirl@item info mem
572313086aSBlue Swirlshow the active virtual memory mappings (i386 only)
582313086aSBlue Swirl@item info hpet
592313086aSBlue Swirlshow state of HPET (i386 only)
602313086aSBlue Swirl@item info kqemu
612313086aSBlue Swirlshow KQEMU information
622313086aSBlue Swirl@item info kvm
632313086aSBlue Swirlshow KVM information
642313086aSBlue Swirl@item info usb
652313086aSBlue Swirlshow USB devices plugged on the virtual USB hub
662313086aSBlue Swirl@item info usbhost
672313086aSBlue Swirlshow all USB host devices
682313086aSBlue Swirl@item info profile
692313086aSBlue Swirlshow profiling information
702313086aSBlue Swirl@item info capture
712313086aSBlue Swirlshow information about active capturing
722313086aSBlue Swirl@item info snapshots
732313086aSBlue Swirlshow list of VM snapshots
742313086aSBlue Swirl@item info status
752313086aSBlue Swirlshow the current VM status (running|paused)
762313086aSBlue Swirl@item info pcmcia
772313086aSBlue Swirlshow guest PCMCIA status
782313086aSBlue Swirl@item info mice
792313086aSBlue Swirlshow which guest mouse is receiving events
802313086aSBlue Swirl@item info vnc
812313086aSBlue Swirlshow the vnc server status
822313086aSBlue Swirl@item info name
832313086aSBlue Swirlshow the current VM name
842313086aSBlue Swirl@item info uuid
852313086aSBlue Swirlshow the current VM UUID
862313086aSBlue Swirl@item info cpustats
872313086aSBlue Swirlshow CPU statistics
886dbe553fSJan Kiszka@item info usernet
896dbe553fSJan Kiszkashow user network stack connection states
902313086aSBlue Swirl@item info migrate
912313086aSBlue Swirlshow migration status
922313086aSBlue Swirl@item info balloon
932313086aSBlue Swirlshow balloon information
942313086aSBlue Swirl@item info qtree
952313086aSBlue Swirlshow device tree
962313086aSBlue Swirl@end table
972313086aSBlue SwirlETEXI
982313086aSBlue Swirl
992313086aSBlue Swirl    { "q|quit", "", do_quit,
1002313086aSBlue Swirl      "", "quit the emulator" },
1012313086aSBlue SwirlSTEXI
1022313086aSBlue Swirl@item q or quit
1032313086aSBlue SwirlQuit the emulator.
1042313086aSBlue SwirlETEXI
1052313086aSBlue Swirl
1062313086aSBlue Swirl    { "eject", "-fB", do_eject,
1072313086aSBlue Swirl      "[-f] device", "eject a removable medium (use -f to force it)" },
1082313086aSBlue SwirlSTEXI
1092313086aSBlue Swirl@item eject [-f] @var{device}
1102313086aSBlue SwirlEject a removable medium (use -f to force it).
1112313086aSBlue SwirlETEXI
1122313086aSBlue Swirl
1132313086aSBlue Swirl    { "change", "BFs?", do_change,
1142313086aSBlue Swirl      "device filename [format]", "change a removable medium, optional format" },
1152313086aSBlue SwirlSTEXI
1162313086aSBlue Swirl@item change @var{device} @var{setting}
1172313086aSBlue Swirl
1182313086aSBlue SwirlChange the configuration of a device.
1192313086aSBlue Swirl
1202313086aSBlue Swirl@table @option
1212313086aSBlue Swirl@item change @var{diskdevice} @var{filename} [@var{format}]
1222313086aSBlue SwirlChange the medium for a removable disk device to point to @var{filename}. eg
1232313086aSBlue Swirl
1242313086aSBlue Swirl@example
1252313086aSBlue Swirl(qemu) change ide1-cd0 /path/to/some.iso
1262313086aSBlue Swirl@end example
1272313086aSBlue Swirl
1282313086aSBlue Swirl@var{format} is optional.
1292313086aSBlue Swirl
1302313086aSBlue Swirl@item change vnc @var{display},@var{options}
1312313086aSBlue SwirlChange the configuration of the VNC server. The valid syntax for @var{display}
1322313086aSBlue Swirland @var{options} are described at @ref{sec_invocation}. eg
1332313086aSBlue Swirl
1342313086aSBlue Swirl@example
1352313086aSBlue Swirl(qemu) change vnc localhost:1
1362313086aSBlue Swirl@end example
1372313086aSBlue Swirl
1382313086aSBlue Swirl@item change vnc password [@var{password}]
1392313086aSBlue Swirl
1402313086aSBlue SwirlChange the password associated with the VNC server. If the new password is not
1412313086aSBlue Swirlsupplied, the monitor will prompt for it to be entered. VNC passwords are only
1422313086aSBlue Swirlsignificant up to 8 letters. eg
1432313086aSBlue Swirl
1442313086aSBlue Swirl@example
1452313086aSBlue Swirl(qemu) change vnc password
1462313086aSBlue SwirlPassword: ********
1472313086aSBlue Swirl@end example
1482313086aSBlue Swirl
1492313086aSBlue Swirl@end table
1502313086aSBlue SwirlETEXI
1512313086aSBlue Swirl
1522313086aSBlue Swirl    { "screendump", "F", do_screen_dump,
1532313086aSBlue Swirl      "filename", "save screen into PPM image 'filename'" },
1542313086aSBlue SwirlSTEXI
1552313086aSBlue Swirl@item screendump @var{filename}
1562313086aSBlue SwirlSave screen into PPM image @var{filename}.
1572313086aSBlue SwirlETEXI
1582313086aSBlue Swirl
1592313086aSBlue Swirl    { "logfile", "F", do_logfile,
1602313086aSBlue Swirl      "filename", "output logs to 'filename'" },
1612313086aSBlue SwirlSTEXI
1622313086aSBlue Swirl@item logfile @var{filename}
1632313086aSBlue SwirlOutput logs to @var{filename}.
1642313086aSBlue SwirlETEXI
1652313086aSBlue Swirl
1662313086aSBlue Swirl    { "log", "s", do_log,
1672313086aSBlue Swirl      "item1[,...]", "activate logging of the specified items to '/tmp/qemu.log'" },
1682313086aSBlue SwirlSTEXI
1692313086aSBlue Swirl@item log @var{item1}[,...]
1702313086aSBlue SwirlActivate logging of the specified items to @file{/tmp/qemu.log}.
1712313086aSBlue SwirlETEXI
1722313086aSBlue Swirl
1732313086aSBlue Swirl    { "savevm", "s?", do_savevm,
1742313086aSBlue Swirl      "[tag|id]", "save a VM snapshot. If no tag or id are provided, a new snapshot is created" },
1752313086aSBlue SwirlSTEXI
1762313086aSBlue Swirl@item savevm [@var{tag}|@var{id}]
1772313086aSBlue SwirlCreate a snapshot of the whole virtual machine. If @var{tag} is
1782313086aSBlue Swirlprovided, it is used as human readable identifier. If there is already
1792313086aSBlue Swirla snapshot with the same tag or ID, it is replaced. More info at
1802313086aSBlue Swirl@ref{vm_snapshots}.
1812313086aSBlue SwirlETEXI
1822313086aSBlue Swirl
1832313086aSBlue Swirl    { "loadvm", "s", do_loadvm,
1842313086aSBlue Swirl      "tag|id", "restore a VM snapshot from its tag or id" },
1852313086aSBlue SwirlSTEXI
1862313086aSBlue Swirl@item loadvm @var{tag}|@var{id}
1872313086aSBlue SwirlSet the whole virtual machine to the snapshot identified by the tag
1882313086aSBlue Swirl@var{tag} or the unique snapshot ID @var{id}.
1892313086aSBlue SwirlETEXI
1902313086aSBlue Swirl
1912313086aSBlue Swirl    { "delvm", "s", do_delvm,
1922313086aSBlue Swirl      "tag|id", "delete a VM snapshot from its tag or id" },
1932313086aSBlue SwirlSTEXI
1942313086aSBlue Swirl@item delvm @var{tag}|@var{id}
1952313086aSBlue SwirlDelete the snapshot identified by @var{tag} or @var{id}.
1962313086aSBlue SwirlETEXI
1972313086aSBlue Swirl
1982313086aSBlue Swirl    { "singlestep", "s?", do_singlestep,
1992313086aSBlue Swirl      "[on|off]", "run emulation in singlestep mode or switch to normal mode", },
2002313086aSBlue SwirlSTEXI
2012313086aSBlue Swirl@item singlestep [off]
2022313086aSBlue SwirlRun the emulation in single step mode.
2032313086aSBlue SwirlIf called with option off, the emulation returns to normal mode.
2042313086aSBlue SwirlETEXI
2052313086aSBlue Swirl
2062313086aSBlue Swirl    { "stop", "", do_stop,
2072313086aSBlue Swirl      "", "stop emulation", },
2082313086aSBlue SwirlSTEXI
2092313086aSBlue Swirl@item stop
2102313086aSBlue SwirlStop emulation.
2112313086aSBlue SwirlETEXI
2122313086aSBlue Swirl
2132313086aSBlue Swirl    { "c|cont", "", do_cont,
2142313086aSBlue Swirl      "", "resume emulation", },
2152313086aSBlue SwirlSTEXI
2162313086aSBlue Swirl@item c or cont
2172313086aSBlue SwirlResume emulation.
2182313086aSBlue SwirlETEXI
2192313086aSBlue Swirl
2202313086aSBlue Swirl    { "gdbserver", "s?", do_gdbserver,
2212313086aSBlue Swirl      "[device]", "start gdbserver on given device (default 'tcp::1234'), stop with 'none'", },
2222313086aSBlue SwirlSTEXI
2232313086aSBlue Swirl@item gdbserver [@var{port}]
2242313086aSBlue SwirlStart gdbserver session (default @var{port}=1234)
2252313086aSBlue SwirlETEXI
2262313086aSBlue Swirl
2272313086aSBlue Swirl    { "x", "/l", do_memory_dump,
2282313086aSBlue Swirl      "/fmt addr", "virtual memory dump starting at 'addr'", },
2292313086aSBlue SwirlSTEXI
2302313086aSBlue Swirl@item x/fmt @var{addr}
2312313086aSBlue SwirlVirtual memory dump starting at @var{addr}.
2322313086aSBlue SwirlETEXI
2332313086aSBlue Swirl
2342313086aSBlue Swirl    { "xp", "/l", do_physical_memory_dump,
2352313086aSBlue Swirl      "/fmt addr", "physical memory dump starting at 'addr'", },
2362313086aSBlue SwirlSTEXI
2372313086aSBlue Swirl@item xp /@var{fmt} @var{addr}
2382313086aSBlue SwirlPhysical memory dump starting at @var{addr}.
2392313086aSBlue Swirl
2402313086aSBlue Swirl@var{fmt} is a format which tells the command how to format the
2412313086aSBlue Swirldata. Its syntax is: @option{/@{count@}@{format@}@{size@}}
2422313086aSBlue Swirl
2432313086aSBlue Swirl@table @var
2442313086aSBlue Swirl@item count
2452313086aSBlue Swirlis the number of items to be dumped.
2462313086aSBlue Swirl
2472313086aSBlue Swirl@item format
2482313086aSBlue Swirlcan be x (hex), d (signed decimal), u (unsigned decimal), o (octal),
2492313086aSBlue Swirlc (char) or i (asm instruction).
2502313086aSBlue Swirl
2512313086aSBlue Swirl@item size
2522313086aSBlue Swirlcan be b (8 bits), h (16 bits), w (32 bits) or g (64 bits). On x86,
2532313086aSBlue Swirl@code{h} or @code{w} can be specified with the @code{i} format to
2542313086aSBlue Swirlrespectively select 16 or 32 bit code instruction size.
2552313086aSBlue Swirl
2562313086aSBlue Swirl@end table
2572313086aSBlue Swirl
2582313086aSBlue SwirlExamples:
2592313086aSBlue Swirl@itemize
2602313086aSBlue Swirl@item
2612313086aSBlue SwirlDump 10 instructions at the current instruction pointer:
2622313086aSBlue Swirl@example
2632313086aSBlue Swirl(qemu) x/10i $eip
2642313086aSBlue Swirl0x90107063:  ret
2652313086aSBlue Swirl0x90107064:  sti
2662313086aSBlue Swirl0x90107065:  lea    0x0(%esi,1),%esi
2672313086aSBlue Swirl0x90107069:  lea    0x0(%edi,1),%edi
2682313086aSBlue Swirl0x90107070:  ret
2692313086aSBlue Swirl0x90107071:  jmp    0x90107080
2702313086aSBlue Swirl0x90107073:  nop
2712313086aSBlue Swirl0x90107074:  nop
2722313086aSBlue Swirl0x90107075:  nop
2732313086aSBlue Swirl0x90107076:  nop
2742313086aSBlue Swirl@end example
2752313086aSBlue Swirl
2762313086aSBlue Swirl@item
2772313086aSBlue SwirlDump 80 16 bit values at the start of the video memory.
2782313086aSBlue Swirl@smallexample
2792313086aSBlue Swirl(qemu) xp/80hx 0xb8000
2802313086aSBlue Swirl0x000b8000: 0x0b50 0x0b6c 0x0b65 0x0b78 0x0b38 0x0b36 0x0b2f 0x0b42
2812313086aSBlue Swirl0x000b8010: 0x0b6f 0x0b63 0x0b68 0x0b73 0x0b20 0x0b56 0x0b47 0x0b41
2822313086aSBlue Swirl0x000b8020: 0x0b42 0x0b69 0x0b6f 0x0b73 0x0b20 0x0b63 0x0b75 0x0b72
2832313086aSBlue Swirl0x000b8030: 0x0b72 0x0b65 0x0b6e 0x0b74 0x0b2d 0x0b63 0x0b76 0x0b73
2842313086aSBlue Swirl0x000b8040: 0x0b20 0x0b30 0x0b35 0x0b20 0x0b4e 0x0b6f 0x0b76 0x0b20
2852313086aSBlue Swirl0x000b8050: 0x0b32 0x0b30 0x0b30 0x0b33 0x0720 0x0720 0x0720 0x0720
2862313086aSBlue Swirl0x000b8060: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
2872313086aSBlue Swirl0x000b8070: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
2882313086aSBlue Swirl0x000b8080: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
2892313086aSBlue Swirl0x000b8090: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
2902313086aSBlue Swirl@end smallexample
2912313086aSBlue Swirl@end itemize
2922313086aSBlue SwirlETEXI
2932313086aSBlue Swirl
2942313086aSBlue Swirl    { "p|print", "/l", do_print,
2952313086aSBlue Swirl      "/fmt expr", "print expression value (use $reg for CPU register access)", },
2962313086aSBlue SwirlSTEXI
2972313086aSBlue Swirl@item p or print/@var{fmt} @var{expr}
2982313086aSBlue Swirl
2992313086aSBlue SwirlPrint expression value. Only the @var{format} part of @var{fmt} is
3002313086aSBlue Swirlused.
3012313086aSBlue SwirlETEXI
3022313086aSBlue Swirl
3032313086aSBlue Swirl    { "i", "/ii.", do_ioport_read,
3042313086aSBlue Swirl      "/fmt addr", "I/O port read" },
3052313086aSBlue SwirlSTEXI
3062313086aSBlue SwirlRead I/O port.
3072313086aSBlue SwirlETEXI
3082313086aSBlue Swirl
309*f114784fSJan Kiszka    { "o", "/ii", do_ioport_write,
310*f114784fSJan Kiszka      "/fmt addr value", "I/O port write" },
311*f114784fSJan KiszkaSTEXI
312*f114784fSJan KiszkaWrite to I/O port.
313*f114784fSJan KiszkaETEXI
3142313086aSBlue Swirl
3152313086aSBlue Swirl    { "sendkey", "si?", do_sendkey,
3162313086aSBlue Swirl      "keys [hold_ms]", "send keys to the VM (e.g. 'sendkey ctrl-alt-f1', default hold time=100 ms)" },
3172313086aSBlue SwirlSTEXI
3182313086aSBlue Swirl@item sendkey @var{keys}
3192313086aSBlue Swirl
3202313086aSBlue SwirlSend @var{keys} to the emulator. @var{keys} could be the name of the
3212313086aSBlue Swirlkey or @code{#} followed by the raw value in either decimal or hexadecimal
3222313086aSBlue Swirlformat. Use @code{-} to press several keys simultaneously. Example:
3232313086aSBlue Swirl@example
3242313086aSBlue Swirlsendkey ctrl-alt-f1
3252313086aSBlue Swirl@end example
3262313086aSBlue Swirl
3272313086aSBlue SwirlThis command is useful to send keys that your graphical user interface
3282313086aSBlue Swirlintercepts at low level, such as @code{ctrl-alt-f1} in X Window.
3292313086aSBlue SwirlETEXI
3302313086aSBlue Swirl
3312313086aSBlue Swirl    { "system_reset", "", do_system_reset,
3322313086aSBlue Swirl      "", "reset the system" },
3332313086aSBlue SwirlSTEXI
3342313086aSBlue Swirl@item system_reset
3352313086aSBlue Swirl
3362313086aSBlue SwirlReset the system.
3372313086aSBlue SwirlETEXI
3382313086aSBlue Swirl
3392313086aSBlue Swirl    { "system_powerdown", "", do_system_powerdown,
3402313086aSBlue Swirl      "", "send system power down event" },
3412313086aSBlue SwirlSTEXI
3422313086aSBlue Swirl@item system_powerdown
3432313086aSBlue Swirl
3442313086aSBlue SwirlPower down the system (if supported).
3452313086aSBlue SwirlETEXI
3462313086aSBlue Swirl
3472313086aSBlue Swirl    { "sum", "ii", do_sum,
3482313086aSBlue Swirl      "addr size", "compute the checksum of a memory region" },
3492313086aSBlue SwirlSTEXI
3502313086aSBlue Swirl@item sum @var{addr} @var{size}
3512313086aSBlue Swirl
3522313086aSBlue SwirlCompute the checksum of a memory region.
3532313086aSBlue SwirlETEXI
3542313086aSBlue Swirl
3552313086aSBlue Swirl    { "usb_add", "s", do_usb_add,
3562313086aSBlue Swirl      "device", "add USB device (e.g. 'host:bus.addr' or 'host:vendor_id:product_id')" },
3572313086aSBlue SwirlSTEXI
3582313086aSBlue Swirl@item usb_add @var{devname}
3592313086aSBlue Swirl
3602313086aSBlue SwirlAdd the USB device @var{devname}.  For details of available devices see
3612313086aSBlue Swirl@ref{usb_devices}
3622313086aSBlue SwirlETEXI
3632313086aSBlue Swirl
3642313086aSBlue Swirl    { "usb_del", "s", do_usb_del,
3652313086aSBlue Swirl      "device", "remove USB device 'bus.addr'" },
3662313086aSBlue SwirlSTEXI
3672313086aSBlue Swirl@item usb_del @var{devname}
3682313086aSBlue Swirl
3692313086aSBlue SwirlRemove the USB device @var{devname} from the QEMU virtual USB
3702313086aSBlue Swirlhub. @var{devname} has the syntax @code{bus.addr}. Use the monitor
3712313086aSBlue Swirlcommand @code{info usb} to see the devices you can remove.
3722313086aSBlue SwirlETEXI
3732313086aSBlue Swirl
3742313086aSBlue Swirl    { "cpu", "i", do_cpu_set,
3752313086aSBlue Swirl      "index", "set the default CPU" },
3762313086aSBlue SwirlSTEXI
3772313086aSBlue SwirlSet the default CPU.
3782313086aSBlue SwirlETEXI
3792313086aSBlue Swirl
3802313086aSBlue Swirl    { "mouse_move", "sss?", do_mouse_move,
3812313086aSBlue Swirl      "dx dy [dz]", "send mouse move events" },
3822313086aSBlue SwirlSTEXI
3832313086aSBlue Swirl@item mouse_move @var{dx} @var{dy} [@var{dz}]
3842313086aSBlue SwirlMove the active mouse to the specified coordinates @var{dx} @var{dy}
3852313086aSBlue Swirlwith optional scroll axis @var{dz}.
3862313086aSBlue SwirlETEXI
3872313086aSBlue Swirl
3882313086aSBlue Swirl    { "mouse_button", "i", do_mouse_button,
3892313086aSBlue Swirl      "state", "change mouse button state (1=L, 2=M, 4=R)" },
3902313086aSBlue SwirlSTEXI
3912313086aSBlue Swirl@item mouse_button @var{val}
3922313086aSBlue SwirlChange the active mouse button state @var{val} (1=L, 2=M, 4=R).
3932313086aSBlue SwirlETEXI
3942313086aSBlue Swirl
3952313086aSBlue Swirl    { "mouse_set", "i", do_mouse_set,
3962313086aSBlue Swirl      "index", "set which mouse device receives events" },
3972313086aSBlue SwirlSTEXI
3982313086aSBlue Swirl@item mouse_set @var{index}
3992313086aSBlue SwirlSet which mouse device receives events at given @var{index}, index
4002313086aSBlue Swirlcan be obtained with
4012313086aSBlue Swirl@example
4022313086aSBlue Swirlinfo mice
4032313086aSBlue Swirl@end example
4042313086aSBlue SwirlETEXI
4052313086aSBlue Swirl
4062313086aSBlue Swirl#ifdef HAS_AUDIO
4072313086aSBlue Swirl    { "wavcapture", "si?i?i?", do_wav_capture,
4082313086aSBlue Swirl      "path [frequency [bits [channels]]]",
4092313086aSBlue Swirl      "capture audio to a wave file (default frequency=44100 bits=16 channels=2)" },
4102313086aSBlue Swirl#endif
4112313086aSBlue SwirlSTEXI
4122313086aSBlue Swirl@item wavcapture @var{filename} [@var{frequency} [@var{bits} [@var{channels}]]]
4132313086aSBlue SwirlCapture audio into @var{filename}. Using sample rate @var{frequency}
4142313086aSBlue Swirlbits per sample @var{bits} and number of channels @var{channels}.
4152313086aSBlue Swirl
4162313086aSBlue SwirlDefaults:
4172313086aSBlue Swirl@itemize @minus
4182313086aSBlue Swirl@item Sample rate = 44100 Hz - CD quality
4192313086aSBlue Swirl@item Bits = 16
4202313086aSBlue Swirl@item Number of channels = 2 - Stereo
4212313086aSBlue Swirl@end itemize
4222313086aSBlue SwirlETEXI
4232313086aSBlue Swirl
4242313086aSBlue Swirl#ifdef HAS_AUDIO
4252313086aSBlue Swirl    { "stopcapture", "i", do_stop_capture,
4262313086aSBlue Swirl      "capture index", "stop capture" },
4272313086aSBlue Swirl#endif
4282313086aSBlue SwirlSTEXI
4292313086aSBlue Swirl@item stopcapture @var{index}
4302313086aSBlue SwirlStop capture with a given @var{index}, index can be obtained with
4312313086aSBlue Swirl@example
4322313086aSBlue Swirlinfo capture
4332313086aSBlue Swirl@end example
4342313086aSBlue SwirlETEXI
4352313086aSBlue Swirl
4362313086aSBlue Swirl    { "memsave", "lis", do_memory_save,
4372313086aSBlue Swirl      "addr size file", "save to disk virtual memory dump starting at 'addr' of size 'size'", },
4382313086aSBlue SwirlSTEXI
4392313086aSBlue Swirl@item memsave @var{addr} @var{size} @var{file}
4402313086aSBlue Swirlsave to disk virtual memory dump starting at @var{addr} of size @var{size}.
4412313086aSBlue SwirlETEXI
4422313086aSBlue Swirl
4432313086aSBlue Swirl    { "pmemsave", "lis", do_physical_memory_save,
4442313086aSBlue Swirl      "addr size file", "save to disk physical memory dump starting at 'addr' of size 'size'", },
4452313086aSBlue SwirlSTEXI
4462313086aSBlue Swirl@item pmemsave @var{addr} @var{size} @var{file}
4472313086aSBlue Swirlsave to disk physical memory dump starting at @var{addr} of size @var{size}.
4482313086aSBlue SwirlETEXI
4492313086aSBlue Swirl
4502313086aSBlue Swirl    { "boot_set", "s", do_boot_set,
4512313086aSBlue Swirl      "bootdevice", "define new values for the boot device list" },
4522313086aSBlue SwirlSTEXI
4532313086aSBlue Swirl@item boot_set @var{bootdevicelist}
4542313086aSBlue Swirl
4552313086aSBlue SwirlDefine new values for the boot device list. Those values will override
4562313086aSBlue Swirlthe values specified on the command line through the @code{-boot} option.
4572313086aSBlue Swirl
4582313086aSBlue SwirlThe values that can be specified here depend on the machine type, but are
4592313086aSBlue Swirlthe same that can be specified in the @code{-boot} command line option.
4602313086aSBlue SwirlETEXI
4612313086aSBlue Swirl
4622313086aSBlue Swirl#if defined(TARGET_I386)
4632313086aSBlue Swirl    { "nmi", "i", do_inject_nmi,
4642313086aSBlue Swirl      "cpu", "inject an NMI on the given CPU", },
4652313086aSBlue Swirl#endif
4662313086aSBlue SwirlSTEXI
4672313086aSBlue Swirl@item nmi @var{cpu}
4682313086aSBlue SwirlInject an NMI on the given CPU (x86 only).
4692313086aSBlue SwirlETEXI
4702313086aSBlue Swirl
4712313086aSBlue Swirl    { "migrate", "-ds", do_migrate,
4722313086aSBlue Swirl      "[-d] uri", "migrate to URI (using -d to not wait for completion)" },
4732313086aSBlue SwirlSTEXI
4742313086aSBlue Swirl@item migrate [-d] @var{uri}
4752313086aSBlue SwirlMigrate to @var{uri} (using -d to not wait for completion).
4762313086aSBlue SwirlETEXI
4772313086aSBlue Swirl
4782313086aSBlue Swirl    { "migrate_cancel", "", do_migrate_cancel,
4792313086aSBlue Swirl      "", "cancel the current VM migration" },
4802313086aSBlue SwirlSTEXI
4812313086aSBlue Swirl@item migrate_cancel
4822313086aSBlue SwirlCancel the current VM migration.
4832313086aSBlue SwirlETEXI
4842313086aSBlue Swirl
4852313086aSBlue Swirl    { "migrate_set_speed", "s", do_migrate_set_speed,
4862313086aSBlue Swirl      "value", "set maximum speed (in bytes) for migrations" },
4872313086aSBlue SwirlSTEXI
4882313086aSBlue Swirl@item migrate_set_speed @var{value}
4892313086aSBlue SwirlSet maximum speed to @var{value} (in bytes) for migrations.
4902313086aSBlue SwirlETEXI
4912313086aSBlue Swirl
4922ea42952SGlauber Costa    { "migrate_set_downtime", "s", do_migrate_set_downtime,
4932ea42952SGlauber Costa      "value", "set maximum tolerated downtime (in seconds) for migrations" },
4942ea42952SGlauber Costa
4952ea42952SGlauber CostaSTEXI
4962ea42952SGlauber Costa@item migrate_set_downtime @var{second}
4972ea42952SGlauber CostaSet maximum tolerated downtime (in seconds) for migration.
4982ea42952SGlauber CostaETEXI
4992ea42952SGlauber Costa
5002313086aSBlue Swirl#if defined(TARGET_I386)
501e9283f8bSJan Kiszka    { "drive_add", "ss", drive_hot_add, "[[<domain>:]<bus>:]<slot>\n"
5022313086aSBlue Swirl                                         "[file=file][,if=type][,bus=n]\n"
5032313086aSBlue Swirl                                        "[,unit=m][,media=d][index=i]\n"
5042313086aSBlue Swirl                                        "[,cyls=c,heads=h,secs=s[,trans=t]]\n"
5052313086aSBlue Swirl                                        "[snapshot=on|off][,cache=on|off]",
5062313086aSBlue Swirl                                        "add drive to PCI storage controller" },
5072313086aSBlue Swirl#endif
5082313086aSBlue SwirlSTEXI
5092313086aSBlue Swirl@item drive_add
5102313086aSBlue SwirlAdd drive to PCI storage controller.
5112313086aSBlue SwirlETEXI
5122313086aSBlue Swirl
5132313086aSBlue Swirl#if defined(TARGET_I386)
514a62acdc0SJan Kiszka    { "pci_add", "sss?", 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" },
5152313086aSBlue Swirl#endif
5162313086aSBlue SwirlSTEXI
5172313086aSBlue Swirl@item pci_add
5182313086aSBlue SwirlHot-add PCI device.
5192313086aSBlue SwirlETEXI
5202313086aSBlue Swirl
5212313086aSBlue Swirl#if defined(TARGET_I386)
522e9283f8bSJan Kiszka    { "pci_del", "s", pci_device_hot_remove, "[[<domain>:]<bus>:]<slot>", "hot remove PCI device" },
5232313086aSBlue Swirl#endif
5242313086aSBlue SwirlSTEXI
5252313086aSBlue Swirl@item pci_del
5262313086aSBlue SwirlHot remove PCI device.
5272313086aSBlue SwirlETEXI
5282313086aSBlue Swirl
5292313086aSBlue Swirl    { "host_net_add", "ss?", net_host_device_add,
5302313086aSBlue Swirl      "tap|user|socket|vde|dump [options]", "add host VLAN client" },
5312313086aSBlue SwirlSTEXI
5322313086aSBlue Swirl@item host_net_add
5332313086aSBlue SwirlAdd host VLAN client.
5342313086aSBlue SwirlETEXI
5352313086aSBlue Swirl
5362313086aSBlue Swirl    { "host_net_remove", "is", net_host_device_remove,
5372313086aSBlue Swirl      "vlan_id name", "remove host VLAN client" },
5382313086aSBlue SwirlSTEXI
5392313086aSBlue Swirl@item host_net_remove
5402313086aSBlue SwirlRemove host VLAN client.
5412313086aSBlue SwirlETEXI
5422313086aSBlue Swirl
5432313086aSBlue Swirl#ifdef CONFIG_SLIRP
544f13b572cSJan Kiszka    { "hostfwd_add", "ss?s?", net_slirp_hostfwd_add,
545f13b572cSJan Kiszka      "[vlan_id name] [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport",
546f3546debSJan Kiszka      "redirect TCP or UDP connections from host to guest (requires -net user)" },
547f13b572cSJan Kiszka    { "hostfwd_remove", "ss?s?", net_slirp_hostfwd_remove,
548f13b572cSJan Kiszka      "[vlan_id name] [tcp|udp]:[hostaddr]:hostport",
5493c6a0580SJan Kiszka      "remove host-to-guest TCP or UDP redirection" },
5502313086aSBlue Swirl#endif
5512313086aSBlue SwirlSTEXI
5522313086aSBlue Swirl@item host_net_redir
5532313086aSBlue SwirlRedirect TCP or UDP connections from host to guest (requires -net user).
5542313086aSBlue SwirlETEXI
5552313086aSBlue Swirl
5562313086aSBlue Swirl    { "balloon", "i", do_balloon,
5572313086aSBlue Swirl      "target", "request VM to change it's memory allocation (in MB)" },
5582313086aSBlue SwirlSTEXI
5592313086aSBlue Swirl@item balloon @var{value}
5602313086aSBlue SwirlRequest VM to change its memory allocation to @var{value} (in MB).
5612313086aSBlue SwirlETEXI
5622313086aSBlue Swirl
5632313086aSBlue Swirl    { "set_link", "ss", do_set_link,
5642313086aSBlue Swirl      "name up|down", "change the link status of a network adapter" },
5652313086aSBlue SwirlSTEXI
5662313086aSBlue Swirl@item set_link @var{name} [up|down]
5672313086aSBlue SwirlSet link @var{name} up or down.
5682313086aSBlue SwirlETEXI
5692313086aSBlue Swirl
5702313086aSBlue Swirl    { "watchdog_action", "s", do_watchdog_action,
5712313086aSBlue Swirl      "[reset|shutdown|poweroff|pause|debug|none]", "change watchdog action" },
5722313086aSBlue SwirlSTEXI
5732313086aSBlue Swirl@item watchdog_action
5742313086aSBlue SwirlChange watchdog action.
5752313086aSBlue SwirlETEXI
5762313086aSBlue Swirl
57715dfcd45SJan Kiszka    { "acl_show", "s", do_acl_show, "aclname",
57815dfcd45SJan Kiszka      "list rules in the access control list" },
5792313086aSBlue SwirlSTEXI
58015dfcd45SJan Kiszka@item acl_show @var{aclname}
58115dfcd45SJan KiszkaList all the matching rules in the access control list, and the default
58215dfcd45SJan Kiszkapolicy. There are currently two named access control lists,
58315dfcd45SJan Kiszka@var{vnc.x509dname} and @var{vnc.username} matching on the x509 client
58415dfcd45SJan Kiszkacertificate distinguished name, and SASL username respectively.
58515dfcd45SJan KiszkaETEXI
5862313086aSBlue Swirl
58715dfcd45SJan Kiszka    { "acl_policy", "ss", do_acl_policy, "aclname allow|deny",
58815dfcd45SJan Kiszka      "set default access control list policy" },
58915dfcd45SJan KiszkaSTEXI
590cbbfacc6SJan Kiszka@item acl_policy @var{aclname} @code{allow|deny}
59115dfcd45SJan KiszkaSet the default access control list policy, used in the event that
5922313086aSBlue Swirlnone of the explicit rules match. The default policy at startup is
59315dfcd45SJan Kiszkaalways @code{deny}.
59415dfcd45SJan KiszkaETEXI
59515dfcd45SJan Kiszka
59615dfcd45SJan Kiszka    { "acl_add", "sssi?", do_acl_add, "aclname match allow|deny [index]",
59715dfcd45SJan Kiszka      "add a match rule to the access control list" },
59815dfcd45SJan KiszkaSTEXI
59915dfcd45SJan Kiszka@item acl_allow @var{aclname} @var{match} @code{allow|deny} [@var{index}]
60015dfcd45SJan KiszkaAdd a match rule to the access control list, allowing or denying access.
60115dfcd45SJan KiszkaThe match will normally be an exact username or x509 distinguished name,
60215dfcd45SJan Kiszkabut can optionally include wildcard globs. eg @code{*@@EXAMPLE.COM} to
60315dfcd45SJan Kiszkaallow all users in the @code{EXAMPLE.COM} kerberos realm. The match will
6042313086aSBlue Swirlnormally be appended to the end of the ACL, but can be inserted
60515dfcd45SJan Kiszkaearlier in the list if the optional @var{index} parameter is supplied.
60615dfcd45SJan KiszkaETEXI
60715dfcd45SJan Kiszka
60815dfcd45SJan Kiszka    { "acl_remove", "ss", do_acl_remove, "aclname match",
60915dfcd45SJan Kiszka      "remove a match rule from the access control list" },
61015dfcd45SJan KiszkaSTEXI
61115dfcd45SJan Kiszka@item acl_remove @var{aclname} @var{match}
61215dfcd45SJan KiszkaRemove the specified match rule from the access control list.
61315dfcd45SJan KiszkaETEXI
61415dfcd45SJan Kiszka
61515dfcd45SJan Kiszka    { "acl_reset", "s", do_acl_reset, "aclname",
61615dfcd45SJan Kiszka      "reset the access control list" },
61715dfcd45SJan KiszkaSTEXI
61815dfcd45SJan Kiszka@item acl_remove @var{aclname} @var{match}
61915dfcd45SJan KiszkaRemove all matches from the access control list, and set the default
6202313086aSBlue Swirlpolicy back to @code{deny}.
6212313086aSBlue SwirlETEXI
6222313086aSBlue Swirl
62379c4f6b0SHuang Ying#if defined(TARGET_I386)
62479c4f6b0SHuang Ying    { "mce", "iillll", do_inject_mce, "cpu bank status mcgstatus addr misc", "inject a MCE on the given CPU"},
62579c4f6b0SHuang Ying#endif
62679c4f6b0SHuang YingSTEXI
62779c4f6b0SHuang Ying@item mce @var{cpu} @var{bank} @var{status} @var{mcgstatus} @var{addr} @var{misc}
62879c4f6b0SHuang YingInject an MCE on the given CPU (x86 only).
62979c4f6b0SHuang YingETEXI
63079c4f6b0SHuang Ying
6312313086aSBlue SwirlSTEXI
6322313086aSBlue Swirl@end table
6332313086aSBlue SwirlETEXI
634