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 12d7f9b689SLuiz Capitulino { 13d7f9b689SLuiz Capitulino .name = "help|?", 14d7f9b689SLuiz Capitulino .args_type = "name:s?", 15d7f9b689SLuiz Capitulino .params = "[cmd]", 16d7f9b689SLuiz Capitulino .help = "show the help", 17af4ce882SLuiz Capitulino .mhandler.cmd = do_help_cmd, 18d7f9b689SLuiz Capitulino }, 19d7f9b689SLuiz Capitulino 202313086aSBlue SwirlSTEXI 212313086aSBlue Swirl@item help or ? [@var{cmd}] 2270fcbbe7SStefan Weil@findex help 232313086aSBlue SwirlShow the help for all commands or just for command @var{cmd}. 242313086aSBlue SwirlETEXI 252313086aSBlue Swirl 26d7f9b689SLuiz Capitulino { 27d7f9b689SLuiz Capitulino .name = "commit", 28d7f9b689SLuiz Capitulino .args_type = "device:B", 29d7f9b689SLuiz Capitulino .params = "device|all", 30d7f9b689SLuiz Capitulino .help = "commit changes to the disk images (if -snapshot is used) or backing files", 31af4ce882SLuiz Capitulino .mhandler.cmd = do_commit, 32d7f9b689SLuiz Capitulino }, 33d7f9b689SLuiz Capitulino 342313086aSBlue SwirlSTEXI 352313086aSBlue Swirl@item commit 3670fcbbe7SStefan Weil@findex commit 372313086aSBlue SwirlCommit changes to the disk images (if -snapshot is used) or backing files. 382313086aSBlue SwirlETEXI 392313086aSBlue Swirl 40d7f9b689SLuiz Capitulino { 41d7f9b689SLuiz Capitulino .name = "q|quit", 42d7f9b689SLuiz Capitulino .args_type = "", 43d7f9b689SLuiz Capitulino .params = "", 44d7f9b689SLuiz Capitulino .help = "quit the emulator", 45b223f35fSLuiz Capitulino .user_print = monitor_user_noop, 467a7f325eSLuiz Capitulino .mhandler.cmd = hmp_quit, 47d7f9b689SLuiz Capitulino }, 48d7f9b689SLuiz Capitulino 492313086aSBlue SwirlSTEXI 502313086aSBlue Swirl@item q or quit 5170fcbbe7SStefan Weil@findex quit 522313086aSBlue SwirlQuit the emulator. 532313086aSBlue SwirlETEXI 542313086aSBlue Swirl 55d7f9b689SLuiz Capitulino { 566d4a2b3aSChristoph Hellwig .name = "block_resize", 576d4a2b3aSChristoph Hellwig .args_type = "device:B,size:o", 586d4a2b3aSChristoph Hellwig .params = "device size", 596d4a2b3aSChristoph Hellwig .help = "resize a block image", 605e7caacbSLuiz Capitulino .mhandler.cmd = hmp_block_resize, 616d4a2b3aSChristoph Hellwig }, 626d4a2b3aSChristoph Hellwig 636d4a2b3aSChristoph HellwigSTEXI 646d4a2b3aSChristoph Hellwig@item block_resize 656d4a2b3aSChristoph Hellwig@findex block_resize 666d4a2b3aSChristoph HellwigResize a block image while a guest is running. Usually requires guest 676d4a2b3aSChristoph Hellwigaction to see the updated size. Resize to a lower size is supported, 686d4a2b3aSChristoph Hellwigbut should be used with extreme caution. Note that this command only 696d4a2b3aSChristoph Hellwigresizes image files, it can not resize block devices like LVM volumes. 706d4a2b3aSChristoph HellwigETEXI 716d4a2b3aSChristoph Hellwig 726d4a2b3aSChristoph Hellwig 736d4a2b3aSChristoph Hellwig { 74d7f9b689SLuiz Capitulino .name = "eject", 7578d714e0SLuiz Capitulino .args_type = "force:-f,device:B", 76d7f9b689SLuiz Capitulino .params = "[-f] device", 77d7f9b689SLuiz Capitulino .help = "eject a removable medium (use -f to force it)", 78e1c923a6SLuiz Capitulino .user_print = monitor_user_noop, 79261394dbSLuiz Capitulino .mhandler.cmd_new = do_eject, 80d7f9b689SLuiz Capitulino }, 81d7f9b689SLuiz Capitulino 822313086aSBlue SwirlSTEXI 832313086aSBlue Swirl@item eject [-f] @var{device} 8470fcbbe7SStefan Weil@findex eject 852313086aSBlue SwirlEject a removable medium (use -f to force it). 862313086aSBlue SwirlETEXI 872313086aSBlue Swirl 88d7f9b689SLuiz Capitulino { 899063f814SRyan Harper .name = "drive_del", 909063f814SRyan Harper .args_type = "id:s", 919063f814SRyan Harper .params = "device", 929063f814SRyan Harper .help = "remove host block device", 939063f814SRyan Harper .user_print = monitor_user_noop, 949063f814SRyan Harper .mhandler.cmd_new = do_drive_del, 959063f814SRyan Harper }, 969063f814SRyan Harper 979063f814SRyan HarperSTEXI 989063f814SRyan Harper@item drive_del @var{device} 999063f814SRyan Harper@findex drive_del 1009063f814SRyan HarperRemove host block device. The result is that guest generated IO is no longer 1019063f814SRyan Harpersubmitted against the host device underlying the disk. Once a drive has 1029063f814SRyan Harperbeen deleted, the QEMU Block layer returns -EIO which results in IO 1039063f814SRyan Harpererrors in the guest for applications that are reading/writing to the device. 1049063f814SRyan HarperETEXI 1059063f814SRyan Harper 1069063f814SRyan Harper { 107d7f9b689SLuiz Capitulino .name = "change", 108d7f9b689SLuiz Capitulino .args_type = "device:B,target:F,arg:s?", 109d7f9b689SLuiz Capitulino .params = "device filename [format]", 110d7f9b689SLuiz Capitulino .help = "change a removable medium, optional format", 111ec3b82afSMarkus Armbruster .user_print = monitor_user_noop, 112261394dbSLuiz Capitulino .mhandler.cmd_new = do_change, 113d7f9b689SLuiz Capitulino }, 114d7f9b689SLuiz Capitulino 1152313086aSBlue SwirlSTEXI 1162313086aSBlue Swirl@item change @var{device} @var{setting} 11770fcbbe7SStefan Weil@findex change 1182313086aSBlue Swirl 1192313086aSBlue SwirlChange the configuration of a device. 1202313086aSBlue Swirl 1212313086aSBlue Swirl@table @option 1222313086aSBlue Swirl@item change @var{diskdevice} @var{filename} [@var{format}] 1232313086aSBlue SwirlChange the medium for a removable disk device to point to @var{filename}. eg 1242313086aSBlue Swirl 1252313086aSBlue Swirl@example 1262313086aSBlue Swirl(qemu) change ide1-cd0 /path/to/some.iso 1272313086aSBlue Swirl@end example 1282313086aSBlue Swirl 1292313086aSBlue Swirl@var{format} is optional. 1302313086aSBlue Swirl 1312313086aSBlue Swirl@item change vnc @var{display},@var{options} 1322313086aSBlue SwirlChange the configuration of the VNC server. The valid syntax for @var{display} 1332313086aSBlue Swirland @var{options} are described at @ref{sec_invocation}. eg 1342313086aSBlue Swirl 1352313086aSBlue Swirl@example 1362313086aSBlue Swirl(qemu) change vnc localhost:1 1372313086aSBlue Swirl@end example 1382313086aSBlue Swirl 1392313086aSBlue Swirl@item change vnc password [@var{password}] 1402313086aSBlue Swirl 1412313086aSBlue SwirlChange the password associated with the VNC server. If the new password is not 1422313086aSBlue Swirlsupplied, the monitor will prompt for it to be entered. VNC passwords are only 1432313086aSBlue Swirlsignificant up to 8 letters. eg 1442313086aSBlue Swirl 1452313086aSBlue Swirl@example 1462313086aSBlue Swirl(qemu) change vnc password 1472313086aSBlue SwirlPassword: ******** 1482313086aSBlue Swirl@end example 1492313086aSBlue Swirl 1502313086aSBlue Swirl@end table 1512313086aSBlue SwirlETEXI 1522313086aSBlue Swirl 153d7f9b689SLuiz Capitulino { 154d7f9b689SLuiz Capitulino .name = "screendump", 155d7f9b689SLuiz Capitulino .args_type = "filename:F", 156d7f9b689SLuiz Capitulino .params = "filename", 157d7f9b689SLuiz Capitulino .help = "save screen into PPM image 'filename'", 158f1dc58e0SLuiz Capitulino .user_print = monitor_user_noop, 159f1dc58e0SLuiz Capitulino .mhandler.cmd_new = do_screen_dump, 160d7f9b689SLuiz Capitulino }, 161d7f9b689SLuiz Capitulino 1622313086aSBlue SwirlSTEXI 1632313086aSBlue Swirl@item screendump @var{filename} 16470fcbbe7SStefan Weil@findex screendump 1652313086aSBlue SwirlSave screen into PPM image @var{filename}. 1662313086aSBlue SwirlETEXI 1672313086aSBlue Swirl 168d7f9b689SLuiz Capitulino { 169d7f9b689SLuiz Capitulino .name = "logfile", 170d7f9b689SLuiz Capitulino .args_type = "filename:F", 171d7f9b689SLuiz Capitulino .params = "filename", 172d7f9b689SLuiz Capitulino .help = "output logs to 'filename'", 173af4ce882SLuiz Capitulino .mhandler.cmd = do_logfile, 174d7f9b689SLuiz Capitulino }, 175d7f9b689SLuiz Capitulino 1762313086aSBlue SwirlSTEXI 1772313086aSBlue Swirl@item logfile @var{filename} 17870fcbbe7SStefan Weil@findex logfile 1792313086aSBlue SwirlOutput logs to @var{filename}. 1802313086aSBlue SwirlETEXI 1812313086aSBlue Swirl 18222890ab5SPrerna Saxena { 18322890ab5SPrerna Saxena .name = "trace-event", 18422890ab5SPrerna Saxena .args_type = "name:s,option:b", 18522890ab5SPrerna Saxena .params = "name on|off", 18622890ab5SPrerna Saxena .help = "changes status of a specific trace event", 187fc764105SLluÃs .mhandler.cmd = do_trace_event_set_state, 18822890ab5SPrerna Saxena }, 18922890ab5SPrerna Saxena 19022890ab5SPrerna SaxenaSTEXI 19122890ab5SPrerna Saxena@item trace-event 19222890ab5SPrerna Saxena@findex trace-event 19322890ab5SPrerna Saxenachanges status of a trace event 19422890ab5SPrerna SaxenaETEXI 195c5ceb523SStefan Hajnoczi 196c45a8168SMichael Roth#if defined(CONFIG_TRACE_SIMPLE) 197c5ceb523SStefan Hajnoczi { 198c5ceb523SStefan Hajnoczi .name = "trace-file", 199c5ceb523SStefan Hajnoczi .args_type = "op:s?,arg:F?", 200c5ceb523SStefan Hajnoczi .params = "on|off|flush|set [arg]", 201c5ceb523SStefan Hajnoczi .help = "open, close, or flush trace file, or set a new file name", 202c5ceb523SStefan Hajnoczi .mhandler.cmd = do_trace_file, 203c5ceb523SStefan Hajnoczi }, 204c5ceb523SStefan Hajnoczi 205c5ceb523SStefan HajnocziSTEXI 206c5ceb523SStefan Hajnoczi@item trace-file on|off|flush 207c5ceb523SStefan Hajnoczi@findex trace-file 208c5ceb523SStefan HajnocziOpen, close, or flush the trace file. If no argument is given, the status of the trace file is displayed. 209c5ceb523SStefan HajnocziETEXI 21022890ab5SPrerna Saxena#endif 21122890ab5SPrerna Saxena 212d7f9b689SLuiz Capitulino { 213d7f9b689SLuiz Capitulino .name = "log", 214d7f9b689SLuiz Capitulino .args_type = "items:s", 215d7f9b689SLuiz Capitulino .params = "item1[,...]", 216d7f9b689SLuiz Capitulino .help = "activate logging of the specified items to '/tmp/qemu.log'", 217af4ce882SLuiz Capitulino .mhandler.cmd = do_log, 218d7f9b689SLuiz Capitulino }, 219d7f9b689SLuiz Capitulino 2202313086aSBlue SwirlSTEXI 2212313086aSBlue Swirl@item log @var{item1}[,...] 22270fcbbe7SStefan Weil@findex log 2232313086aSBlue SwirlActivate logging of the specified items to @file{/tmp/qemu.log}. 2242313086aSBlue SwirlETEXI 2252313086aSBlue Swirl 226d7f9b689SLuiz Capitulino { 227d7f9b689SLuiz Capitulino .name = "savevm", 228d7f9b689SLuiz Capitulino .args_type = "name:s?", 229d7f9b689SLuiz Capitulino .params = "[tag|id]", 230d7f9b689SLuiz Capitulino .help = "save a VM snapshot. If no tag or id are provided, a new snapshot is created", 231af4ce882SLuiz Capitulino .mhandler.cmd = do_savevm, 232d7f9b689SLuiz Capitulino }, 233d7f9b689SLuiz Capitulino 2342313086aSBlue SwirlSTEXI 2352313086aSBlue Swirl@item savevm [@var{tag}|@var{id}] 23670fcbbe7SStefan Weil@findex savevm 2372313086aSBlue SwirlCreate a snapshot of the whole virtual machine. If @var{tag} is 2382313086aSBlue Swirlprovided, it is used as human readable identifier. If there is already 2392313086aSBlue Swirla snapshot with the same tag or ID, it is replaced. More info at 2402313086aSBlue Swirl@ref{vm_snapshots}. 2412313086aSBlue SwirlETEXI 2422313086aSBlue Swirl 243d7f9b689SLuiz Capitulino { 244d7f9b689SLuiz Capitulino .name = "loadvm", 245d7f9b689SLuiz Capitulino .args_type = "name:s", 246d7f9b689SLuiz Capitulino .params = "tag|id", 247d7f9b689SLuiz Capitulino .help = "restore a VM snapshot from its tag or id", 248af4ce882SLuiz Capitulino .mhandler.cmd = do_loadvm, 249d7f9b689SLuiz Capitulino }, 250d7f9b689SLuiz Capitulino 2512313086aSBlue SwirlSTEXI 2522313086aSBlue Swirl@item loadvm @var{tag}|@var{id} 25370fcbbe7SStefan Weil@findex loadvm 2542313086aSBlue SwirlSet the whole virtual machine to the snapshot identified by the tag 2552313086aSBlue Swirl@var{tag} or the unique snapshot ID @var{id}. 2562313086aSBlue SwirlETEXI 2572313086aSBlue Swirl 258d7f9b689SLuiz Capitulino { 259d7f9b689SLuiz Capitulino .name = "delvm", 260d7f9b689SLuiz Capitulino .args_type = "name:s", 261d7f9b689SLuiz Capitulino .params = "tag|id", 262d7f9b689SLuiz Capitulino .help = "delete a VM snapshot from its tag or id", 263af4ce882SLuiz Capitulino .mhandler.cmd = do_delvm, 264d7f9b689SLuiz Capitulino }, 265d7f9b689SLuiz Capitulino 2662313086aSBlue SwirlSTEXI 2672313086aSBlue Swirl@item delvm @var{tag}|@var{id} 26870fcbbe7SStefan Weil@findex delvm 2692313086aSBlue SwirlDelete the snapshot identified by @var{tag} or @var{id}. 2702313086aSBlue SwirlETEXI 2712313086aSBlue Swirl 272d7f9b689SLuiz Capitulino { 273d7f9b689SLuiz Capitulino .name = "singlestep", 274d7f9b689SLuiz Capitulino .args_type = "option:s?", 275d7f9b689SLuiz Capitulino .params = "[on|off]", 276d7f9b689SLuiz Capitulino .help = "run emulation in singlestep mode or switch to normal mode", 277af4ce882SLuiz Capitulino .mhandler.cmd = do_singlestep, 278d7f9b689SLuiz Capitulino }, 279d7f9b689SLuiz Capitulino 2802313086aSBlue SwirlSTEXI 2812313086aSBlue Swirl@item singlestep [off] 28270fcbbe7SStefan Weil@findex singlestep 2832313086aSBlue SwirlRun the emulation in single step mode. 2842313086aSBlue SwirlIf called with option off, the emulation returns to normal mode. 2852313086aSBlue SwirlETEXI 2862313086aSBlue Swirl 287d7f9b689SLuiz Capitulino { 288d7f9b689SLuiz Capitulino .name = "stop", 289d7f9b689SLuiz Capitulino .args_type = "", 290d7f9b689SLuiz Capitulino .params = "", 291d7f9b689SLuiz Capitulino .help = "stop emulation", 2925f158f21SLuiz Capitulino .mhandler.cmd = hmp_stop, 293d7f9b689SLuiz Capitulino }, 294d7f9b689SLuiz Capitulino 2952313086aSBlue SwirlSTEXI 2962313086aSBlue Swirl@item stop 29770fcbbe7SStefan Weil@findex stop 2982313086aSBlue SwirlStop emulation. 2992313086aSBlue SwirlETEXI 3002313086aSBlue Swirl 301d7f9b689SLuiz Capitulino { 302d7f9b689SLuiz Capitulino .name = "c|cont", 303d7f9b689SLuiz Capitulino .args_type = "", 304d7f9b689SLuiz Capitulino .params = "", 305d7f9b689SLuiz Capitulino .help = "resume emulation", 306e42e818bSLuiz Capitulino .mhandler.cmd = hmp_cont, 307d7f9b689SLuiz Capitulino }, 308d7f9b689SLuiz Capitulino 3092313086aSBlue SwirlSTEXI 3102313086aSBlue Swirl@item c or cont 31170fcbbe7SStefan Weil@findex cont 3122313086aSBlue SwirlResume emulation. 3132313086aSBlue SwirlETEXI 3142313086aSBlue Swirl 315d7f9b689SLuiz Capitulino { 316d7f9b689SLuiz Capitulino .name = "gdbserver", 317d7f9b689SLuiz Capitulino .args_type = "device:s?", 318d7f9b689SLuiz Capitulino .params = "[device]", 319d7f9b689SLuiz Capitulino .help = "start gdbserver on given device (default 'tcp::1234'), stop with 'none'", 320af4ce882SLuiz Capitulino .mhandler.cmd = do_gdbserver, 321d7f9b689SLuiz Capitulino }, 322d7f9b689SLuiz Capitulino 3232313086aSBlue SwirlSTEXI 3242313086aSBlue Swirl@item gdbserver [@var{port}] 32570fcbbe7SStefan Weil@findex gdbserver 3262313086aSBlue SwirlStart gdbserver session (default @var{port}=1234) 3272313086aSBlue SwirlETEXI 3282313086aSBlue Swirl 329d7f9b689SLuiz Capitulino { 330d7f9b689SLuiz Capitulino .name = "x", 331d7f9b689SLuiz Capitulino .args_type = "fmt:/,addr:l", 332d7f9b689SLuiz Capitulino .params = "/fmt addr", 333d7f9b689SLuiz Capitulino .help = "virtual memory dump starting at 'addr'", 334af4ce882SLuiz Capitulino .mhandler.cmd = do_memory_dump, 335d7f9b689SLuiz Capitulino }, 336d7f9b689SLuiz Capitulino 3372313086aSBlue SwirlSTEXI 3382313086aSBlue Swirl@item x/fmt @var{addr} 33970fcbbe7SStefan Weil@findex x 3402313086aSBlue SwirlVirtual memory dump starting at @var{addr}. 3412313086aSBlue SwirlETEXI 3422313086aSBlue Swirl 343d7f9b689SLuiz Capitulino { 344d7f9b689SLuiz Capitulino .name = "xp", 345d7f9b689SLuiz Capitulino .args_type = "fmt:/,addr:l", 346d7f9b689SLuiz Capitulino .params = "/fmt addr", 347d7f9b689SLuiz Capitulino .help = "physical memory dump starting at 'addr'", 348af4ce882SLuiz Capitulino .mhandler.cmd = do_physical_memory_dump, 349d7f9b689SLuiz Capitulino }, 350d7f9b689SLuiz Capitulino 3512313086aSBlue SwirlSTEXI 3522313086aSBlue Swirl@item xp /@var{fmt} @var{addr} 35370fcbbe7SStefan Weil@findex xp 3542313086aSBlue SwirlPhysical memory dump starting at @var{addr}. 3552313086aSBlue Swirl 3562313086aSBlue Swirl@var{fmt} is a format which tells the command how to format the 3572313086aSBlue Swirldata. Its syntax is: @option{/@{count@}@{format@}@{size@}} 3582313086aSBlue Swirl 3592313086aSBlue Swirl@table @var 3602313086aSBlue Swirl@item count 3612313086aSBlue Swirlis the number of items to be dumped. 3622313086aSBlue Swirl 3632313086aSBlue Swirl@item format 3642313086aSBlue Swirlcan be x (hex), d (signed decimal), u (unsigned decimal), o (octal), 3652313086aSBlue Swirlc (char) or i (asm instruction). 3662313086aSBlue Swirl 3672313086aSBlue Swirl@item size 3682313086aSBlue Swirlcan be b (8 bits), h (16 bits), w (32 bits) or g (64 bits). On x86, 3692313086aSBlue Swirl@code{h} or @code{w} can be specified with the @code{i} format to 3702313086aSBlue Swirlrespectively select 16 or 32 bit code instruction size. 3712313086aSBlue Swirl 3722313086aSBlue Swirl@end table 3732313086aSBlue Swirl 3742313086aSBlue SwirlExamples: 3752313086aSBlue Swirl@itemize 3762313086aSBlue Swirl@item 3772313086aSBlue SwirlDump 10 instructions at the current instruction pointer: 3782313086aSBlue Swirl@example 3792313086aSBlue Swirl(qemu) x/10i $eip 3802313086aSBlue Swirl0x90107063: ret 3812313086aSBlue Swirl0x90107064: sti 3822313086aSBlue Swirl0x90107065: lea 0x0(%esi,1),%esi 3832313086aSBlue Swirl0x90107069: lea 0x0(%edi,1),%edi 3842313086aSBlue Swirl0x90107070: ret 3852313086aSBlue Swirl0x90107071: jmp 0x90107080 3862313086aSBlue Swirl0x90107073: nop 3872313086aSBlue Swirl0x90107074: nop 3882313086aSBlue Swirl0x90107075: nop 3892313086aSBlue Swirl0x90107076: nop 3902313086aSBlue Swirl@end example 3912313086aSBlue Swirl 3922313086aSBlue Swirl@item 3932313086aSBlue SwirlDump 80 16 bit values at the start of the video memory. 3942313086aSBlue Swirl@smallexample 3952313086aSBlue Swirl(qemu) xp/80hx 0xb8000 3962313086aSBlue Swirl0x000b8000: 0x0b50 0x0b6c 0x0b65 0x0b78 0x0b38 0x0b36 0x0b2f 0x0b42 3972313086aSBlue Swirl0x000b8010: 0x0b6f 0x0b63 0x0b68 0x0b73 0x0b20 0x0b56 0x0b47 0x0b41 3982313086aSBlue Swirl0x000b8020: 0x0b42 0x0b69 0x0b6f 0x0b73 0x0b20 0x0b63 0x0b75 0x0b72 3992313086aSBlue Swirl0x000b8030: 0x0b72 0x0b65 0x0b6e 0x0b74 0x0b2d 0x0b63 0x0b76 0x0b73 4002313086aSBlue Swirl0x000b8040: 0x0b20 0x0b30 0x0b35 0x0b20 0x0b4e 0x0b6f 0x0b76 0x0b20 4012313086aSBlue Swirl0x000b8050: 0x0b32 0x0b30 0x0b30 0x0b33 0x0720 0x0720 0x0720 0x0720 4022313086aSBlue Swirl0x000b8060: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 4032313086aSBlue Swirl0x000b8070: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 4042313086aSBlue Swirl0x000b8080: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 4052313086aSBlue Swirl0x000b8090: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 4062313086aSBlue Swirl@end smallexample 4072313086aSBlue Swirl@end itemize 4082313086aSBlue SwirlETEXI 4092313086aSBlue Swirl 410d7f9b689SLuiz Capitulino { 411d7f9b689SLuiz Capitulino .name = "p|print", 412d7f9b689SLuiz Capitulino .args_type = "fmt:/,val:l", 413d7f9b689SLuiz Capitulino .params = "/fmt expr", 414d7f9b689SLuiz Capitulino .help = "print expression value (use $reg for CPU register access)", 415af4ce882SLuiz Capitulino .mhandler.cmd = do_print, 416d7f9b689SLuiz Capitulino }, 417d7f9b689SLuiz Capitulino 4182313086aSBlue SwirlSTEXI 4192313086aSBlue Swirl@item p or print/@var{fmt} @var{expr} 42070fcbbe7SStefan Weil@findex print 4212313086aSBlue Swirl 4222313086aSBlue SwirlPrint expression value. Only the @var{format} part of @var{fmt} is 4232313086aSBlue Swirlused. 4242313086aSBlue SwirlETEXI 4252313086aSBlue Swirl 426d7f9b689SLuiz Capitulino { 427d7f9b689SLuiz Capitulino .name = "i", 428d7f9b689SLuiz Capitulino .args_type = "fmt:/,addr:i,index:i.", 429d7f9b689SLuiz Capitulino .params = "/fmt addr", 430d7f9b689SLuiz Capitulino .help = "I/O port read", 431af4ce882SLuiz Capitulino .mhandler.cmd = do_ioport_read, 432d7f9b689SLuiz Capitulino }, 433d7f9b689SLuiz Capitulino 4342313086aSBlue SwirlSTEXI 4352313086aSBlue SwirlRead I/O port. 4362313086aSBlue SwirlETEXI 4372313086aSBlue Swirl 438d7f9b689SLuiz Capitulino { 439d7f9b689SLuiz Capitulino .name = "o", 440d7f9b689SLuiz Capitulino .args_type = "fmt:/,addr:i,val:i", 441d7f9b689SLuiz Capitulino .params = "/fmt addr value", 442d7f9b689SLuiz Capitulino .help = "I/O port write", 443af4ce882SLuiz Capitulino .mhandler.cmd = do_ioport_write, 444d7f9b689SLuiz Capitulino }, 445d7f9b689SLuiz Capitulino 446f114784fSJan KiszkaSTEXI 447f114784fSJan KiszkaWrite to I/O port. 448f114784fSJan KiszkaETEXI 4492313086aSBlue Swirl 450d7f9b689SLuiz Capitulino { 451d7f9b689SLuiz Capitulino .name = "sendkey", 452d7f9b689SLuiz Capitulino .args_type = "string:s,hold_time:i?", 453d7f9b689SLuiz Capitulino .params = "keys [hold_ms]", 454d7f9b689SLuiz Capitulino .help = "send keys to the VM (e.g. 'sendkey ctrl-alt-f1', default hold time=100 ms)", 455af4ce882SLuiz Capitulino .mhandler.cmd = do_sendkey, 456d7f9b689SLuiz Capitulino }, 457d7f9b689SLuiz Capitulino 4582313086aSBlue SwirlSTEXI 4592313086aSBlue Swirl@item sendkey @var{keys} 46070fcbbe7SStefan Weil@findex sendkey 4612313086aSBlue Swirl 4622313086aSBlue SwirlSend @var{keys} to the emulator. @var{keys} could be the name of the 4632313086aSBlue Swirlkey or @code{#} followed by the raw value in either decimal or hexadecimal 4642313086aSBlue Swirlformat. Use @code{-} to press several keys simultaneously. Example: 4652313086aSBlue Swirl@example 4662313086aSBlue Swirlsendkey ctrl-alt-f1 4672313086aSBlue Swirl@end example 4682313086aSBlue Swirl 4692313086aSBlue SwirlThis command is useful to send keys that your graphical user interface 4702313086aSBlue Swirlintercepts at low level, such as @code{ctrl-alt-f1} in X Window. 4712313086aSBlue SwirlETEXI 4722313086aSBlue Swirl 473d7f9b689SLuiz Capitulino { 474d7f9b689SLuiz Capitulino .name = "system_reset", 475d7f9b689SLuiz Capitulino .args_type = "", 476d7f9b689SLuiz Capitulino .params = "", 477d7f9b689SLuiz Capitulino .help = "reset the system", 47838d22653SLuiz Capitulino .mhandler.cmd = hmp_system_reset, 479d7f9b689SLuiz Capitulino }, 480d7f9b689SLuiz Capitulino 4812313086aSBlue SwirlSTEXI 4822313086aSBlue Swirl@item system_reset 48370fcbbe7SStefan Weil@findex system_reset 4842313086aSBlue Swirl 4852313086aSBlue SwirlReset the system. 4862313086aSBlue SwirlETEXI 4872313086aSBlue Swirl 488d7f9b689SLuiz Capitulino { 489d7f9b689SLuiz Capitulino .name = "system_powerdown", 490d7f9b689SLuiz Capitulino .args_type = "", 491d7f9b689SLuiz Capitulino .params = "", 492d7f9b689SLuiz Capitulino .help = "send system power down event", 4935bc465e4SLuiz Capitulino .mhandler.cmd = hmp_system_powerdown, 494d7f9b689SLuiz Capitulino }, 495d7f9b689SLuiz Capitulino 4962313086aSBlue SwirlSTEXI 4972313086aSBlue Swirl@item system_powerdown 49870fcbbe7SStefan Weil@findex system_powerdown 4992313086aSBlue Swirl 5002313086aSBlue SwirlPower down the system (if supported). 5012313086aSBlue SwirlETEXI 5022313086aSBlue Swirl 503d7f9b689SLuiz Capitulino { 504d7f9b689SLuiz Capitulino .name = "sum", 505d7f9b689SLuiz Capitulino .args_type = "start:i,size:i", 506d7f9b689SLuiz Capitulino .params = "addr size", 507d7f9b689SLuiz Capitulino .help = "compute the checksum of a memory region", 508af4ce882SLuiz Capitulino .mhandler.cmd = do_sum, 509d7f9b689SLuiz Capitulino }, 510d7f9b689SLuiz Capitulino 5112313086aSBlue SwirlSTEXI 5122313086aSBlue Swirl@item sum @var{addr} @var{size} 51370fcbbe7SStefan Weil@findex sum 5142313086aSBlue Swirl 5152313086aSBlue SwirlCompute the checksum of a memory region. 5162313086aSBlue SwirlETEXI 5172313086aSBlue Swirl 518d7f9b689SLuiz Capitulino { 519d7f9b689SLuiz Capitulino .name = "usb_add", 520d7f9b689SLuiz Capitulino .args_type = "devname:s", 521d7f9b689SLuiz Capitulino .params = "device", 522d7f9b689SLuiz Capitulino .help = "add USB device (e.g. 'host:bus.addr' or 'host:vendor_id:product_id')", 523af4ce882SLuiz Capitulino .mhandler.cmd = do_usb_add, 524d7f9b689SLuiz Capitulino }, 525d7f9b689SLuiz Capitulino 5262313086aSBlue SwirlSTEXI 5272313086aSBlue Swirl@item usb_add @var{devname} 52870fcbbe7SStefan Weil@findex usb_add 5292313086aSBlue Swirl 5302313086aSBlue SwirlAdd the USB device @var{devname}. For details of available devices see 5312313086aSBlue Swirl@ref{usb_devices} 5322313086aSBlue SwirlETEXI 5332313086aSBlue Swirl 534d7f9b689SLuiz Capitulino { 535d7f9b689SLuiz Capitulino .name = "usb_del", 536d7f9b689SLuiz Capitulino .args_type = "devname:s", 537d7f9b689SLuiz Capitulino .params = "device", 538d7f9b689SLuiz Capitulino .help = "remove USB device 'bus.addr'", 539af4ce882SLuiz Capitulino .mhandler.cmd = do_usb_del, 540d7f9b689SLuiz Capitulino }, 541d7f9b689SLuiz Capitulino 5422313086aSBlue SwirlSTEXI 5432313086aSBlue Swirl@item usb_del @var{devname} 54470fcbbe7SStefan Weil@findex usb_del 5452313086aSBlue Swirl 5462313086aSBlue SwirlRemove the USB device @var{devname} from the QEMU virtual USB 5472313086aSBlue Swirlhub. @var{devname} has the syntax @code{bus.addr}. Use the monitor 5482313086aSBlue Swirlcommand @code{info usb} to see the devices you can remove. 5492313086aSBlue SwirlETEXI 5502313086aSBlue Swirl 551d7f9b689SLuiz Capitulino { 552d7f9b689SLuiz Capitulino .name = "device_add", 553c7e4e8ceSMarkus Armbruster .args_type = "device:O", 554c7e4e8ceSMarkus Armbruster .params = "driver[,prop=value][,...]", 555d7f9b689SLuiz Capitulino .help = "add device, like -device on the command line", 5568bc27249SMarkus Armbruster .user_print = monitor_user_noop, 5578bc27249SMarkus Armbruster .mhandler.cmd_new = do_device_add, 558d7f9b689SLuiz Capitulino }, 559d7f9b689SLuiz Capitulino 5603418bd25SGerd HoffmannSTEXI 5613418bd25SGerd Hoffmann@item device_add @var{config} 56270fcbbe7SStefan Weil@findex device_add 5633418bd25SGerd Hoffmann 5643418bd25SGerd HoffmannAdd device. 5653418bd25SGerd HoffmannETEXI 5663418bd25SGerd Hoffmann 567d7f9b689SLuiz Capitulino { 568d7f9b689SLuiz Capitulino .name = "device_del", 569d7f9b689SLuiz Capitulino .args_type = "id:s", 570d7f9b689SLuiz Capitulino .params = "device", 571d7f9b689SLuiz Capitulino .help = "remove device", 57217a38eaaSMarkus Armbruster .user_print = monitor_user_noop, 57317a38eaaSMarkus Armbruster .mhandler.cmd_new = do_device_del, 574d7f9b689SLuiz Capitulino }, 575d7f9b689SLuiz Capitulino 5763418bd25SGerd HoffmannSTEXI 5773418bd25SGerd Hoffmann@item device_del @var{id} 57870fcbbe7SStefan Weil@findex device_del 5793418bd25SGerd Hoffmann 5803418bd25SGerd HoffmannRemove device @var{id}. 5813418bd25SGerd HoffmannETEXI 5823418bd25SGerd Hoffmann 583d7f9b689SLuiz Capitulino { 584d7f9b689SLuiz Capitulino .name = "cpu", 585d7f9b689SLuiz Capitulino .args_type = "index:i", 586d7f9b689SLuiz Capitulino .params = "index", 587d7f9b689SLuiz Capitulino .help = "set the default CPU", 588755f1968SLuiz Capitulino .mhandler.cmd = hmp_cpu, 589d7f9b689SLuiz Capitulino }, 5903418bd25SGerd Hoffmann 5912313086aSBlue SwirlSTEXI 592c427ea9cSMarkus Armbruster@item cpu @var{index} 593c427ea9cSMarkus Armbruster@findex cpu 5942313086aSBlue SwirlSet the default CPU. 5952313086aSBlue SwirlETEXI 5962313086aSBlue Swirl 597d7f9b689SLuiz Capitulino { 598d7f9b689SLuiz Capitulino .name = "mouse_move", 599d7f9b689SLuiz Capitulino .args_type = "dx_str:s,dy_str:s,dz_str:s?", 600d7f9b689SLuiz Capitulino .params = "dx dy [dz]", 601d7f9b689SLuiz Capitulino .help = "send mouse move events", 602af4ce882SLuiz Capitulino .mhandler.cmd = do_mouse_move, 603d7f9b689SLuiz Capitulino }, 604d7f9b689SLuiz Capitulino 6052313086aSBlue SwirlSTEXI 6062313086aSBlue Swirl@item mouse_move @var{dx} @var{dy} [@var{dz}] 60770fcbbe7SStefan Weil@findex mouse_move 6082313086aSBlue SwirlMove the active mouse to the specified coordinates @var{dx} @var{dy} 6092313086aSBlue Swirlwith optional scroll axis @var{dz}. 6102313086aSBlue SwirlETEXI 6112313086aSBlue Swirl 612d7f9b689SLuiz Capitulino { 613d7f9b689SLuiz Capitulino .name = "mouse_button", 614d7f9b689SLuiz Capitulino .args_type = "button_state:i", 615d7f9b689SLuiz Capitulino .params = "state", 616d7f9b689SLuiz Capitulino .help = "change mouse button state (1=L, 2=M, 4=R)", 617af4ce882SLuiz Capitulino .mhandler.cmd = do_mouse_button, 618d7f9b689SLuiz Capitulino }, 619d7f9b689SLuiz Capitulino 6202313086aSBlue SwirlSTEXI 6212313086aSBlue Swirl@item mouse_button @var{val} 62270fcbbe7SStefan Weil@findex mouse_button 6232313086aSBlue SwirlChange the active mouse button state @var{val} (1=L, 2=M, 4=R). 6242313086aSBlue SwirlETEXI 6252313086aSBlue Swirl 626d7f9b689SLuiz Capitulino { 627d7f9b689SLuiz Capitulino .name = "mouse_set", 628d7f9b689SLuiz Capitulino .args_type = "index:i", 629d7f9b689SLuiz Capitulino .params = "index", 630d7f9b689SLuiz Capitulino .help = "set which mouse device receives events", 631af4ce882SLuiz Capitulino .mhandler.cmd = do_mouse_set, 632d7f9b689SLuiz Capitulino }, 633d7f9b689SLuiz Capitulino 6342313086aSBlue SwirlSTEXI 6352313086aSBlue Swirl@item mouse_set @var{index} 63670fcbbe7SStefan Weil@findex mouse_set 6372313086aSBlue SwirlSet which mouse device receives events at given @var{index}, index 6382313086aSBlue Swirlcan be obtained with 6392313086aSBlue Swirl@example 6402313086aSBlue Swirlinfo mice 6412313086aSBlue Swirl@end example 6422313086aSBlue SwirlETEXI 6432313086aSBlue Swirl 6442313086aSBlue Swirl#ifdef HAS_AUDIO 645d7f9b689SLuiz Capitulino { 646d7f9b689SLuiz Capitulino .name = "wavcapture", 647d7f9b689SLuiz Capitulino .args_type = "path:F,freq:i?,bits:i?,nchannels:i?", 648d7f9b689SLuiz Capitulino .params = "path [frequency [bits [channels]]]", 649d7f9b689SLuiz Capitulino .help = "capture audio to a wave file (default frequency=44100 bits=16 channels=2)", 650af4ce882SLuiz Capitulino .mhandler.cmd = do_wav_capture, 651d7f9b689SLuiz Capitulino }, 6522313086aSBlue Swirl#endif 6532313086aSBlue SwirlSTEXI 6542313086aSBlue Swirl@item wavcapture @var{filename} [@var{frequency} [@var{bits} [@var{channels}]]] 65570fcbbe7SStefan Weil@findex wavcapture 6562313086aSBlue SwirlCapture audio into @var{filename}. Using sample rate @var{frequency} 6572313086aSBlue Swirlbits per sample @var{bits} and number of channels @var{channels}. 6582313086aSBlue Swirl 6592313086aSBlue SwirlDefaults: 6602313086aSBlue Swirl@itemize @minus 6612313086aSBlue Swirl@item Sample rate = 44100 Hz - CD quality 6622313086aSBlue Swirl@item Bits = 16 6632313086aSBlue Swirl@item Number of channels = 2 - Stereo 6642313086aSBlue Swirl@end itemize 6652313086aSBlue SwirlETEXI 6662313086aSBlue Swirl 6672313086aSBlue Swirl#ifdef HAS_AUDIO 668d7f9b689SLuiz Capitulino { 669d7f9b689SLuiz Capitulino .name = "stopcapture", 670d7f9b689SLuiz Capitulino .args_type = "n:i", 671d7f9b689SLuiz Capitulino .params = "capture index", 672d7f9b689SLuiz Capitulino .help = "stop capture", 673af4ce882SLuiz Capitulino .mhandler.cmd = do_stop_capture, 674d7f9b689SLuiz Capitulino }, 6752313086aSBlue Swirl#endif 6762313086aSBlue SwirlSTEXI 6772313086aSBlue Swirl@item stopcapture @var{index} 67870fcbbe7SStefan Weil@findex stopcapture 6792313086aSBlue SwirlStop capture with a given @var{index}, index can be obtained with 6802313086aSBlue Swirl@example 6812313086aSBlue Swirlinfo capture 6822313086aSBlue Swirl@end example 6832313086aSBlue SwirlETEXI 6842313086aSBlue Swirl 685d7f9b689SLuiz Capitulino { 686d7f9b689SLuiz Capitulino .name = "memsave", 687d7f9b689SLuiz Capitulino .args_type = "val:l,size:i,filename:s", 688d7f9b689SLuiz Capitulino .params = "addr size file", 689d7f9b689SLuiz Capitulino .help = "save to disk virtual memory dump starting at 'addr' of size 'size'", 6900cfd6a9aSLuiz Capitulino .mhandler.cmd = hmp_memsave, 691d7f9b689SLuiz Capitulino }, 692d7f9b689SLuiz Capitulino 6932313086aSBlue SwirlSTEXI 6942313086aSBlue Swirl@item memsave @var{addr} @var{size} @var{file} 69570fcbbe7SStefan Weil@findex memsave 6962313086aSBlue Swirlsave to disk virtual memory dump starting at @var{addr} of size @var{size}. 6972313086aSBlue SwirlETEXI 6982313086aSBlue Swirl 699d7f9b689SLuiz Capitulino { 700d7f9b689SLuiz Capitulino .name = "pmemsave", 701d7f9b689SLuiz Capitulino .args_type = "val:l,size:i,filename:s", 702d7f9b689SLuiz Capitulino .params = "addr size file", 703d7f9b689SLuiz Capitulino .help = "save to disk physical memory dump starting at 'addr' of size 'size'", 7046d3962bfSLuiz Capitulino .mhandler.cmd = hmp_pmemsave, 705d7f9b689SLuiz Capitulino }, 706d7f9b689SLuiz Capitulino 7072313086aSBlue SwirlSTEXI 7082313086aSBlue Swirl@item pmemsave @var{addr} @var{size} @var{file} 70970fcbbe7SStefan Weil@findex pmemsave 7102313086aSBlue Swirlsave to disk physical memory dump starting at @var{addr} of size @var{size}. 7112313086aSBlue SwirlETEXI 7122313086aSBlue Swirl 713d7f9b689SLuiz Capitulino { 714d7f9b689SLuiz Capitulino .name = "boot_set", 715d7f9b689SLuiz Capitulino .args_type = "bootdevice:s", 716d7f9b689SLuiz Capitulino .params = "bootdevice", 717d7f9b689SLuiz Capitulino .help = "define new values for the boot device list", 718af4ce882SLuiz Capitulino .mhandler.cmd = do_boot_set, 719d7f9b689SLuiz Capitulino }, 720d7f9b689SLuiz Capitulino 7212313086aSBlue SwirlSTEXI 7222313086aSBlue Swirl@item boot_set @var{bootdevicelist} 72370fcbbe7SStefan Weil@findex boot_set 7242313086aSBlue Swirl 7252313086aSBlue SwirlDefine new values for the boot device list. Those values will override 7262313086aSBlue Swirlthe values specified on the command line through the @code{-boot} option. 7272313086aSBlue Swirl 7282313086aSBlue SwirlThe values that can be specified here depend on the machine type, but are 7292313086aSBlue Swirlthe same that can be specified in the @code{-boot} command line option. 7302313086aSBlue SwirlETEXI 7312313086aSBlue Swirl 7322313086aSBlue Swirl#if defined(TARGET_I386) 733d7f9b689SLuiz Capitulino { 734d7f9b689SLuiz Capitulino .name = "nmi", 735e9b4b432SLuiz Capitulino .args_type = "", 736e9b4b432SLuiz Capitulino .params = "", 737e9b4b432SLuiz Capitulino .help = "inject an NMI on all guest's CPUs", 738ab49ab5cSLuiz Capitulino .mhandler.cmd = hmp_inject_nmi, 739d7f9b689SLuiz Capitulino }, 7402313086aSBlue Swirl#endif 7412313086aSBlue SwirlSTEXI 7422313086aSBlue Swirl@item nmi @var{cpu} 74370fcbbe7SStefan Weil@findex nmi 7442313086aSBlue SwirlInject an NMI on the given CPU (x86 only). 7452313086aSBlue SwirlETEXI 7462313086aSBlue Swirl 747d7f9b689SLuiz Capitulino { 748d7f9b689SLuiz Capitulino .name = "migrate", 749fbc3d96cSlirans@il.ibm.com .args_type = "detach:-d,blk:-b,inc:-i,uri:s", 750fbc3d96cSlirans@il.ibm.com .params = "[-d] [-b] [-i] uri", 751fbc3d96cSlirans@il.ibm.com .help = "migrate to URI (using -d to not wait for completion)" 752fbc3d96cSlirans@il.ibm.com "\n\t\t\t -b for migration without shared storage with" 753fbc3d96cSlirans@il.ibm.com " full copy of disk\n\t\t\t -i for migration without " 754fbc3d96cSlirans@il.ibm.com "shared storage with incremental copy of disk " 755fbc3d96cSlirans@il.ibm.com "(base image shared between src and destination)", 7565f79da00SLuiz Capitulino .user_print = monitor_user_noop, 757261394dbSLuiz Capitulino .mhandler.cmd_new = do_migrate, 758d7f9b689SLuiz Capitulino }, 759d7f9b689SLuiz Capitulino 760fbc3d96cSlirans@il.ibm.com 7612313086aSBlue SwirlSTEXI 762fbc3d96cSlirans@il.ibm.com@item migrate [-d] [-b] [-i] @var{uri} 76370fcbbe7SStefan Weil@findex migrate 7642313086aSBlue SwirlMigrate to @var{uri} (using -d to not wait for completion). 765fbc3d96cSlirans@il.ibm.com -b for migration with full copy of disk 766fbc3d96cSlirans@il.ibm.com -i for migration with incremental copy of disk (base image is shared) 7672313086aSBlue SwirlETEXI 7682313086aSBlue Swirl 769d7f9b689SLuiz Capitulino { 770d7f9b689SLuiz Capitulino .name = "migrate_cancel", 771d7f9b689SLuiz Capitulino .args_type = "", 772d7f9b689SLuiz Capitulino .params = "", 773d7f9b689SLuiz Capitulino .help = "cancel the current VM migration", 7746cdedb07SLuiz Capitulino .mhandler.cmd = hmp_migrate_cancel, 775d7f9b689SLuiz Capitulino }, 776d7f9b689SLuiz Capitulino 7772313086aSBlue SwirlSTEXI 7782313086aSBlue Swirl@item migrate_cancel 77970fcbbe7SStefan Weil@findex migrate_cancel 7802313086aSBlue SwirlCancel the current VM migration. 7812313086aSBlue SwirlETEXI 7822313086aSBlue Swirl 783d7f9b689SLuiz Capitulino { 784d7f9b689SLuiz Capitulino .name = "migrate_set_speed", 785ed3d4a80SJes Sorensen .args_type = "value:o", 786d7f9b689SLuiz Capitulino .params = "value", 787ed3d4a80SJes Sorensen .help = "set maximum speed (in bytes) for migrations. " 788ed3d4a80SJes Sorensen "Defaults to MB if no size suffix is specified, ie. B/K/M/G/T", 7895fd9083cSMarkus Armbruster .user_print = monitor_user_noop, 790261394dbSLuiz Capitulino .mhandler.cmd_new = do_migrate_set_speed, 791d7f9b689SLuiz Capitulino }, 792d7f9b689SLuiz Capitulino 7932313086aSBlue SwirlSTEXI 7942313086aSBlue Swirl@item migrate_set_speed @var{value} 79570fcbbe7SStefan Weil@findex migrate_set_speed 7962313086aSBlue SwirlSet maximum speed to @var{value} (in bytes) for migrations. 7972313086aSBlue SwirlETEXI 7982313086aSBlue Swirl 799d7f9b689SLuiz Capitulino { 800d7f9b689SLuiz Capitulino .name = "migrate_set_downtime", 801b0fbf7d3SMarkus Armbruster .args_type = "value:T", 802d7f9b689SLuiz Capitulino .params = "value", 803d7f9b689SLuiz Capitulino .help = "set maximum tolerated downtime (in seconds) for migrations", 804*4f0a993bSLuiz Capitulino .mhandler.cmd = hmp_migrate_set_downtime, 805d7f9b689SLuiz Capitulino }, 8062ea42952SGlauber Costa 8072ea42952SGlauber CostaSTEXI 8082ea42952SGlauber Costa@item migrate_set_downtime @var{second} 80970fcbbe7SStefan Weil@findex migrate_set_downtime 8102ea42952SGlauber CostaSet maximum tolerated downtime (in seconds) for migration. 8112ea42952SGlauber CostaETEXI 8122ea42952SGlauber Costa 813f8882568SJes Sorensen { 8142ea720dbSJes Sorensen .name = "client_migrate_info", 8152ea720dbSJes Sorensen .args_type = "protocol:s,hostname:s,port:i?,tls-port:i?,cert-subject:s?", 8162ea720dbSJes Sorensen .params = "protocol hostname port tls-port cert-subject", 8172ea720dbSJes Sorensen .help = "send migration info to spice/vnc client", 8182ea720dbSJes Sorensen .user_print = monitor_user_noop, 819edc5cb1aSYonit Halperin .mhandler.cmd_async = client_migrate_info, 820edc5cb1aSYonit Halperin .flags = MONITOR_CMD_ASYNC, 821f8882568SJes Sorensen }, 822f8882568SJes Sorensen 823f8882568SJes SorensenSTEXI 824e866e239SGerd Hoffmann@item client_migrate_info @var{protocol} @var{hostname} @var{port} @var{tls-port} @var{cert-subject} 825e866e239SGerd Hoffmann@findex client_migrate_info 826e866e239SGerd HoffmannSet the spice/vnc connection info for the migration target. The spice/vnc 827e866e239SGerd Hoffmannserver will ask the spice/vnc client to automatically reconnect using the 828e866e239SGerd Hoffmannnew parameters (if specified) once the vm migration finished successfully. 829e866e239SGerd HoffmannETEXI 830e866e239SGerd Hoffmann 831e866e239SGerd Hoffmann { 8322ea720dbSJes Sorensen .name = "snapshot_blkdev", 833d967b2f1SJes Sorensen .args_type = "device:B,snapshot-file:s?,format:s?", 8342ea720dbSJes Sorensen .params = "device [new-image-file] [format]", 8352ea720dbSJes Sorensen .help = "initiates a live snapshot\n\t\t\t" 8362ea720dbSJes Sorensen "of device. If a new image file is specified, the\n\t\t\t" 8372ea720dbSJes Sorensen "new image file will become the new root image.\n\t\t\t" 8382ea720dbSJes Sorensen "If format is specified, the snapshot file will\n\t\t\t" 8392ea720dbSJes Sorensen "be created in that format. Otherwise the\n\t\t\t" 8402ea720dbSJes Sorensen "snapshot will be internal! (currently unsupported)", 8416106e249SLuiz Capitulino .mhandler.cmd = hmp_snapshot_blkdev, 842e866e239SGerd Hoffmann }, 843e866e239SGerd Hoffmann 844e866e239SGerd HoffmannSTEXI 845f8882568SJes Sorensen@item snapshot_blkdev 846f8882568SJes Sorensen@findex snapshot_blkdev 847f8882568SJes SorensenSnapshot device, using snapshot file as target if provided 848f8882568SJes SorensenETEXI 849f8882568SJes Sorensen 8502313086aSBlue Swirl#if defined(TARGET_I386) 851d7f9b689SLuiz Capitulino { 852d7f9b689SLuiz Capitulino .name = "drive_add", 853d7f9b689SLuiz Capitulino .args_type = "pci_addr:s,opts:s", 854d7f9b689SLuiz Capitulino .params = "[[<domain>:]<bus>:]<slot>\n" 8552313086aSBlue Swirl "[file=file][,if=type][,bus=n]\n" 856fb0490f6SStefan Hajnoczi "[,unit=m][,media=d][,index=i]\n" 8572313086aSBlue Swirl "[,cyls=c,heads=h,secs=s[,trans=t]]\n" 858fb0490f6SStefan Hajnoczi "[,snapshot=on|off][,cache=on|off]\n" 859fb0490f6SStefan Hajnoczi "[,readonly=on|off][,copy-on-read=on|off]", 860d7f9b689SLuiz Capitulino .help = "add drive to PCI storage controller", 861af4ce882SLuiz Capitulino .mhandler.cmd = drive_hot_add, 862d7f9b689SLuiz Capitulino }, 8632313086aSBlue Swirl#endif 864d7f9b689SLuiz Capitulino 8652313086aSBlue SwirlSTEXI 8662313086aSBlue Swirl@item drive_add 86770fcbbe7SStefan Weil@findex drive_add 8682313086aSBlue SwirlAdd drive to PCI storage controller. 8692313086aSBlue SwirlETEXI 8702313086aSBlue Swirl 8712313086aSBlue Swirl#if defined(TARGET_I386) 872d7f9b689SLuiz Capitulino { 873d7f9b689SLuiz Capitulino .name = "pci_add", 874d7f9b689SLuiz Capitulino .args_type = "pci_addr:s,type:s,opts:s?", 875d7f9b689SLuiz Capitulino .params = "auto|[[<domain>:]<bus>:]<slot> nic|storage [[vlan=n][,macaddr=addr][,model=type]] [file=file][,if=type][,bus=nr]...", 876d7f9b689SLuiz Capitulino .help = "hot-add PCI device", 8776c6a58aeSMarkus Armbruster .mhandler.cmd = pci_device_hot_add, 878d7f9b689SLuiz Capitulino }, 8792313086aSBlue Swirl#endif 880d7f9b689SLuiz Capitulino 8812313086aSBlue SwirlSTEXI 8822313086aSBlue Swirl@item pci_add 88370fcbbe7SStefan Weil@findex pci_add 8842313086aSBlue SwirlHot-add PCI device. 8852313086aSBlue SwirlETEXI 8862313086aSBlue Swirl 8872313086aSBlue Swirl#if defined(TARGET_I386) 888d7f9b689SLuiz Capitulino { 889d7f9b689SLuiz Capitulino .name = "pci_del", 890d7f9b689SLuiz Capitulino .args_type = "pci_addr:s", 891d7f9b689SLuiz Capitulino .params = "[[<domain>:]<bus>:]<slot>", 892d7f9b689SLuiz Capitulino .help = "hot remove PCI device", 893b752daf0SMarkus Armbruster .mhandler.cmd = do_pci_device_hot_remove, 894d7f9b689SLuiz Capitulino }, 8952313086aSBlue Swirl#endif 896d7f9b689SLuiz Capitulino 8972313086aSBlue SwirlSTEXI 8982313086aSBlue Swirl@item pci_del 89970fcbbe7SStefan Weil@findex pci_del 9002313086aSBlue SwirlHot remove PCI device. 9012313086aSBlue SwirlETEXI 9022313086aSBlue Swirl 903d7f9b689SLuiz Capitulino { 9042ae63bdaSIsaku Yamahata .name = "pcie_aer_inject_error", 9052ae63bdaSIsaku Yamahata .args_type = "advisory_non_fatal:-a,correctable:-c," 9062ae63bdaSIsaku Yamahata "id:s,error_status:s," 9072ae63bdaSIsaku Yamahata "header0:i?,header1:i?,header2:i?,header3:i?," 9082ae63bdaSIsaku Yamahata "prefix0:i?,prefix1:i?,prefix2:i?,prefix3:i?", 9092ae63bdaSIsaku Yamahata .params = "[-a] [-c] id " 9102ae63bdaSIsaku Yamahata "<error_status> [<tlp header> [<tlp header prefix>]]", 9112ae63bdaSIsaku Yamahata .help = "inject pcie aer error\n\t\t\t" 9122ae63bdaSIsaku Yamahata " -a for advisory non fatal error\n\t\t\t" 9132ae63bdaSIsaku Yamahata " -c for correctable error\n\t\t\t" 9142ae63bdaSIsaku Yamahata "<id> = qdev device id\n\t\t\t" 9152ae63bdaSIsaku Yamahata "<error_status> = error string or 32bit\n\t\t\t" 9162ae63bdaSIsaku Yamahata "<tlb header> = 32bit x 4\n\t\t\t" 9172ae63bdaSIsaku Yamahata "<tlb header prefix> = 32bit x 4", 9182ae63bdaSIsaku Yamahata .user_print = pcie_aer_inject_error_print, 9192ae63bdaSIsaku Yamahata .mhandler.cmd_new = do_pcie_aer_inejct_error, 9202ae63bdaSIsaku Yamahata }, 9212ae63bdaSIsaku Yamahata 9222ae63bdaSIsaku YamahataSTEXI 9232ae63bdaSIsaku Yamahata@item pcie_aer_inject_error 9242ae63bdaSIsaku Yamahata@findex pcie_aer_inject_error 9252ae63bdaSIsaku YamahataInject PCIe AER error 9262ae63bdaSIsaku YamahataETEXI 9272ae63bdaSIsaku Yamahata 9282ae63bdaSIsaku Yamahata { 929d7f9b689SLuiz Capitulino .name = "host_net_add", 930d7f9b689SLuiz Capitulino .args_type = "device:s,opts:s?", 931d7f9b689SLuiz Capitulino .params = "tap|user|socket|vde|dump [options]", 932d7f9b689SLuiz Capitulino .help = "add host VLAN client", 933af4ce882SLuiz Capitulino .mhandler.cmd = net_host_device_add, 934d7f9b689SLuiz Capitulino }, 935d7f9b689SLuiz Capitulino 9362313086aSBlue SwirlSTEXI 9372313086aSBlue Swirl@item host_net_add 93870fcbbe7SStefan Weil@findex host_net_add 9392313086aSBlue SwirlAdd host VLAN client. 9402313086aSBlue SwirlETEXI 9412313086aSBlue Swirl 942d7f9b689SLuiz Capitulino { 943d7f9b689SLuiz Capitulino .name = "host_net_remove", 944d7f9b689SLuiz Capitulino .args_type = "vlan_id:i,device:s", 945d7f9b689SLuiz Capitulino .params = "vlan_id name", 946d7f9b689SLuiz Capitulino .help = "remove host VLAN client", 947af4ce882SLuiz Capitulino .mhandler.cmd = net_host_device_remove, 948d7f9b689SLuiz Capitulino }, 949d7f9b689SLuiz Capitulino 9502313086aSBlue SwirlSTEXI 9512313086aSBlue Swirl@item host_net_remove 95270fcbbe7SStefan Weil@findex host_net_remove 9532313086aSBlue SwirlRemove host VLAN client. 9542313086aSBlue SwirlETEXI 9552313086aSBlue Swirl 956ae82d324SMarkus Armbruster { 957ae82d324SMarkus Armbruster .name = "netdev_add", 958ae82d324SMarkus Armbruster .args_type = "netdev:O", 959ae82d324SMarkus Armbruster .params = "[user|tap|socket],id=str[,prop=value][,...]", 960ae82d324SMarkus Armbruster .help = "add host network device", 961ae82d324SMarkus Armbruster .user_print = monitor_user_noop, 962ae82d324SMarkus Armbruster .mhandler.cmd_new = do_netdev_add, 963ae82d324SMarkus Armbruster }, 964ae82d324SMarkus Armbruster 965ae82d324SMarkus ArmbrusterSTEXI 966ae82d324SMarkus Armbruster@item netdev_add 967ae82d324SMarkus Armbruster@findex netdev_add 968ae82d324SMarkus ArmbrusterAdd host network device. 969ae82d324SMarkus ArmbrusterETEXI 970ae82d324SMarkus Armbruster 971ae82d324SMarkus Armbruster { 972ae82d324SMarkus Armbruster .name = "netdev_del", 973ae82d324SMarkus Armbruster .args_type = "id:s", 974ae82d324SMarkus Armbruster .params = "id", 975ae82d324SMarkus Armbruster .help = "remove host network device", 976ae82d324SMarkus Armbruster .user_print = monitor_user_noop, 977ae82d324SMarkus Armbruster .mhandler.cmd_new = do_netdev_del, 978ae82d324SMarkus Armbruster }, 979ae82d324SMarkus Armbruster 980ae82d324SMarkus ArmbrusterSTEXI 981ae82d324SMarkus Armbruster@item netdev_del 982ae82d324SMarkus Armbruster@findex netdev_del 983ae82d324SMarkus ArmbrusterRemove host network device. 984ae82d324SMarkus ArmbrusterETEXI 985ae82d324SMarkus Armbruster 9862313086aSBlue Swirl#ifdef CONFIG_SLIRP 987d7f9b689SLuiz Capitulino { 988d7f9b689SLuiz Capitulino .name = "hostfwd_add", 989d7f9b689SLuiz Capitulino .args_type = "arg1:s,arg2:s?,arg3:s?", 990d7f9b689SLuiz Capitulino .params = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport", 991d7f9b689SLuiz Capitulino .help = "redirect TCP or UDP connections from host to guest (requires -net user)", 992af4ce882SLuiz Capitulino .mhandler.cmd = net_slirp_hostfwd_add, 993d7f9b689SLuiz Capitulino }, 99421413d68SMarkus Armbruster#endif 99521413d68SMarkus ArmbrusterSTEXI 99621413d68SMarkus Armbruster@item hostfwd_add 99721413d68SMarkus Armbruster@findex hostfwd_add 99821413d68SMarkus ArmbrusterRedirect TCP or UDP connections from host to guest (requires -net user). 99921413d68SMarkus ArmbrusterETEXI 1000d7f9b689SLuiz Capitulino 100121413d68SMarkus Armbruster#ifdef CONFIG_SLIRP 1002d7f9b689SLuiz Capitulino { 1003d7f9b689SLuiz Capitulino .name = "hostfwd_remove", 1004d7f9b689SLuiz Capitulino .args_type = "arg1:s,arg2:s?,arg3:s?", 1005d7f9b689SLuiz Capitulino .params = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport", 1006d7f9b689SLuiz Capitulino .help = "remove host-to-guest TCP or UDP redirection", 1007af4ce882SLuiz Capitulino .mhandler.cmd = net_slirp_hostfwd_remove, 1008d7f9b689SLuiz Capitulino }, 1009d7f9b689SLuiz Capitulino 10102313086aSBlue Swirl#endif 10112313086aSBlue SwirlSTEXI 101221413d68SMarkus Armbruster@item hostfwd_remove 101321413d68SMarkus Armbruster@findex hostfwd_remove 101421413d68SMarkus ArmbrusterRemove host-to-guest TCP or UDP redirection. 10152313086aSBlue SwirlETEXI 10162313086aSBlue Swirl 1017d7f9b689SLuiz Capitulino { 1018d7f9b689SLuiz Capitulino .name = "balloon", 10193b0bd6ecSLuiz Capitulino .args_type = "value:M", 1020d7f9b689SLuiz Capitulino .params = "target", 10213c05613aSRiccardo Magliocchetti .help = "request VM to change its memory allocation (in MB)", 1022d72f3264SLuiz Capitulino .mhandler.cmd = hmp_balloon, 1023d7f9b689SLuiz Capitulino }, 1024d7f9b689SLuiz Capitulino 10252313086aSBlue SwirlSTEXI 10262313086aSBlue Swirl@item balloon @var{value} 102770fcbbe7SStefan Weil@findex balloon 10282313086aSBlue SwirlRequest VM to change its memory allocation to @var{value} (in MB). 10292313086aSBlue SwirlETEXI 10302313086aSBlue Swirl 1031d7f9b689SLuiz Capitulino { 1032d7f9b689SLuiz Capitulino .name = "set_link", 1033c9b26a4cSMarkus Armbruster .args_type = "name:s,up:b", 1034c9b26a4cSMarkus Armbruster .params = "name on|off", 1035d7f9b689SLuiz Capitulino .help = "change the link status of a network adapter", 10364b37156cSLuiz Capitulino .mhandler.cmd = hmp_set_link, 1037d7f9b689SLuiz Capitulino }, 1038d7f9b689SLuiz Capitulino 10392313086aSBlue SwirlSTEXI 1040c9b26a4cSMarkus Armbruster@item set_link @var{name} [on|off] 104170fcbbe7SStefan Weil@findex set_link 1042c9b26a4cSMarkus ArmbrusterSwitch link @var{name} on (i.e. up) or off (i.e. down). 10432313086aSBlue SwirlETEXI 10442313086aSBlue Swirl 1045d7f9b689SLuiz Capitulino { 1046d7f9b689SLuiz Capitulino .name = "watchdog_action", 1047d7f9b689SLuiz Capitulino .args_type = "action:s", 1048d7f9b689SLuiz Capitulino .params = "[reset|shutdown|poweroff|pause|debug|none]", 1049d7f9b689SLuiz Capitulino .help = "change watchdog action", 1050af4ce882SLuiz Capitulino .mhandler.cmd = do_watchdog_action, 1051d7f9b689SLuiz Capitulino }, 1052d7f9b689SLuiz Capitulino 10532313086aSBlue SwirlSTEXI 10542313086aSBlue Swirl@item watchdog_action 105570fcbbe7SStefan Weil@findex watchdog_action 10562313086aSBlue SwirlChange watchdog action. 10572313086aSBlue SwirlETEXI 10582313086aSBlue Swirl 1059d7f9b689SLuiz Capitulino { 1060d7f9b689SLuiz Capitulino .name = "acl_show", 1061d7f9b689SLuiz Capitulino .args_type = "aclname:s", 1062d7f9b689SLuiz Capitulino .params = "aclname", 1063d7f9b689SLuiz Capitulino .help = "list rules in the access control list", 1064af4ce882SLuiz Capitulino .mhandler.cmd = do_acl_show, 1065d7f9b689SLuiz Capitulino }, 1066d7f9b689SLuiz Capitulino 10672313086aSBlue SwirlSTEXI 106815dfcd45SJan Kiszka@item acl_show @var{aclname} 106970fcbbe7SStefan Weil@findex acl_show 107015dfcd45SJan KiszkaList all the matching rules in the access control list, and the default 107115dfcd45SJan Kiszkapolicy. There are currently two named access control lists, 107215dfcd45SJan Kiszka@var{vnc.x509dname} and @var{vnc.username} matching on the x509 client 107315dfcd45SJan Kiszkacertificate distinguished name, and SASL username respectively. 107415dfcd45SJan KiszkaETEXI 10752313086aSBlue Swirl 1076d7f9b689SLuiz Capitulino { 1077d7f9b689SLuiz Capitulino .name = "acl_policy", 1078d7f9b689SLuiz Capitulino .args_type = "aclname:s,policy:s", 1079d7f9b689SLuiz Capitulino .params = "aclname allow|deny", 1080d7f9b689SLuiz Capitulino .help = "set default access control list policy", 1081af4ce882SLuiz Capitulino .mhandler.cmd = do_acl_policy, 1082d7f9b689SLuiz Capitulino }, 1083d7f9b689SLuiz Capitulino 108415dfcd45SJan KiszkaSTEXI 1085cbbfacc6SJan Kiszka@item acl_policy @var{aclname} @code{allow|deny} 108670fcbbe7SStefan Weil@findex acl_policy 108715dfcd45SJan KiszkaSet the default access control list policy, used in the event that 10882313086aSBlue Swirlnone of the explicit rules match. The default policy at startup is 108915dfcd45SJan Kiszkaalways @code{deny}. 109015dfcd45SJan KiszkaETEXI 109115dfcd45SJan Kiszka 1092d7f9b689SLuiz Capitulino { 1093d7f9b689SLuiz Capitulino .name = "acl_add", 1094d7f9b689SLuiz Capitulino .args_type = "aclname:s,match:s,policy:s,index:i?", 1095d7f9b689SLuiz Capitulino .params = "aclname match allow|deny [index]", 1096d7f9b689SLuiz Capitulino .help = "add a match rule to the access control list", 1097af4ce882SLuiz Capitulino .mhandler.cmd = do_acl_add, 1098d7f9b689SLuiz Capitulino }, 1099d7f9b689SLuiz Capitulino 110015dfcd45SJan KiszkaSTEXI 11010e4aec98SMarkus Armbruster@item acl_add @var{aclname} @var{match} @code{allow|deny} [@var{index}] 11020e4aec98SMarkus Armbruster@findex acl_add 110315dfcd45SJan KiszkaAdd a match rule to the access control list, allowing or denying access. 110415dfcd45SJan KiszkaThe match will normally be an exact username or x509 distinguished name, 110515dfcd45SJan Kiszkabut can optionally include wildcard globs. eg @code{*@@EXAMPLE.COM} to 110615dfcd45SJan Kiszkaallow all users in the @code{EXAMPLE.COM} kerberos realm. The match will 11072313086aSBlue Swirlnormally be appended to the end of the ACL, but can be inserted 110815dfcd45SJan Kiszkaearlier in the list if the optional @var{index} parameter is supplied. 110915dfcd45SJan KiszkaETEXI 111015dfcd45SJan Kiszka 1111d7f9b689SLuiz Capitulino { 1112d7f9b689SLuiz Capitulino .name = "acl_remove", 1113d7f9b689SLuiz Capitulino .args_type = "aclname:s,match:s", 1114d7f9b689SLuiz Capitulino .params = "aclname match", 1115d7f9b689SLuiz Capitulino .help = "remove a match rule from the access control list", 1116af4ce882SLuiz Capitulino .mhandler.cmd = do_acl_remove, 1117d7f9b689SLuiz Capitulino }, 1118d7f9b689SLuiz Capitulino 111915dfcd45SJan KiszkaSTEXI 112015dfcd45SJan Kiszka@item acl_remove @var{aclname} @var{match} 112170fcbbe7SStefan Weil@findex acl_remove 112215dfcd45SJan KiszkaRemove the specified match rule from the access control list. 112315dfcd45SJan KiszkaETEXI 112415dfcd45SJan Kiszka 1125d7f9b689SLuiz Capitulino { 1126d7f9b689SLuiz Capitulino .name = "acl_reset", 1127d7f9b689SLuiz Capitulino .args_type = "aclname:s", 1128d7f9b689SLuiz Capitulino .params = "aclname", 1129d7f9b689SLuiz Capitulino .help = "reset the access control list", 1130af4ce882SLuiz Capitulino .mhandler.cmd = do_acl_reset, 1131d7f9b689SLuiz Capitulino }, 1132d7f9b689SLuiz Capitulino 113315dfcd45SJan KiszkaSTEXI 11340e4aec98SMarkus Armbruster@item acl_reset @var{aclname} 11350e4aec98SMarkus Armbruster@findex acl_reset 113615dfcd45SJan KiszkaRemove all matches from the access control list, and set the default 11372313086aSBlue Swirlpolicy back to @code{deny}. 11382313086aSBlue SwirlETEXI 11392313086aSBlue Swirl 114079c4f6b0SHuang Ying#if defined(TARGET_I386) 1141d7f9b689SLuiz Capitulino 1142d7f9b689SLuiz Capitulino { 1143d7f9b689SLuiz Capitulino .name = "mce", 114431ce5e0cSJin Dongming .args_type = "broadcast:-b,cpu_index:i,bank:i,status:l,mcg_status:l,addr:l,misc:l", 114531ce5e0cSJin Dongming .params = "[-b] cpu bank status mcgstatus addr misc", 114631ce5e0cSJin Dongming .help = "inject a MCE on the given CPU [and broadcast to other CPUs with -b option]", 1147af4ce882SLuiz Capitulino .mhandler.cmd = do_inject_mce, 1148d7f9b689SLuiz Capitulino }, 1149d7f9b689SLuiz Capitulino 115079c4f6b0SHuang Ying#endif 115179c4f6b0SHuang YingSTEXI 115279c4f6b0SHuang Ying@item mce @var{cpu} @var{bank} @var{status} @var{mcgstatus} @var{addr} @var{misc} 115370fcbbe7SStefan Weil@findex mce (x86) 115479c4f6b0SHuang YingInject an MCE on the given CPU (x86 only). 115579c4f6b0SHuang YingETEXI 115679c4f6b0SHuang Ying 1157d7f9b689SLuiz Capitulino { 1158d7f9b689SLuiz Capitulino .name = "getfd", 1159d7f9b689SLuiz Capitulino .args_type = "fdname:s", 1160d7f9b689SLuiz Capitulino .params = "getfd name", 1161d7f9b689SLuiz Capitulino .help = "receive a file descriptor via SCM rights and assign it a name", 1162f0d6000aSLuiz Capitulino .user_print = monitor_user_noop, 1163261394dbSLuiz Capitulino .mhandler.cmd_new = do_getfd, 1164d7f9b689SLuiz Capitulino }, 1165d7f9b689SLuiz Capitulino 1166f07918fdSMark McLoughlinSTEXI 1167f07918fdSMark McLoughlin@item getfd @var{fdname} 116870fcbbe7SStefan Weil@findex getfd 1169f07918fdSMark McLoughlinIf a file descriptor is passed alongside this command using the SCM_RIGHTS 1170f07918fdSMark McLoughlinmechanism on unix sockets, it is stored using the name @var{fdname} for 1171f07918fdSMark McLoughlinlater use by other monitor commands. 1172f07918fdSMark McLoughlinETEXI 1173f07918fdSMark McLoughlin 1174d7f9b689SLuiz Capitulino { 1175d7f9b689SLuiz Capitulino .name = "closefd", 1176d7f9b689SLuiz Capitulino .args_type = "fdname:s", 1177d7f9b689SLuiz Capitulino .params = "closefd name", 1178d7f9b689SLuiz Capitulino .help = "close a file descriptor previously passed via SCM rights", 117918f3a515SLuiz Capitulino .user_print = monitor_user_noop, 1180261394dbSLuiz Capitulino .mhandler.cmd_new = do_closefd, 1181d7f9b689SLuiz Capitulino }, 1182d7f9b689SLuiz Capitulino 1183f07918fdSMark McLoughlinSTEXI 1184f07918fdSMark McLoughlin@item closefd @var{fdname} 118570fcbbe7SStefan Weil@findex closefd 1186f07918fdSMark McLoughlinClose the file descriptor previously assigned to @var{fdname} using the 1187f07918fdSMark McLoughlin@code{getfd} command. This is only needed if the file descriptor was never 1188f07918fdSMark McLoughlinused by another monitor command. 1189f07918fdSMark McLoughlinETEXI 1190f07918fdSMark McLoughlin 1191a3a55a2eSLuiz Capitulino { 1192a3a55a2eSLuiz Capitulino .name = "block_passwd", 1193a3a55a2eSLuiz Capitulino .args_type = "device:B,password:s", 1194a3a55a2eSLuiz Capitulino .params = "block_passwd device password", 1195a3a55a2eSLuiz Capitulino .help = "set the password of encrypted block devices", 1196a4dea8a9SLuiz Capitulino .mhandler.cmd = hmp_block_passwd, 1197a3a55a2eSLuiz Capitulino }, 1198a3a55a2eSLuiz Capitulino 1199a3a55a2eSLuiz CapitulinoSTEXI 1200727f005eSZhi Yong Wu@item block_set_io_throttle @var{device} @var{bps} @var{bps_rd} @var{bps_wr} @var{iops} @var{iops_rd} @var{iops_wr} 1201727f005eSZhi Yong Wu@findex block_set_io_throttle 1202727f005eSZhi Yong WuChange I/O throttle limits for a block drive to @var{bps} @var{bps_rd} @var{bps_wr} @var{iops} @var{iops_rd} @var{iops_wr} 1203727f005eSZhi Yong WuETEXI 1204727f005eSZhi Yong Wu 1205727f005eSZhi Yong Wu { 1206727f005eSZhi Yong Wu .name = "block_set_io_throttle", 1207727f005eSZhi Yong Wu .args_type = "device:B,bps:l,bps_rd:l,bps_wr:l,iops:l,iops_rd:l,iops_wr:l", 1208727f005eSZhi Yong Wu .params = "device bps bps_rd bps_wr iops iops_rd iops_wr", 1209727f005eSZhi Yong Wu .help = "change I/O throttle limits for a block drive", 1210727f005eSZhi Yong Wu .user_print = monitor_user_noop, 1211727f005eSZhi Yong Wu .mhandler.cmd_new = do_block_set_io_throttle, 1212727f005eSZhi Yong Wu }, 1213727f005eSZhi Yong Wu 1214727f005eSZhi Yong WuSTEXI 1215a3a55a2eSLuiz Capitulino@item block_passwd @var{device} @var{password} 121670fcbbe7SStefan Weil@findex block_passwd 1217a3a55a2eSLuiz CapitulinoSet the encrypted device @var{device} password to @var{password} 1218a3a55a2eSLuiz CapitulinoETEXI 1219b40292e7SJan Kiszka 122033572eceSJan Kiszka { 12217572150cSGerd Hoffmann .name = "set_password", 12227572150cSGerd Hoffmann .args_type = "protocol:s,password:s,connected:s?", 12237572150cSGerd Hoffmann .params = "protocol password action-if-connected", 12247572150cSGerd Hoffmann .help = "set spice/vnc password", 12257572150cSGerd Hoffmann .user_print = monitor_user_noop, 12267572150cSGerd Hoffmann .mhandler.cmd_new = set_password, 12277572150cSGerd Hoffmann }, 12287572150cSGerd Hoffmann 12297572150cSGerd HoffmannSTEXI 12307572150cSGerd Hoffmann@item set_password [ vnc | spice ] password [ action-if-connected ] 12317572150cSGerd Hoffmann@findex set_password 12327572150cSGerd Hoffmann 12337572150cSGerd HoffmannChange spice/vnc password. Use zero to make the password stay valid 12347572150cSGerd Hoffmannforever. @var{action-if-connected} specifies what should happen in 12357572150cSGerd Hoffmanncase a connection is established: @var{fail} makes the password change 12367572150cSGerd Hoffmannfail. @var{disconnect} changes the password and disconnects the 12377572150cSGerd Hoffmannclient. @var{keep} changes the password and keeps the connection up. 12387572150cSGerd Hoffmann@var{keep} is the default. 12397572150cSGerd HoffmannETEXI 12407572150cSGerd Hoffmann 12417572150cSGerd Hoffmann { 12427572150cSGerd Hoffmann .name = "expire_password", 12437572150cSGerd Hoffmann .args_type = "protocol:s,time:s", 12447572150cSGerd Hoffmann .params = "protocol time", 12457572150cSGerd Hoffmann .help = "set spice/vnc password expire-time", 12467572150cSGerd Hoffmann .user_print = monitor_user_noop, 12477572150cSGerd Hoffmann .mhandler.cmd_new = expire_password, 12487572150cSGerd Hoffmann }, 12497572150cSGerd Hoffmann 12507572150cSGerd HoffmannSTEXI 12517572150cSGerd Hoffmann@item expire_password [ vnc | spice ] expire-time 12527572150cSGerd Hoffmann@findex expire_password 12537572150cSGerd Hoffmann 12547572150cSGerd HoffmannSpecify when a password for spice/vnc becomes 12557572150cSGerd Hoffmanninvalid. @var{expire-time} accepts: 12567572150cSGerd Hoffmann 12577572150cSGerd Hoffmann@table @var 12587572150cSGerd Hoffmann@item now 12597572150cSGerd HoffmannInvalidate password instantly. 12607572150cSGerd Hoffmann 12617572150cSGerd Hoffmann@item never 12627572150cSGerd HoffmannPassword stays valid forever. 12637572150cSGerd Hoffmann 12647572150cSGerd Hoffmann@item +nsec 12657572150cSGerd HoffmannPassword stays valid for @var{nsec} seconds starting now. 12667572150cSGerd Hoffmann 12677572150cSGerd Hoffmann@item nsec 12687572150cSGerd HoffmannPassword is invalidated at the given time. @var{nsec} are the seconds 12697572150cSGerd Hoffmannpassed since 1970, i.e. unix epoch. 12707572150cSGerd Hoffmann 12717572150cSGerd Hoffmann@end table 12727572150cSGerd HoffmannETEXI 12737572150cSGerd Hoffmann 12747572150cSGerd Hoffmann { 127533572eceSJan Kiszka .name = "info", 127633572eceSJan Kiszka .args_type = "item:s?", 127733572eceSJan Kiszka .params = "[subcommand]", 127833572eceSJan Kiszka .help = "show various information about the system state", 12791162daa6SLuiz Capitulino .mhandler.cmd = do_info, 128033572eceSJan Kiszka }, 128133572eceSJan Kiszka 128233572eceSJan KiszkaSTEXI 128333572eceSJan Kiszka@item info @var{subcommand} 128433572eceSJan Kiszka@findex info 128533572eceSJan KiszkaShow various information about the system state. 128633572eceSJan Kiszka 128733572eceSJan Kiszka@table @option 128833572eceSJan Kiszka@item info version 128933572eceSJan Kiszkashow the version of QEMU 129033572eceSJan Kiszka@item info network 129133572eceSJan Kiszkashow the various VLANs and the associated devices 129233572eceSJan Kiszka@item info chardev 129333572eceSJan Kiszkashow the character devices 129433572eceSJan Kiszka@item info block 129533572eceSJan Kiszkashow the block devices 129633572eceSJan Kiszka@item info blockstats 129733572eceSJan Kiszkashow block device statistics 129833572eceSJan Kiszka@item info registers 129933572eceSJan Kiszkashow the cpu registers 130033572eceSJan Kiszka@item info cpus 130133572eceSJan Kiszkashow infos for each CPU 130233572eceSJan Kiszka@item info history 130333572eceSJan Kiszkashow the command line history 130433572eceSJan Kiszka@item info irq 130533572eceSJan Kiszkashow the interrupts statistics (if available) 130633572eceSJan Kiszka@item info pic 130733572eceSJan Kiszkashow i8259 (PIC) state 130833572eceSJan Kiszka@item info pci 130933572eceSJan Kiszkashow emulated PCI device info 131033572eceSJan Kiszka@item info tlb 1311bebabbc7SScott Woodshow virtual to physical memory mappings (i386, SH4, SPARC, and PPC only) 131233572eceSJan Kiszka@item info mem 131333572eceSJan Kiszkashow the active virtual memory mappings (i386 only) 131433572eceSJan Kiszka@item info jit 131533572eceSJan Kiszkashow dynamic compiler info 131633572eceSJan Kiszka@item info numa 131733572eceSJan Kiszkashow NUMA information 1318b40292e7SJan Kiszka@item info kvm 1319b40292e7SJan Kiszkashow KVM information 132033572eceSJan Kiszka@item info usb 132133572eceSJan Kiszkashow USB devices plugged on the virtual USB hub 132233572eceSJan Kiszka@item info usbhost 132333572eceSJan Kiszkashow all USB host devices 132433572eceSJan Kiszka@item info profile 132533572eceSJan Kiszkashow profiling information 132633572eceSJan Kiszka@item info capture 132733572eceSJan Kiszkashow information about active capturing 132833572eceSJan Kiszka@item info snapshots 132933572eceSJan Kiszkashow list of VM snapshots 133033572eceSJan Kiszka@item info status 133133572eceSJan Kiszkashow the current VM status (running|paused) 133233572eceSJan Kiszka@item info pcmcia 133333572eceSJan Kiszkashow guest PCMCIA status 133433572eceSJan Kiszka@item info mice 133533572eceSJan Kiszkashow which guest mouse is receiving events 133633572eceSJan Kiszka@item info vnc 133733572eceSJan Kiszkashow the vnc server status 133833572eceSJan Kiszka@item info name 133933572eceSJan Kiszkashow the current VM name 134033572eceSJan Kiszka@item info uuid 134133572eceSJan Kiszkashow the current VM UUID 134233572eceSJan Kiszka@item info cpustats 134333572eceSJan Kiszkashow CPU statistics 134433572eceSJan Kiszka@item info usernet 134533572eceSJan Kiszkashow user network stack connection states 134633572eceSJan Kiszka@item info migrate 134733572eceSJan Kiszkashow migration status 134833572eceSJan Kiszka@item info balloon 134933572eceSJan Kiszkashow balloon information 135033572eceSJan Kiszka@item info qtree 135133572eceSJan Kiszkashow device tree 135233572eceSJan Kiszka@item info qdm 135333572eceSJan Kiszkashow qdev device model list 135433572eceSJan Kiszka@item info roms 135533572eceSJan Kiszkashow roms 135633572eceSJan Kiszka@end table 135733572eceSJan KiszkaETEXI 135833572eceSJan Kiszka 13596d8a764eSLluÃs#ifdef CONFIG_TRACE_SIMPLE 136022890ab5SPrerna SaxenaSTEXI 136122890ab5SPrerna Saxena@item info trace 136222890ab5SPrerna Saxenashow contents of trace buffer 136331965ae2SLluÃsETEXI 136431965ae2SLluÃs#endif 136531965ae2SLluÃs 136631965ae2SLluÃsSTEXI 136722890ab5SPrerna Saxena@item info trace-events 136822890ab5SPrerna Saxenashow available trace events and their state 136922890ab5SPrerna SaxenaETEXI 137022890ab5SPrerna Saxena 13712313086aSBlue SwirlSTEXI 13722313086aSBlue Swirl@end table 13732313086aSBlue SwirlETEXI 1374