Annotation of qemu/qemu-monitor.hx, revision 1.1.1.2

1.1       root        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: 
1.1.1.2 ! root       12:     {
        !            13:         .name       = "help|?",
        !            14:         .args_type  = "name:s?",
        !            15:         .params     = "[cmd]",
        !            16:         .help       = "show the help",
        !            17:         .mhandler.cmd = do_help_cmd,
        !            18:     },
        !            19: 
1.1       root       20: STEXI
                     21: @item help or ? [@var{cmd}]
                     22: Show the help for all commands or just for command @var{cmd}.
                     23: ETEXI
                     24: 
1.1.1.2 ! root       25:     {
        !            26:         .name       = "commit",
        !            27:         .args_type  = "device:B",
        !            28:         .params     = "device|all",
        !            29:         .help       = "commit changes to the disk images (if -snapshot is used) or backing files",
        !            30:         .mhandler.cmd = do_commit,
        !            31:     },
        !            32: 
1.1       root       33: STEXI
                     34: @item commit
                     35: Commit changes to the disk images (if -snapshot is used) or backing files.
                     36: ETEXI
                     37: 
1.1.1.2 ! root       38:     {
        !            39:         .name       = "info",
        !            40:         .args_type  = "item:s?",
        !            41:         .params     = "[subcommand]",
        !            42:         .help       = "show various information about the system state",
        !            43:         .user_print = monitor_user_noop,
        !            44:         .mhandler.cmd_new = do_info,
        !            45:     },
        !            46: 
1.1       root       47: STEXI
                     48: @item info @var{subcommand}
                     49: Show various information about the system state.
                     50: 
                     51: @table @option
                     52: @item info version
                     53: show the version of QEMU
                     54: @item info network
                     55: show the various VLANs and the associated devices
                     56: @item info chardev
                     57: show the character devices
                     58: @item info block
                     59: show the block devices
                     60: @item info block
                     61: show block device statistics
                     62: @item info registers
                     63: show the cpu registers
                     64: @item info cpus
                     65: show infos for each CPU
                     66: @item info history
                     67: show the command line history
                     68: @item info irq
                     69: show the interrupts statistics (if available)
                     70: @item info pic
                     71: show i8259 (PIC) state
                     72: @item info pci
                     73: show emulated PCI device info
                     74: @item info tlb
                     75: show virtual to physical memory mappings (i386 only)
                     76: @item info mem
                     77: show the active virtual memory mappings (i386 only)
                     78: @item info hpet
                     79: show state of HPET (i386 only)
                     80: @item info kvm
                     81: show KVM information
                     82: @item info usb
                     83: show USB devices plugged on the virtual USB hub
                     84: @item info usbhost
                     85: show all USB host devices
                     86: @item info profile
                     87: show profiling information
                     88: @item info capture
                     89: show information about active capturing
                     90: @item info snapshots
                     91: show list of VM snapshots
                     92: @item info status
                     93: show the current VM status (running|paused)
                     94: @item info pcmcia
                     95: show guest PCMCIA status
                     96: @item info mice
                     97: show which guest mouse is receiving events
                     98: @item info vnc
                     99: show the vnc server status
                    100: @item info name
                    101: show the current VM name
                    102: @item info uuid
                    103: show the current VM UUID
                    104: @item info cpustats
                    105: show CPU statistics
                    106: @item info usernet
                    107: show user network stack connection states
                    108: @item info migrate
                    109: show migration status
                    110: @item info balloon
                    111: show balloon information
                    112: @item info qtree
                    113: show device tree
                    114: @end table
                    115: ETEXI
                    116: 
1.1.1.2 ! root      117:     {
        !           118:         .name       = "q|quit",
        !           119:         .args_type  = "",
        !           120:         .params     = "",
        !           121:         .help       = "quit the emulator",
        !           122:         .user_print = monitor_user_noop,
        !           123:         .mhandler.cmd_new = do_quit,
        !           124:     },
        !           125: 
1.1       root      126: STEXI
                    127: @item q or quit
                    128: Quit the emulator.
                    129: ETEXI
                    130: 
1.1.1.2 ! root      131:     {
        !           132:         .name       = "eject",
        !           133:         .args_type  = "force:-f,device:B",
        !           134:         .params     = "[-f] device",
        !           135:         .help       = "eject a removable medium (use -f to force it)",
        !           136:         .user_print = monitor_user_noop,
        !           137:         .mhandler.cmd_new = do_eject,
        !           138:     },
        !           139: 
1.1       root      140: STEXI
                    141: @item eject [-f] @var{device}
                    142: Eject a removable medium (use -f to force it).
                    143: ETEXI
                    144: 
1.1.1.2 ! root      145:     {
        !           146:         .name       = "change",
        !           147:         .args_type  = "device:B,target:F,arg:s?",
        !           148:         .params     = "device filename [format]",
        !           149:         .help       = "change a removable medium, optional format",
        !           150:         .user_print = monitor_user_noop,
        !           151:         .mhandler.cmd_new = do_change,
        !           152:     },
        !           153: 
1.1       root      154: STEXI
                    155: @item change @var{device} @var{setting}
                    156: 
                    157: Change the configuration of a device.
                    158: 
                    159: @table @option
                    160: @item change @var{diskdevice} @var{filename} [@var{format}]
                    161: Change the medium for a removable disk device to point to @var{filename}. eg
                    162: 
                    163: @example
                    164: (qemu) change ide1-cd0 /path/to/some.iso
                    165: @end example
                    166: 
                    167: @var{format} is optional.
                    168: 
                    169: @item change vnc @var{display},@var{options}
                    170: Change the configuration of the VNC server. The valid syntax for @var{display}
                    171: and @var{options} are described at @ref{sec_invocation}. eg
                    172: 
                    173: @example
                    174: (qemu) change vnc localhost:1
                    175: @end example
                    176: 
                    177: @item change vnc password [@var{password}]
                    178: 
                    179: Change the password associated with the VNC server. If the new password is not
                    180: supplied, the monitor will prompt for it to be entered. VNC passwords are only
                    181: significant up to 8 letters. eg
                    182: 
                    183: @example
                    184: (qemu) change vnc password
                    185: Password: ********
                    186: @end example
                    187: 
                    188: @end table
                    189: ETEXI
                    190: 
1.1.1.2 ! root      191:     {
        !           192:         .name       = "screendump",
        !           193:         .args_type  = "filename:F",
        !           194:         .params     = "filename",
        !           195:         .help       = "save screen into PPM image 'filename'",
        !           196:         .mhandler.cmd = do_screen_dump,
        !           197:     },
        !           198: 
1.1       root      199: STEXI
                    200: @item screendump @var{filename}
                    201: Save screen into PPM image @var{filename}.
                    202: ETEXI
                    203: 
1.1.1.2 ! root      204:     {
        !           205:         .name       = "logfile",
        !           206:         .args_type  = "filename:F",
        !           207:         .params     = "filename",
        !           208:         .help       = "output logs to 'filename'",
        !           209:         .mhandler.cmd = do_logfile,
        !           210:     },
        !           211: 
1.1       root      212: STEXI
                    213: @item logfile @var{filename}
                    214: Output logs to @var{filename}.
                    215: ETEXI
                    216: 
1.1.1.2 ! root      217:     {
        !           218:         .name       = "log",
        !           219:         .args_type  = "items:s",
        !           220:         .params     = "item1[,...]",
        !           221:         .help       = "activate logging of the specified items to '/tmp/qemu.log'",
        !           222:         .mhandler.cmd = do_log,
        !           223:     },
        !           224: 
1.1       root      225: STEXI
                    226: @item log @var{item1}[,...]
                    227: Activate logging of the specified items to @file{/tmp/qemu.log}.
                    228: ETEXI
                    229: 
1.1.1.2 ! root      230:     {
        !           231:         .name       = "savevm",
        !           232:         .args_type  = "name:s?",
        !           233:         .params     = "[tag|id]",
        !           234:         .help       = "save a VM snapshot. If no tag or id are provided, a new snapshot is created",
        !           235:         .mhandler.cmd = do_savevm,
        !           236:     },
        !           237: 
1.1       root      238: STEXI
                    239: @item savevm [@var{tag}|@var{id}]
                    240: Create a snapshot of the whole virtual machine. If @var{tag} is
                    241: provided, it is used as human readable identifier. If there is already
                    242: a snapshot with the same tag or ID, it is replaced. More info at
                    243: @ref{vm_snapshots}.
                    244: ETEXI
                    245: 
1.1.1.2 ! root      246:     {
        !           247:         .name       = "loadvm",
        !           248:         .args_type  = "name:s",
        !           249:         .params     = "tag|id",
        !           250:         .help       = "restore a VM snapshot from its tag or id",
        !           251:         .mhandler.cmd = do_loadvm,
        !           252:     },
        !           253: 
1.1       root      254: STEXI
                    255: @item loadvm @var{tag}|@var{id}
                    256: Set the whole virtual machine to the snapshot identified by the tag
                    257: @var{tag} or the unique snapshot ID @var{id}.
                    258: ETEXI
                    259: 
1.1.1.2 ! root      260:     {
        !           261:         .name       = "delvm",
        !           262:         .args_type  = "name:s",
        !           263:         .params     = "tag|id",
        !           264:         .help       = "delete a VM snapshot from its tag or id",
        !           265:         .mhandler.cmd = do_delvm,
        !           266:     },
        !           267: 
1.1       root      268: STEXI
                    269: @item delvm @var{tag}|@var{id}
                    270: Delete the snapshot identified by @var{tag} or @var{id}.
                    271: ETEXI
                    272: 
1.1.1.2 ! root      273:     {
        !           274:         .name       = "singlestep",
        !           275:         .args_type  = "option:s?",
        !           276:         .params     = "[on|off]",
        !           277:         .help       = "run emulation in singlestep mode or switch to normal mode",
        !           278:         .mhandler.cmd = do_singlestep,
        !           279:     },
        !           280: 
1.1       root      281: STEXI
                    282: @item singlestep [off]
                    283: Run the emulation in single step mode.
                    284: If called with option off, the emulation returns to normal mode.
                    285: ETEXI
                    286: 
1.1.1.2 ! root      287:     {
        !           288:         .name       = "stop",
        !           289:         .args_type  = "",
        !           290:         .params     = "",
        !           291:         .help       = "stop emulation",
        !           292:         .user_print = monitor_user_noop,
        !           293:         .mhandler.cmd_new = do_stop,
        !           294:     },
        !           295: 
1.1       root      296: STEXI
                    297: @item stop
                    298: Stop emulation.
                    299: ETEXI
                    300: 
1.1.1.2 ! root      301:     {
        !           302:         .name       = "c|cont",
        !           303:         .args_type  = "",
        !           304:         .params     = "",
        !           305:         .help       = "resume emulation",
        !           306:         .user_print = monitor_user_noop,
        !           307:         .mhandler.cmd_new = do_cont,
        !           308:     },
        !           309: 
1.1       root      310: STEXI
                    311: @item c or cont
                    312: Resume emulation.
                    313: ETEXI
                    314: 
1.1.1.2 ! root      315:     {
        !           316:         .name       = "gdbserver",
        !           317:         .args_type  = "device:s?",
        !           318:         .params     = "[device]",
        !           319:         .help       = "start gdbserver on given device (default 'tcp::1234'), stop with 'none'",
        !           320:         .mhandler.cmd = do_gdbserver,
        !           321:     },
        !           322: 
1.1       root      323: STEXI
                    324: @item gdbserver [@var{port}]
                    325: Start gdbserver session (default @var{port}=1234)
                    326: ETEXI
                    327: 
1.1.1.2 ! root      328:     {
        !           329:         .name       = "x",
        !           330:         .args_type  = "fmt:/,addr:l",
        !           331:         .params     = "/fmt addr",
        !           332:         .help       = "virtual memory dump starting at 'addr'",
        !           333:         .mhandler.cmd = do_memory_dump,
        !           334:     },
        !           335: 
1.1       root      336: STEXI
                    337: @item x/fmt @var{addr}
                    338: Virtual memory dump starting at @var{addr}.
                    339: ETEXI
                    340: 
1.1.1.2 ! root      341:     {
        !           342:         .name       = "xp",
        !           343:         .args_type  = "fmt:/,addr:l",
        !           344:         .params     = "/fmt addr",
        !           345:         .help       = "physical memory dump starting at 'addr'",
        !           346:         .mhandler.cmd = do_physical_memory_dump,
        !           347:     },
        !           348: 
1.1       root      349: STEXI
                    350: @item xp /@var{fmt} @var{addr}
                    351: Physical memory dump starting at @var{addr}.
                    352: 
                    353: @var{fmt} is a format which tells the command how to format the
                    354: data. Its syntax is: @option{/@{count@}@{format@}@{size@}}
                    355: 
                    356: @table @var
                    357: @item count
                    358: is the number of items to be dumped.
                    359: 
                    360: @item format
                    361: can be x (hex), d (signed decimal), u (unsigned decimal), o (octal),
                    362: c (char) or i (asm instruction).
                    363: 
                    364: @item size
                    365: can be b (8 bits), h (16 bits), w (32 bits) or g (64 bits). On x86,
                    366: @code{h} or @code{w} can be specified with the @code{i} format to
                    367: respectively select 16 or 32 bit code instruction size.
                    368: 
                    369: @end table
                    370: 
                    371: Examples:
                    372: @itemize
                    373: @item
                    374: Dump 10 instructions at the current instruction pointer:
                    375: @example
                    376: (qemu) x/10i $eip
                    377: 0x90107063:  ret
                    378: 0x90107064:  sti
                    379: 0x90107065:  lea    0x0(%esi,1),%esi
                    380: 0x90107069:  lea    0x0(%edi,1),%edi
                    381: 0x90107070:  ret
                    382: 0x90107071:  jmp    0x90107080
                    383: 0x90107073:  nop
                    384: 0x90107074:  nop
                    385: 0x90107075:  nop
                    386: 0x90107076:  nop
                    387: @end example
                    388: 
                    389: @item
                    390: Dump 80 16 bit values at the start of the video memory.
                    391: @smallexample
                    392: (qemu) xp/80hx 0xb8000
                    393: 0x000b8000: 0x0b50 0x0b6c 0x0b65 0x0b78 0x0b38 0x0b36 0x0b2f 0x0b42
                    394: 0x000b8010: 0x0b6f 0x0b63 0x0b68 0x0b73 0x0b20 0x0b56 0x0b47 0x0b41
                    395: 0x000b8020: 0x0b42 0x0b69 0x0b6f 0x0b73 0x0b20 0x0b63 0x0b75 0x0b72
                    396: 0x000b8030: 0x0b72 0x0b65 0x0b6e 0x0b74 0x0b2d 0x0b63 0x0b76 0x0b73
                    397: 0x000b8040: 0x0b20 0x0b30 0x0b35 0x0b20 0x0b4e 0x0b6f 0x0b76 0x0b20
                    398: 0x000b8050: 0x0b32 0x0b30 0x0b30 0x0b33 0x0720 0x0720 0x0720 0x0720
                    399: 0x000b8060: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
                    400: 0x000b8070: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
                    401: 0x000b8080: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
                    402: 0x000b8090: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
                    403: @end smallexample
                    404: @end itemize
                    405: ETEXI
                    406: 
1.1.1.2 ! root      407:     {
        !           408:         .name       = "p|print",
        !           409:         .args_type  = "fmt:/,val:l",
        !           410:         .params     = "/fmt expr",
        !           411:         .help       = "print expression value (use $reg for CPU register access)",
        !           412:         .mhandler.cmd = do_print,
        !           413:     },
        !           414: 
1.1       root      415: STEXI
                    416: @item p or print/@var{fmt} @var{expr}
                    417: 
                    418: Print expression value. Only the @var{format} part of @var{fmt} is
                    419: used.
                    420: ETEXI
                    421: 
1.1.1.2 ! root      422:     {
        !           423:         .name       = "i",
        !           424:         .args_type  = "fmt:/,addr:i,index:i.",
        !           425:         .params     = "/fmt addr",
        !           426:         .help       = "I/O port read",
        !           427:         .mhandler.cmd = do_ioport_read,
        !           428:     },
        !           429: 
1.1       root      430: STEXI
                    431: Read I/O port.
                    432: ETEXI
                    433: 
1.1.1.2 ! root      434:     {
        !           435:         .name       = "o",
        !           436:         .args_type  = "fmt:/,addr:i,val:i",
        !           437:         .params     = "/fmt addr value",
        !           438:         .help       = "I/O port write",
        !           439:         .mhandler.cmd = do_ioport_write,
        !           440:     },
        !           441: 
1.1       root      442: STEXI
                    443: Write to I/O port.
                    444: ETEXI
                    445: 
1.1.1.2 ! root      446:     {
        !           447:         .name       = "sendkey",
        !           448:         .args_type  = "string:s,hold_time:i?",
        !           449:         .params     = "keys [hold_ms]",
        !           450:         .help       = "send keys to the VM (e.g. 'sendkey ctrl-alt-f1', default hold time=100 ms)",
        !           451:         .mhandler.cmd = do_sendkey,
        !           452:     },
        !           453: 
1.1       root      454: STEXI
                    455: @item sendkey @var{keys}
                    456: 
                    457: Send @var{keys} to the emulator. @var{keys} could be the name of the
                    458: key or @code{#} followed by the raw value in either decimal or hexadecimal
                    459: format. Use @code{-} to press several keys simultaneously. Example:
                    460: @example
                    461: sendkey ctrl-alt-f1
                    462: @end example
                    463: 
                    464: This command is useful to send keys that your graphical user interface
                    465: intercepts at low level, such as @code{ctrl-alt-f1} in X Window.
                    466: ETEXI
                    467: 
1.1.1.2 ! root      468:     {
        !           469:         .name       = "system_reset",
        !           470:         .args_type  = "",
        !           471:         .params     = "",
        !           472:         .help       = "reset the system",
        !           473:         .user_print = monitor_user_noop,
        !           474:         .mhandler.cmd_new = do_system_reset,
        !           475:     },
        !           476: 
1.1       root      477: STEXI
                    478: @item system_reset
                    479: 
                    480: Reset the system.
                    481: ETEXI
                    482: 
1.1.1.2 ! root      483:     {
        !           484:         .name       = "system_powerdown",
        !           485:         .args_type  = "",
        !           486:         .params     = "",
        !           487:         .help       = "send system power down event",
        !           488:         .user_print = monitor_user_noop,
        !           489:         .mhandler.cmd_new = do_system_powerdown,
        !           490:     },
        !           491: 
1.1       root      492: STEXI
                    493: @item system_powerdown
                    494: 
                    495: Power down the system (if supported).
                    496: ETEXI
                    497: 
1.1.1.2 ! root      498:     {
        !           499:         .name       = "sum",
        !           500:         .args_type  = "start:i,size:i",
        !           501:         .params     = "addr size",
        !           502:         .help       = "compute the checksum of a memory region",
        !           503:         .mhandler.cmd = do_sum,
        !           504:     },
        !           505: 
1.1       root      506: STEXI
                    507: @item sum @var{addr} @var{size}
                    508: 
                    509: Compute the checksum of a memory region.
                    510: ETEXI
                    511: 
1.1.1.2 ! root      512:     {
        !           513:         .name       = "usb_add",
        !           514:         .args_type  = "devname:s",
        !           515:         .params     = "device",
        !           516:         .help       = "add USB device (e.g. 'host:bus.addr' or 'host:vendor_id:product_id')",
        !           517:         .mhandler.cmd = do_usb_add,
        !           518:     },
        !           519: 
1.1       root      520: STEXI
                    521: @item usb_add @var{devname}
                    522: 
                    523: Add the USB device @var{devname}.  For details of available devices see
                    524: @ref{usb_devices}
                    525: ETEXI
                    526: 
1.1.1.2 ! root      527:     {
        !           528:         .name       = "usb_del",
        !           529:         .args_type  = "devname:s",
        !           530:         .params     = "device",
        !           531:         .help       = "remove USB device 'bus.addr'",
        !           532:         .mhandler.cmd = do_usb_del,
        !           533:     },
        !           534: 
1.1       root      535: STEXI
                    536: @item usb_del @var{devname}
                    537: 
                    538: Remove the USB device @var{devname} from the QEMU virtual USB
                    539: hub. @var{devname} has the syntax @code{bus.addr}. Use the monitor
                    540: command @code{info usb} to see the devices you can remove.
                    541: ETEXI
                    542: 
1.1.1.2 ! root      543:     {
        !           544:         .name       = "device_add",
        !           545:         .args_type  = "config:s",
        !           546:         .params     = "device",
        !           547:         .help       = "add device, like -device on the command line",
        !           548:         .mhandler.cmd = do_device_add,
        !           549:     },
        !           550: 
        !           551: STEXI
        !           552: @item device_add @var{config}
        !           553: 
        !           554: Add device.
        !           555: ETEXI
        !           556: 
        !           557:     {
        !           558:         .name       = "device_del",
        !           559:         .args_type  = "id:s",
        !           560:         .params     = "device",
        !           561:         .help       = "remove device",
        !           562:         .mhandler.cmd = do_device_del,
        !           563:     },
        !           564: 
        !           565: STEXI
        !           566: @item device_del @var{id}
        !           567: 
        !           568: Remove device @var{id}.
        !           569: ETEXI
        !           570: 
        !           571:     {
        !           572:         .name       = "cpu",
        !           573:         .args_type  = "index:i",
        !           574:         .params     = "index",
        !           575:         .help       = "set the default CPU",
        !           576:         .mhandler.cmd = do_cpu_set,
        !           577:     },
        !           578: 
1.1       root      579: STEXI
                    580: Set the default CPU.
                    581: ETEXI
                    582: 
1.1.1.2 ! root      583:     {
        !           584:         .name       = "mouse_move",
        !           585:         .args_type  = "dx_str:s,dy_str:s,dz_str:s?",
        !           586:         .params     = "dx dy [dz]",
        !           587:         .help       = "send mouse move events",
        !           588:         .mhandler.cmd = do_mouse_move,
        !           589:     },
        !           590: 
1.1       root      591: STEXI
                    592: @item mouse_move @var{dx} @var{dy} [@var{dz}]
                    593: Move the active mouse to the specified coordinates @var{dx} @var{dy}
                    594: with optional scroll axis @var{dz}.
                    595: ETEXI
                    596: 
1.1.1.2 ! root      597:     {
        !           598:         .name       = "mouse_button",
        !           599:         .args_type  = "button_state:i",
        !           600:         .params     = "state",
        !           601:         .help       = "change mouse button state (1=L, 2=M, 4=R)",
        !           602:         .mhandler.cmd = do_mouse_button,
        !           603:     },
        !           604: 
1.1       root      605: STEXI
                    606: @item mouse_button @var{val}
                    607: Change the active mouse button state @var{val} (1=L, 2=M, 4=R).
                    608: ETEXI
                    609: 
1.1.1.2 ! root      610:     {
        !           611:         .name       = "mouse_set",
        !           612:         .args_type  = "index:i",
        !           613:         .params     = "index",
        !           614:         .help       = "set which mouse device receives events",
        !           615:         .mhandler.cmd = do_mouse_set,
        !           616:     },
        !           617: 
1.1       root      618: STEXI
                    619: @item mouse_set @var{index}
                    620: Set which mouse device receives events at given @var{index}, index
                    621: can be obtained with
                    622: @example
                    623: info mice
                    624: @end example
                    625: ETEXI
                    626: 
                    627: #ifdef HAS_AUDIO
1.1.1.2 ! root      628:     {
        !           629:         .name       = "wavcapture",
        !           630:         .args_type  = "path:F,freq:i?,bits:i?,nchannels:i?",
        !           631:         .params     = "path [frequency [bits [channels]]]",
        !           632:         .help       = "capture audio to a wave file (default frequency=44100 bits=16 channels=2)",
        !           633:         .mhandler.cmd = do_wav_capture,
        !           634:     },
1.1       root      635: #endif
                    636: STEXI
                    637: @item wavcapture @var{filename} [@var{frequency} [@var{bits} [@var{channels}]]]
                    638: Capture audio into @var{filename}. Using sample rate @var{frequency}
                    639: bits per sample @var{bits} and number of channels @var{channels}.
                    640: 
                    641: Defaults:
                    642: @itemize @minus
                    643: @item Sample rate = 44100 Hz - CD quality
                    644: @item Bits = 16
                    645: @item Number of channels = 2 - Stereo
                    646: @end itemize
                    647: ETEXI
                    648: 
                    649: #ifdef HAS_AUDIO
1.1.1.2 ! root      650:     {
        !           651:         .name       = "stopcapture",
        !           652:         .args_type  = "n:i",
        !           653:         .params     = "capture index",
        !           654:         .help       = "stop capture",
        !           655:         .mhandler.cmd = do_stop_capture,
        !           656:     },
1.1       root      657: #endif
                    658: STEXI
                    659: @item stopcapture @var{index}
                    660: Stop capture with a given @var{index}, index can be obtained with
                    661: @example
                    662: info capture
                    663: @end example
                    664: ETEXI
                    665: 
1.1.1.2 ! root      666:     {
        !           667:         .name       = "memsave",
        !           668:         .args_type  = "val:l,size:i,filename:s",
        !           669:         .params     = "addr size file",
        !           670:         .help       = "save to disk virtual memory dump starting at 'addr' of size 'size'",
        !           671:         .user_print = monitor_user_noop,
        !           672:         .mhandler.cmd_new = do_memory_save,
        !           673:     },
        !           674: 
1.1       root      675: STEXI
                    676: @item memsave @var{addr} @var{size} @var{file}
                    677: save to disk virtual memory dump starting at @var{addr} of size @var{size}.
                    678: ETEXI
                    679: 
1.1.1.2 ! root      680:     {
        !           681:         .name       = "pmemsave",
        !           682:         .args_type  = "val:l,size:i,filename:s",
        !           683:         .params     = "addr size file",
        !           684:         .help       = "save to disk physical memory dump starting at 'addr' of size 'size'",
        !           685:         .user_print = monitor_user_noop,
        !           686:         .mhandler.cmd_new = do_physical_memory_save,
        !           687:     },
        !           688: 
1.1       root      689: STEXI
                    690: @item pmemsave @var{addr} @var{size} @var{file}
                    691: save to disk physical memory dump starting at @var{addr} of size @var{size}.
                    692: ETEXI
                    693: 
1.1.1.2 ! root      694:     {
        !           695:         .name       = "boot_set",
        !           696:         .args_type  = "bootdevice:s",
        !           697:         .params     = "bootdevice",
        !           698:         .help       = "define new values for the boot device list",
        !           699:         .mhandler.cmd = do_boot_set,
        !           700:     },
        !           701: 
1.1       root      702: STEXI
                    703: @item boot_set @var{bootdevicelist}
                    704: 
                    705: Define new values for the boot device list. Those values will override
                    706: the values specified on the command line through the @code{-boot} option.
                    707: 
                    708: The values that can be specified here depend on the machine type, but are
                    709: the same that can be specified in the @code{-boot} command line option.
                    710: ETEXI
                    711: 
                    712: #if defined(TARGET_I386)
1.1.1.2 ! root      713:     {
        !           714:         .name       = "nmi",
        !           715:         .args_type  = "cpu_index:i",
        !           716:         .params     = "cpu",
        !           717:         .help       = "inject an NMI on the given CPU",
        !           718:         .mhandler.cmd = do_inject_nmi,
        !           719:     },
1.1       root      720: #endif
                    721: STEXI
                    722: @item nmi @var{cpu}
                    723: Inject an NMI on the given CPU (x86 only).
                    724: ETEXI
                    725: 
1.1.1.2 ! root      726:     {
        !           727:         .name       = "migrate",
        !           728:         .args_type  = "detach:-d,blk:-b,inc:-i,uri:s",
        !           729:         .params     = "[-d] [-b] [-i] uri",
        !           730:         .help       = "migrate to URI (using -d to not wait for completion)"
        !           731:                      "\n\t\t\t -b for migration without shared storage with"
        !           732:                      " full copy of disk\n\t\t\t -i for migration without "
        !           733:                      "shared storage with incremental copy of disk "
        !           734:                      "(base image shared between src and destination)",
        !           735:         .user_print = monitor_user_noop,       
        !           736:        .mhandler.cmd_new = do_migrate,
        !           737:     },
        !           738: 
        !           739: 
1.1       root      740: STEXI
1.1.1.2 ! root      741: @item migrate [-d] [-b] [-i] @var{uri}
1.1       root      742: Migrate to @var{uri} (using -d to not wait for completion).
1.1.1.2 ! root      743:        -b for migration with full copy of disk
        !           744:        -i for migration with incremental copy of disk (base image is shared)
1.1       root      745: ETEXI
                    746: 
1.1.1.2 ! root      747:     {
        !           748:         .name       = "migrate_cancel",
        !           749:         .args_type  = "",
        !           750:         .params     = "",
        !           751:         .help       = "cancel the current VM migration",
        !           752:         .user_print = monitor_user_noop,
        !           753:         .mhandler.cmd_new = do_migrate_cancel,
        !           754:     },
        !           755: 
1.1       root      756: STEXI
                    757: @item migrate_cancel
                    758: Cancel the current VM migration.
                    759: ETEXI
                    760: 
1.1.1.2 ! root      761:     {
        !           762:         .name       = "migrate_set_speed",
        !           763:         .args_type  = "value:s",
        !           764:         .params     = "value",
        !           765:         .help       = "set maximum speed (in bytes) for migrations",
        !           766:         .mhandler.cmd = do_migrate_set_speed,
        !           767:     },
        !           768: 
1.1       root      769: STEXI
                    770: @item migrate_set_speed @var{value}
                    771: Set maximum speed to @var{value} (in bytes) for migrations.
                    772: ETEXI
                    773: 
1.1.1.2 ! root      774:     {
        !           775:         .name       = "migrate_set_downtime",
        !           776:         .args_type  = "value:s",
        !           777:         .params     = "value",
        !           778:         .help       = "set maximum tolerated downtime (in seconds) for migrations",
        !           779:         .mhandler.cmd = do_migrate_set_downtime,
        !           780:     },
1.1       root      781: 
                    782: STEXI
                    783: @item migrate_set_downtime @var{second}
                    784: Set maximum tolerated downtime (in seconds) for migration.
                    785: ETEXI
                    786: 
                    787: #if defined(TARGET_I386)
1.1.1.2 ! root      788:     {
        !           789:         .name       = "drive_add",
        !           790:         .args_type  = "pci_addr:s,opts:s",
        !           791:         .params     = "[[<domain>:]<bus>:]<slot>\n"
        !           792:                       "[file=file][,if=type][,bus=n]\n"
        !           793:                       "[,unit=m][,media=d][index=i]\n"
        !           794:                       "[,cyls=c,heads=h,secs=s[,trans=t]]\n"
        !           795:                       "[snapshot=on|off][,cache=on|off]",
        !           796:         .help       = "add drive to PCI storage controller",
        !           797:         .mhandler.cmd = drive_hot_add,
        !           798:     },
1.1       root      799: #endif
1.1.1.2 ! root      800: 
1.1       root      801: STEXI
                    802: @item drive_add
                    803: Add drive to PCI storage controller.
                    804: ETEXI
                    805: 
                    806: #if defined(TARGET_I386)
1.1.1.2 ! root      807:     {
        !           808:         .name       = "pci_add",
        !           809:         .args_type  = "pci_addr:s,type:s,opts:s?",
        !           810:         .params     = "auto|[[<domain>:]<bus>:]<slot> nic|storage [[vlan=n][,macaddr=addr][,model=type]] [file=file][,if=type][,bus=nr]...",
        !           811:         .help       = "hot-add PCI device",
        !           812:         .user_print = pci_device_hot_add_print,
        !           813:         .mhandler.cmd_new = pci_device_hot_add,
        !           814:     },
1.1       root      815: #endif
1.1.1.2 ! root      816: 
1.1       root      817: STEXI
                    818: @item pci_add
                    819: Hot-add PCI device.
                    820: ETEXI
                    821: 
                    822: #if defined(TARGET_I386)
1.1.1.2 ! root      823:     {
        !           824:         .name       = "pci_del",
        !           825:         .args_type  = "pci_addr:s",
        !           826:         .params     = "[[<domain>:]<bus>:]<slot>",
        !           827:         .help       = "hot remove PCI device",
        !           828:         .user_print = monitor_user_noop,
        !           829:         .mhandler.cmd_new = do_pci_device_hot_remove,
        !           830:     },
1.1       root      831: #endif
1.1.1.2 ! root      832: 
1.1       root      833: STEXI
                    834: @item pci_del
                    835: Hot remove PCI device.
                    836: ETEXI
                    837: 
1.1.1.2 ! root      838:     {
        !           839:         .name       = "host_net_add",
        !           840:         .args_type  = "device:s,opts:s?",
        !           841:         .params     = "tap|user|socket|vde|dump [options]",
        !           842:         .help       = "add host VLAN client",
        !           843:         .mhandler.cmd = net_host_device_add,
        !           844:     },
        !           845: 
1.1       root      846: STEXI
                    847: @item host_net_add
                    848: Add host VLAN client.
                    849: ETEXI
                    850: 
1.1.1.2 ! root      851:     {
        !           852:         .name       = "host_net_remove",
        !           853:         .args_type  = "vlan_id:i,device:s",
        !           854:         .params     = "vlan_id name",
        !           855:         .help       = "remove host VLAN client",
        !           856:         .mhandler.cmd = net_host_device_remove,
        !           857:     },
        !           858: 
1.1       root      859: STEXI
                    860: @item host_net_remove
                    861: Remove host VLAN client.
                    862: ETEXI
                    863: 
                    864: #ifdef CONFIG_SLIRP
1.1.1.2 ! root      865:     {
        !           866:         .name       = "hostfwd_add",
        !           867:         .args_type  = "arg1:s,arg2:s?,arg3:s?",
        !           868:         .params     = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport",
        !           869:         .help       = "redirect TCP or UDP connections from host to guest (requires -net user)",
        !           870:         .mhandler.cmd = net_slirp_hostfwd_add,
        !           871:     },
        !           872: 
        !           873:     {
        !           874:         .name       = "hostfwd_remove",
        !           875:         .args_type  = "arg1:s,arg2:s?,arg3:s?",
        !           876:         .params     = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport",
        !           877:         .help       = "remove host-to-guest TCP or UDP redirection",
        !           878:         .mhandler.cmd = net_slirp_hostfwd_remove,
        !           879:     },
        !           880: 
1.1       root      881: #endif
                    882: STEXI
                    883: @item host_net_redir
                    884: Redirect TCP or UDP connections from host to guest (requires -net user).
                    885: ETEXI
                    886: 
1.1.1.2 ! root      887:     {
        !           888:         .name       = "balloon",
        !           889:         .args_type  = "value:M",
        !           890:         .params     = "target",
        !           891:         .help       = "request VM to change it's memory allocation (in MB)",
        !           892:         .user_print = monitor_user_noop,
        !           893:         .mhandler.cmd_new = do_balloon,
        !           894:     },
        !           895: 
1.1       root      896: STEXI
                    897: @item balloon @var{value}
                    898: Request VM to change its memory allocation to @var{value} (in MB).
                    899: ETEXI
                    900: 
1.1.1.2 ! root      901:     {
        !           902:         .name       = "set_link",
        !           903:         .args_type  = "name:s,up_or_down:s",
        !           904:         .params     = "name up|down",
        !           905:         .help       = "change the link status of a network adapter",
        !           906:         .mhandler.cmd = do_set_link,
        !           907:     },
        !           908: 
1.1       root      909: STEXI
                    910: @item set_link @var{name} [up|down]
                    911: Set link @var{name} up or down.
                    912: ETEXI
                    913: 
1.1.1.2 ! root      914:     {
        !           915:         .name       = "watchdog_action",
        !           916:         .args_type  = "action:s",
        !           917:         .params     = "[reset|shutdown|poweroff|pause|debug|none]",
        !           918:         .help       = "change watchdog action",
        !           919:         .mhandler.cmd = do_watchdog_action,
        !           920:     },
        !           921: 
1.1       root      922: STEXI
                    923: @item watchdog_action
                    924: Change watchdog action.
                    925: ETEXI
                    926: 
1.1.1.2 ! root      927:     {
        !           928:         .name       = "acl_show",
        !           929:         .args_type  = "aclname:s",
        !           930:         .params     = "aclname",
        !           931:         .help       = "list rules in the access control list",
        !           932:         .mhandler.cmd = do_acl_show,
        !           933:     },
        !           934: 
1.1       root      935: STEXI
                    936: @item acl_show @var{aclname}
                    937: List all the matching rules in the access control list, and the default
                    938: policy. There are currently two named access control lists,
                    939: @var{vnc.x509dname} and @var{vnc.username} matching on the x509 client
                    940: certificate distinguished name, and SASL username respectively.
                    941: ETEXI
                    942: 
1.1.1.2 ! root      943:     {
        !           944:         .name       = "acl_policy",
        !           945:         .args_type  = "aclname:s,policy:s",
        !           946:         .params     = "aclname allow|deny",
        !           947:         .help       = "set default access control list policy",
        !           948:         .mhandler.cmd = do_acl_policy,
        !           949:     },
        !           950: 
1.1       root      951: STEXI
                    952: @item acl_policy @var{aclname} @code{allow|deny}
                    953: Set the default access control list policy, used in the event that
                    954: none of the explicit rules match. The default policy at startup is
                    955: always @code{deny}.
                    956: ETEXI
                    957: 
1.1.1.2 ! root      958:     {
        !           959:         .name       = "acl_add",
        !           960:         .args_type  = "aclname:s,match:s,policy:s,index:i?",
        !           961:         .params     = "aclname match allow|deny [index]",
        !           962:         .help       = "add a match rule to the access control list",
        !           963:         .mhandler.cmd = do_acl_add,
        !           964:     },
        !           965: 
1.1       root      966: STEXI
                    967: @item acl_allow @var{aclname} @var{match} @code{allow|deny} [@var{index}]
                    968: Add a match rule to the access control list, allowing or denying access.
                    969: The match will normally be an exact username or x509 distinguished name,
                    970: but can optionally include wildcard globs. eg @code{*@@EXAMPLE.COM} to
                    971: allow all users in the @code{EXAMPLE.COM} kerberos realm. The match will
                    972: normally be appended to the end of the ACL, but can be inserted
                    973: earlier in the list if the optional @var{index} parameter is supplied.
                    974: ETEXI
                    975: 
1.1.1.2 ! root      976:     {
        !           977:         .name       = "acl_remove",
        !           978:         .args_type  = "aclname:s,match:s",
        !           979:         .params     = "aclname match",
        !           980:         .help       = "remove a match rule from the access control list",
        !           981:         .mhandler.cmd = do_acl_remove,
        !           982:     },
        !           983: 
1.1       root      984: STEXI
                    985: @item acl_remove @var{aclname} @var{match}
                    986: Remove the specified match rule from the access control list.
                    987: ETEXI
                    988: 
1.1.1.2 ! root      989:     {
        !           990:         .name       = "acl_reset",
        !           991:         .args_type  = "aclname:s",
        !           992:         .params     = "aclname",
        !           993:         .help       = "reset the access control list",
        !           994:         .mhandler.cmd = do_acl_reset,
        !           995:     },
        !           996: 
1.1       root      997: STEXI
                    998: @item acl_remove @var{aclname} @var{match}
                    999: Remove all matches from the access control list, and set the default
                   1000: policy back to @code{deny}.
                   1001: ETEXI
                   1002: 
                   1003: #if defined(TARGET_I386)
1.1.1.2 ! root     1004: 
        !          1005:     {
        !          1006:         .name       = "mce",
        !          1007:         .args_type  = "cpu_index:i,bank:i,status:l,mcg_status:l,addr:l,misc:l",
        !          1008:         .params     = "cpu bank status mcgstatus addr misc",
        !          1009:         .help       = "inject a MCE on the given CPU",
        !          1010:         .mhandler.cmd = do_inject_mce,
        !          1011:     },
        !          1012: 
1.1       root     1013: #endif
                   1014: STEXI
                   1015: @item mce @var{cpu} @var{bank} @var{status} @var{mcgstatus} @var{addr} @var{misc}
                   1016: Inject an MCE on the given CPU (x86 only).
                   1017: ETEXI
                   1018: 
1.1.1.2 ! root     1019:     {
        !          1020:         .name       = "getfd",
        !          1021:         .args_type  = "fdname:s",
        !          1022:         .params     = "getfd name",
        !          1023:         .help       = "receive a file descriptor via SCM rights and assign it a name",
        !          1024:         .user_print = monitor_user_noop,
        !          1025:         .mhandler.cmd_new = do_getfd,
        !          1026:     },
        !          1027: 
1.1       root     1028: STEXI
                   1029: @item getfd @var{fdname}
                   1030: If a file descriptor is passed alongside this command using the SCM_RIGHTS
                   1031: mechanism on unix sockets, it is stored using the name @var{fdname} for
                   1032: later use by other monitor commands.
                   1033: ETEXI
                   1034: 
1.1.1.2 ! root     1035:     {
        !          1036:         .name       = "closefd",
        !          1037:         .args_type  = "fdname:s",
        !          1038:         .params     = "closefd name",
        !          1039:         .help       = "close a file descriptor previously passed via SCM rights",
        !          1040:         .user_print = monitor_user_noop,
        !          1041:         .mhandler.cmd_new = do_closefd,
        !          1042:     },
        !          1043: 
1.1       root     1044: STEXI
                   1045: @item closefd @var{fdname}
                   1046: Close the file descriptor previously assigned to @var{fdname} using the
                   1047: @code{getfd} command. This is only needed if the file descriptor was never
                   1048: used by another monitor command.
                   1049: ETEXI
                   1050: 
1.1.1.2 ! root     1051:     {
        !          1052:         .name       = "block_passwd",
        !          1053:         .args_type  = "device:B,password:s",
        !          1054:         .params     = "block_passwd device password",
        !          1055:         .help       = "set the password of encrypted block devices",
        !          1056:         .user_print = monitor_user_noop,
        !          1057:         .mhandler.cmd_new = do_block_set_passwd,
        !          1058:     },
        !          1059: 
        !          1060: STEXI
        !          1061: @item block_passwd @var{device} @var{password}
        !          1062: Set the encrypted device @var{device} password to @var{password}
        !          1063: ETEXI
        !          1064: 
1.1       root     1065: STEXI
                   1066: @end table
                   1067: ETEXI

unix.superglobalmegacorp.com