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 7212bd451fSStefan Hajnoczi { 7312bd451fSStefan Hajnoczi .name = "block_stream", 74c83c66c3SStefan Hajnoczi .args_type = "device:B,speed:o?,base:s?", 75c83c66c3SStefan Hajnoczi .params = "device [speed [base]]", 7612bd451fSStefan Hajnoczi .help = "copy data from a backing file into a block device", 7712bd451fSStefan Hajnoczi .mhandler.cmd = hmp_block_stream, 7812bd451fSStefan Hajnoczi }, 7912bd451fSStefan Hajnoczi 8012bd451fSStefan HajnocziSTEXI 8112bd451fSStefan Hajnoczi@item block_stream 8212bd451fSStefan Hajnoczi@findex block_stream 8312bd451fSStefan HajnocziCopy data from a backing file into a block device. 8412bd451fSStefan HajnocziETEXI 856d4a2b3aSChristoph Hellwig 866d4a2b3aSChristoph Hellwig { 872d47c6e9SStefan Hajnoczi .name = "block_job_set_speed", 88882ec7ceSStefan Hajnoczi .args_type = "device:B,speed:o", 89882ec7ceSStefan Hajnoczi .params = "device speed", 902d47c6e9SStefan Hajnoczi .help = "set maximum speed for a background block operation", 912d47c6e9SStefan Hajnoczi .mhandler.cmd = hmp_block_job_set_speed, 922d47c6e9SStefan Hajnoczi }, 932d47c6e9SStefan Hajnoczi 942d47c6e9SStefan HajnocziSTEXI 954451b799SPaolo Bonzini@item block_job_set_speed 964451b799SPaolo Bonzini@findex block_job_set_speed 972d47c6e9SStefan HajnocziSet maximum speed for a background block operation. 982d47c6e9SStefan HajnocziETEXI 992d47c6e9SStefan Hajnoczi 1002d47c6e9SStefan Hajnoczi { 101370521a1SStefan Hajnoczi .name = "block_job_cancel", 102370521a1SStefan Hajnoczi .args_type = "device:B", 103370521a1SStefan Hajnoczi .params = "device", 104370521a1SStefan Hajnoczi .help = "stop an active block streaming operation", 105370521a1SStefan Hajnoczi .mhandler.cmd = hmp_block_job_cancel, 106370521a1SStefan Hajnoczi }, 107370521a1SStefan Hajnoczi 108370521a1SStefan HajnocziSTEXI 109370521a1SStefan Hajnoczi@item block_job_cancel 110370521a1SStefan Hajnoczi@findex block_job_cancel 111370521a1SStefan HajnocziStop an active block streaming operation. 112370521a1SStefan HajnocziETEXI 113370521a1SStefan Hajnoczi 114370521a1SStefan Hajnoczi { 115d7f9b689SLuiz Capitulino .name = "eject", 11678d714e0SLuiz Capitulino .args_type = "force:-f,device:B", 117d7f9b689SLuiz Capitulino .params = "[-f] device", 118d7f9b689SLuiz Capitulino .help = "eject a removable medium (use -f to force it)", 119c245b6a3SLuiz Capitulino .mhandler.cmd = hmp_eject, 120d7f9b689SLuiz Capitulino }, 121d7f9b689SLuiz Capitulino 1222313086aSBlue SwirlSTEXI 1232313086aSBlue Swirl@item eject [-f] @var{device} 12470fcbbe7SStefan Weil@findex eject 1252313086aSBlue SwirlEject a removable medium (use -f to force it). 1262313086aSBlue SwirlETEXI 1272313086aSBlue Swirl 128d7f9b689SLuiz Capitulino { 1299063f814SRyan Harper .name = "drive_del", 1309063f814SRyan Harper .args_type = "id:s", 1319063f814SRyan Harper .params = "device", 1329063f814SRyan Harper .help = "remove host block device", 1339063f814SRyan Harper .user_print = monitor_user_noop, 1349063f814SRyan Harper .mhandler.cmd_new = do_drive_del, 1359063f814SRyan Harper }, 1369063f814SRyan Harper 1379063f814SRyan HarperSTEXI 1389063f814SRyan Harper@item drive_del @var{device} 1399063f814SRyan Harper@findex drive_del 1409063f814SRyan HarperRemove host block device. The result is that guest generated IO is no longer 1419063f814SRyan Harpersubmitted against the host device underlying the disk. Once a drive has 1429063f814SRyan Harperbeen deleted, the QEMU Block layer returns -EIO which results in IO 1439063f814SRyan Harpererrors in the guest for applications that are reading/writing to the device. 1449063f814SRyan HarperETEXI 1459063f814SRyan Harper 1469063f814SRyan Harper { 147d7f9b689SLuiz Capitulino .name = "change", 148d7f9b689SLuiz Capitulino .args_type = "device:B,target:F,arg:s?", 149d7f9b689SLuiz Capitulino .params = "device filename [format]", 150d7f9b689SLuiz Capitulino .help = "change a removable medium, optional format", 151333a96ecSLuiz Capitulino .mhandler.cmd = hmp_change, 152d7f9b689SLuiz Capitulino }, 153d7f9b689SLuiz Capitulino 1542313086aSBlue SwirlSTEXI 1552313086aSBlue Swirl@item change @var{device} @var{setting} 15670fcbbe7SStefan Weil@findex change 1572313086aSBlue Swirl 1582313086aSBlue SwirlChange the configuration of a device. 1592313086aSBlue Swirl 1602313086aSBlue Swirl@table @option 1612313086aSBlue Swirl@item change @var{diskdevice} @var{filename} [@var{format}] 1622313086aSBlue SwirlChange the medium for a removable disk device to point to @var{filename}. eg 1632313086aSBlue Swirl 1642313086aSBlue Swirl@example 1652313086aSBlue Swirl(qemu) change ide1-cd0 /path/to/some.iso 1662313086aSBlue Swirl@end example 1672313086aSBlue Swirl 1682313086aSBlue Swirl@var{format} is optional. 1692313086aSBlue Swirl 1702313086aSBlue Swirl@item change vnc @var{display},@var{options} 1712313086aSBlue SwirlChange the configuration of the VNC server. The valid syntax for @var{display} 1722313086aSBlue Swirland @var{options} are described at @ref{sec_invocation}. eg 1732313086aSBlue Swirl 1742313086aSBlue Swirl@example 1752313086aSBlue Swirl(qemu) change vnc localhost:1 1762313086aSBlue Swirl@end example 1772313086aSBlue Swirl 1782313086aSBlue Swirl@item change vnc password [@var{password}] 1792313086aSBlue Swirl 1802313086aSBlue SwirlChange the password associated with the VNC server. If the new password is not 1812313086aSBlue Swirlsupplied, the monitor will prompt for it to be entered. VNC passwords are only 1822313086aSBlue Swirlsignificant up to 8 letters. eg 1832313086aSBlue Swirl 1842313086aSBlue Swirl@example 1852313086aSBlue Swirl(qemu) change vnc password 1862313086aSBlue SwirlPassword: ******** 1872313086aSBlue Swirl@end example 1882313086aSBlue Swirl 1892313086aSBlue Swirl@end table 1902313086aSBlue SwirlETEXI 1912313086aSBlue Swirl 192d7f9b689SLuiz Capitulino { 193d7f9b689SLuiz Capitulino .name = "screendump", 194d7f9b689SLuiz Capitulino .args_type = "filename:F", 195d7f9b689SLuiz Capitulino .params = "filename", 196d7f9b689SLuiz Capitulino .help = "save screen into PPM image 'filename'", 197f1dc58e0SLuiz Capitulino .user_print = monitor_user_noop, 198f1dc58e0SLuiz Capitulino .mhandler.cmd_new = do_screen_dump, 199d7f9b689SLuiz Capitulino }, 200d7f9b689SLuiz Capitulino 2012313086aSBlue SwirlSTEXI 2022313086aSBlue Swirl@item screendump @var{filename} 20370fcbbe7SStefan Weil@findex screendump 2042313086aSBlue SwirlSave screen into PPM image @var{filename}. 2052313086aSBlue SwirlETEXI 2062313086aSBlue Swirl 207d7f9b689SLuiz Capitulino { 208d7f9b689SLuiz Capitulino .name = "logfile", 209d7f9b689SLuiz Capitulino .args_type = "filename:F", 210d7f9b689SLuiz Capitulino .params = "filename", 211d7f9b689SLuiz Capitulino .help = "output logs to 'filename'", 212af4ce882SLuiz Capitulino .mhandler.cmd = do_logfile, 213d7f9b689SLuiz Capitulino }, 214d7f9b689SLuiz Capitulino 2152313086aSBlue SwirlSTEXI 2162313086aSBlue Swirl@item logfile @var{filename} 21770fcbbe7SStefan Weil@findex logfile 2182313086aSBlue SwirlOutput logs to @var{filename}. 2192313086aSBlue SwirlETEXI 2202313086aSBlue Swirl 22122890ab5SPrerna Saxena { 22222890ab5SPrerna Saxena .name = "trace-event", 22322890ab5SPrerna Saxena .args_type = "name:s,option:b", 22422890ab5SPrerna Saxena .params = "name on|off", 22522890ab5SPrerna Saxena .help = "changes status of a specific trace event", 226fc764105SLluÃs .mhandler.cmd = do_trace_event_set_state, 22722890ab5SPrerna Saxena }, 22822890ab5SPrerna Saxena 22922890ab5SPrerna SaxenaSTEXI 23022890ab5SPrerna Saxena@item trace-event 23122890ab5SPrerna Saxena@findex trace-event 23222890ab5SPrerna Saxenachanges status of a trace event 23322890ab5SPrerna SaxenaETEXI 234c5ceb523SStefan Hajnoczi 235c45a8168SMichael Roth#if defined(CONFIG_TRACE_SIMPLE) 236c5ceb523SStefan Hajnoczi { 237c5ceb523SStefan Hajnoczi .name = "trace-file", 238c5ceb523SStefan Hajnoczi .args_type = "op:s?,arg:F?", 239c5ceb523SStefan Hajnoczi .params = "on|off|flush|set [arg]", 240c5ceb523SStefan Hajnoczi .help = "open, close, or flush trace file, or set a new file name", 241c5ceb523SStefan Hajnoczi .mhandler.cmd = do_trace_file, 242c5ceb523SStefan Hajnoczi }, 243c5ceb523SStefan Hajnoczi 244c5ceb523SStefan HajnocziSTEXI 245c5ceb523SStefan Hajnoczi@item trace-file on|off|flush 246c5ceb523SStefan Hajnoczi@findex trace-file 247c5ceb523SStefan HajnocziOpen, close, or flush the trace file. If no argument is given, the status of the trace file is displayed. 248c5ceb523SStefan HajnocziETEXI 24922890ab5SPrerna Saxena#endif 25022890ab5SPrerna Saxena 251d7f9b689SLuiz Capitulino { 252d7f9b689SLuiz Capitulino .name = "log", 253d7f9b689SLuiz Capitulino .args_type = "items:s", 254d7f9b689SLuiz Capitulino .params = "item1[,...]", 255d7f9b689SLuiz Capitulino .help = "activate logging of the specified items to '/tmp/qemu.log'", 256af4ce882SLuiz Capitulino .mhandler.cmd = do_log, 257d7f9b689SLuiz Capitulino }, 258d7f9b689SLuiz Capitulino 2592313086aSBlue SwirlSTEXI 2602313086aSBlue Swirl@item log @var{item1}[,...] 26170fcbbe7SStefan Weil@findex log 2622313086aSBlue SwirlActivate logging of the specified items to @file{/tmp/qemu.log}. 2632313086aSBlue SwirlETEXI 2642313086aSBlue Swirl 265d7f9b689SLuiz Capitulino { 266d7f9b689SLuiz Capitulino .name = "savevm", 267d7f9b689SLuiz Capitulino .args_type = "name:s?", 268d7f9b689SLuiz Capitulino .params = "[tag|id]", 269d7f9b689SLuiz Capitulino .help = "save a VM snapshot. If no tag or id are provided, a new snapshot is created", 270af4ce882SLuiz Capitulino .mhandler.cmd = do_savevm, 271d7f9b689SLuiz Capitulino }, 272d7f9b689SLuiz Capitulino 2732313086aSBlue SwirlSTEXI 2742313086aSBlue Swirl@item savevm [@var{tag}|@var{id}] 27570fcbbe7SStefan Weil@findex savevm 2762313086aSBlue SwirlCreate a snapshot of the whole virtual machine. If @var{tag} is 2772313086aSBlue Swirlprovided, it is used as human readable identifier. If there is already 2782313086aSBlue Swirla snapshot with the same tag or ID, it is replaced. More info at 2792313086aSBlue Swirl@ref{vm_snapshots}. 2802313086aSBlue SwirlETEXI 2812313086aSBlue Swirl 282d7f9b689SLuiz Capitulino { 283d7f9b689SLuiz Capitulino .name = "loadvm", 284d7f9b689SLuiz Capitulino .args_type = "name:s", 285d7f9b689SLuiz Capitulino .params = "tag|id", 286d7f9b689SLuiz Capitulino .help = "restore a VM snapshot from its tag or id", 287af4ce882SLuiz Capitulino .mhandler.cmd = do_loadvm, 288d7f9b689SLuiz Capitulino }, 289d7f9b689SLuiz Capitulino 2902313086aSBlue SwirlSTEXI 2912313086aSBlue Swirl@item loadvm @var{tag}|@var{id} 29270fcbbe7SStefan Weil@findex loadvm 2932313086aSBlue SwirlSet the whole virtual machine to the snapshot identified by the tag 2942313086aSBlue Swirl@var{tag} or the unique snapshot ID @var{id}. 2952313086aSBlue SwirlETEXI 2962313086aSBlue Swirl 297d7f9b689SLuiz Capitulino { 298d7f9b689SLuiz Capitulino .name = "delvm", 299d7f9b689SLuiz Capitulino .args_type = "name:s", 300d7f9b689SLuiz Capitulino .params = "tag|id", 301d7f9b689SLuiz Capitulino .help = "delete a VM snapshot from its tag or id", 302af4ce882SLuiz Capitulino .mhandler.cmd = do_delvm, 303d7f9b689SLuiz Capitulino }, 304d7f9b689SLuiz Capitulino 3052313086aSBlue SwirlSTEXI 3062313086aSBlue Swirl@item delvm @var{tag}|@var{id} 30770fcbbe7SStefan Weil@findex delvm 3082313086aSBlue SwirlDelete the snapshot identified by @var{tag} or @var{id}. 3092313086aSBlue SwirlETEXI 3102313086aSBlue Swirl 311d7f9b689SLuiz Capitulino { 312d7f9b689SLuiz Capitulino .name = "singlestep", 313d7f9b689SLuiz Capitulino .args_type = "option:s?", 314d7f9b689SLuiz Capitulino .params = "[on|off]", 315d7f9b689SLuiz Capitulino .help = "run emulation in singlestep mode or switch to normal mode", 316af4ce882SLuiz Capitulino .mhandler.cmd = do_singlestep, 317d7f9b689SLuiz Capitulino }, 318d7f9b689SLuiz Capitulino 3192313086aSBlue SwirlSTEXI 3202313086aSBlue Swirl@item singlestep [off] 32170fcbbe7SStefan Weil@findex singlestep 3222313086aSBlue SwirlRun the emulation in single step mode. 3232313086aSBlue SwirlIf called with option off, the emulation returns to normal mode. 3242313086aSBlue SwirlETEXI 3252313086aSBlue Swirl 326d7f9b689SLuiz Capitulino { 327d7f9b689SLuiz Capitulino .name = "stop", 328d7f9b689SLuiz Capitulino .args_type = "", 329d7f9b689SLuiz Capitulino .params = "", 330d7f9b689SLuiz Capitulino .help = "stop emulation", 3315f158f21SLuiz Capitulino .mhandler.cmd = hmp_stop, 332d7f9b689SLuiz Capitulino }, 333d7f9b689SLuiz Capitulino 3342313086aSBlue SwirlSTEXI 3352313086aSBlue Swirl@item stop 33670fcbbe7SStefan Weil@findex stop 3372313086aSBlue SwirlStop emulation. 3382313086aSBlue SwirlETEXI 3392313086aSBlue Swirl 340d7f9b689SLuiz Capitulino { 341d7f9b689SLuiz Capitulino .name = "c|cont", 342d7f9b689SLuiz Capitulino .args_type = "", 343d7f9b689SLuiz Capitulino .params = "", 344d7f9b689SLuiz Capitulino .help = "resume emulation", 345e42e818bSLuiz Capitulino .mhandler.cmd = hmp_cont, 346d7f9b689SLuiz Capitulino }, 347d7f9b689SLuiz Capitulino 3482313086aSBlue SwirlSTEXI 3492313086aSBlue Swirl@item c or cont 35070fcbbe7SStefan Weil@findex cont 3512313086aSBlue SwirlResume emulation. 3522313086aSBlue SwirlETEXI 3532313086aSBlue Swirl 354d7f9b689SLuiz Capitulino { 3559b9df25aSGerd Hoffmann .name = "system_wakeup", 3569b9df25aSGerd Hoffmann .args_type = "", 3579b9df25aSGerd Hoffmann .params = "", 3589b9df25aSGerd Hoffmann .help = "wakeup guest from suspend", 3599b9df25aSGerd Hoffmann .mhandler.cmd = hmp_system_wakeup, 3609b9df25aSGerd Hoffmann }, 3619b9df25aSGerd Hoffmann 3629b9df25aSGerd HoffmannSTEXI 3639b9df25aSGerd Hoffmann@item system_wakeup 3649b9df25aSGerd Hoffmann@findex system_wakeup 3659b9df25aSGerd HoffmannWakeup guest from suspend. 3669b9df25aSGerd HoffmannETEXI 3679b9df25aSGerd Hoffmann 3689b9df25aSGerd Hoffmann { 369d7f9b689SLuiz Capitulino .name = "gdbserver", 370d7f9b689SLuiz Capitulino .args_type = "device:s?", 371d7f9b689SLuiz Capitulino .params = "[device]", 372d7f9b689SLuiz Capitulino .help = "start gdbserver on given device (default 'tcp::1234'), stop with 'none'", 373af4ce882SLuiz Capitulino .mhandler.cmd = do_gdbserver, 374d7f9b689SLuiz Capitulino }, 375d7f9b689SLuiz Capitulino 3762313086aSBlue SwirlSTEXI 3772313086aSBlue Swirl@item gdbserver [@var{port}] 37870fcbbe7SStefan Weil@findex gdbserver 3792313086aSBlue SwirlStart gdbserver session (default @var{port}=1234) 3802313086aSBlue SwirlETEXI 3812313086aSBlue Swirl 382d7f9b689SLuiz Capitulino { 383d7f9b689SLuiz Capitulino .name = "x", 384d7f9b689SLuiz Capitulino .args_type = "fmt:/,addr:l", 385d7f9b689SLuiz Capitulino .params = "/fmt addr", 386d7f9b689SLuiz Capitulino .help = "virtual memory dump starting at 'addr'", 387af4ce882SLuiz Capitulino .mhandler.cmd = do_memory_dump, 388d7f9b689SLuiz Capitulino }, 389d7f9b689SLuiz Capitulino 3902313086aSBlue SwirlSTEXI 3912313086aSBlue Swirl@item x/fmt @var{addr} 39270fcbbe7SStefan Weil@findex x 3932313086aSBlue SwirlVirtual memory dump starting at @var{addr}. 3942313086aSBlue SwirlETEXI 3952313086aSBlue Swirl 396d7f9b689SLuiz Capitulino { 397d7f9b689SLuiz Capitulino .name = "xp", 398d7f9b689SLuiz Capitulino .args_type = "fmt:/,addr:l", 399d7f9b689SLuiz Capitulino .params = "/fmt addr", 400d7f9b689SLuiz Capitulino .help = "physical memory dump starting at 'addr'", 401af4ce882SLuiz Capitulino .mhandler.cmd = do_physical_memory_dump, 402d7f9b689SLuiz Capitulino }, 403d7f9b689SLuiz Capitulino 4042313086aSBlue SwirlSTEXI 4052313086aSBlue Swirl@item xp /@var{fmt} @var{addr} 40670fcbbe7SStefan Weil@findex xp 4072313086aSBlue SwirlPhysical memory dump starting at @var{addr}. 4082313086aSBlue Swirl 4092313086aSBlue Swirl@var{fmt} is a format which tells the command how to format the 4102313086aSBlue Swirldata. Its syntax is: @option{/@{count@}@{format@}@{size@}} 4112313086aSBlue Swirl 4122313086aSBlue Swirl@table @var 4132313086aSBlue Swirl@item count 4142313086aSBlue Swirlis the number of items to be dumped. 4152313086aSBlue Swirl 4162313086aSBlue Swirl@item format 4172313086aSBlue Swirlcan be x (hex), d (signed decimal), u (unsigned decimal), o (octal), 4182313086aSBlue Swirlc (char) or i (asm instruction). 4192313086aSBlue Swirl 4202313086aSBlue Swirl@item size 4212313086aSBlue Swirlcan be b (8 bits), h (16 bits), w (32 bits) or g (64 bits). On x86, 4222313086aSBlue Swirl@code{h} or @code{w} can be specified with the @code{i} format to 4232313086aSBlue Swirlrespectively select 16 or 32 bit code instruction size. 4242313086aSBlue Swirl 4252313086aSBlue Swirl@end table 4262313086aSBlue Swirl 4272313086aSBlue SwirlExamples: 4282313086aSBlue Swirl@itemize 4292313086aSBlue Swirl@item 4302313086aSBlue SwirlDump 10 instructions at the current instruction pointer: 4312313086aSBlue Swirl@example 4322313086aSBlue Swirl(qemu) x/10i $eip 4332313086aSBlue Swirl0x90107063: ret 4342313086aSBlue Swirl0x90107064: sti 4352313086aSBlue Swirl0x90107065: lea 0x0(%esi,1),%esi 4362313086aSBlue Swirl0x90107069: lea 0x0(%edi,1),%edi 4372313086aSBlue Swirl0x90107070: ret 4382313086aSBlue Swirl0x90107071: jmp 0x90107080 4392313086aSBlue Swirl0x90107073: nop 4402313086aSBlue Swirl0x90107074: nop 4412313086aSBlue Swirl0x90107075: nop 4422313086aSBlue Swirl0x90107076: nop 4432313086aSBlue Swirl@end example 4442313086aSBlue Swirl 4452313086aSBlue Swirl@item 4462313086aSBlue SwirlDump 80 16 bit values at the start of the video memory. 4472313086aSBlue Swirl@smallexample 4482313086aSBlue Swirl(qemu) xp/80hx 0xb8000 4492313086aSBlue Swirl0x000b8000: 0x0b50 0x0b6c 0x0b65 0x0b78 0x0b38 0x0b36 0x0b2f 0x0b42 4502313086aSBlue Swirl0x000b8010: 0x0b6f 0x0b63 0x0b68 0x0b73 0x0b20 0x0b56 0x0b47 0x0b41 4512313086aSBlue Swirl0x000b8020: 0x0b42 0x0b69 0x0b6f 0x0b73 0x0b20 0x0b63 0x0b75 0x0b72 4522313086aSBlue Swirl0x000b8030: 0x0b72 0x0b65 0x0b6e 0x0b74 0x0b2d 0x0b63 0x0b76 0x0b73 4532313086aSBlue Swirl0x000b8040: 0x0b20 0x0b30 0x0b35 0x0b20 0x0b4e 0x0b6f 0x0b76 0x0b20 4542313086aSBlue Swirl0x000b8050: 0x0b32 0x0b30 0x0b30 0x0b33 0x0720 0x0720 0x0720 0x0720 4552313086aSBlue Swirl0x000b8060: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 4562313086aSBlue Swirl0x000b8070: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 4572313086aSBlue Swirl0x000b8080: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 4582313086aSBlue Swirl0x000b8090: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 4592313086aSBlue Swirl@end smallexample 4602313086aSBlue Swirl@end itemize 4612313086aSBlue SwirlETEXI 4622313086aSBlue Swirl 463d7f9b689SLuiz Capitulino { 464d7f9b689SLuiz Capitulino .name = "p|print", 465d7f9b689SLuiz Capitulino .args_type = "fmt:/,val:l", 466d7f9b689SLuiz Capitulino .params = "/fmt expr", 467d7f9b689SLuiz Capitulino .help = "print expression value (use $reg for CPU register access)", 468af4ce882SLuiz Capitulino .mhandler.cmd = do_print, 469d7f9b689SLuiz Capitulino }, 470d7f9b689SLuiz Capitulino 4712313086aSBlue SwirlSTEXI 4722313086aSBlue Swirl@item p or print/@var{fmt} @var{expr} 47370fcbbe7SStefan Weil@findex print 4742313086aSBlue Swirl 4752313086aSBlue SwirlPrint expression value. Only the @var{format} part of @var{fmt} is 4762313086aSBlue Swirlused. 4772313086aSBlue SwirlETEXI 4782313086aSBlue Swirl 479d7f9b689SLuiz Capitulino { 480d7f9b689SLuiz Capitulino .name = "i", 481d7f9b689SLuiz Capitulino .args_type = "fmt:/,addr:i,index:i.", 482d7f9b689SLuiz Capitulino .params = "/fmt addr", 483d7f9b689SLuiz Capitulino .help = "I/O port read", 484af4ce882SLuiz Capitulino .mhandler.cmd = do_ioport_read, 485d7f9b689SLuiz Capitulino }, 486d7f9b689SLuiz Capitulino 4872313086aSBlue SwirlSTEXI 4882313086aSBlue SwirlRead I/O port. 4892313086aSBlue SwirlETEXI 4902313086aSBlue Swirl 491d7f9b689SLuiz Capitulino { 492d7f9b689SLuiz Capitulino .name = "o", 493d7f9b689SLuiz Capitulino .args_type = "fmt:/,addr:i,val:i", 494d7f9b689SLuiz Capitulino .params = "/fmt addr value", 495d7f9b689SLuiz Capitulino .help = "I/O port write", 496af4ce882SLuiz Capitulino .mhandler.cmd = do_ioport_write, 497d7f9b689SLuiz Capitulino }, 498d7f9b689SLuiz Capitulino 499f114784fSJan KiszkaSTEXI 500f114784fSJan KiszkaWrite to I/O port. 501f114784fSJan KiszkaETEXI 5022313086aSBlue Swirl 503d7f9b689SLuiz Capitulino { 504d7f9b689SLuiz Capitulino .name = "sendkey", 505d7f9b689SLuiz Capitulino .args_type = "string:s,hold_time:i?", 506d7f9b689SLuiz Capitulino .params = "keys [hold_ms]", 507d7f9b689SLuiz Capitulino .help = "send keys to the VM (e.g. 'sendkey ctrl-alt-f1', default hold time=100 ms)", 508af4ce882SLuiz Capitulino .mhandler.cmd = do_sendkey, 509d7f9b689SLuiz Capitulino }, 510d7f9b689SLuiz Capitulino 5112313086aSBlue SwirlSTEXI 5122313086aSBlue Swirl@item sendkey @var{keys} 51370fcbbe7SStefan Weil@findex sendkey 5142313086aSBlue Swirl 5152313086aSBlue SwirlSend @var{keys} to the emulator. @var{keys} could be the name of the 5162313086aSBlue Swirlkey or @code{#} followed by the raw value in either decimal or hexadecimal 5172313086aSBlue Swirlformat. Use @code{-} to press several keys simultaneously. Example: 5182313086aSBlue Swirl@example 5192313086aSBlue Swirlsendkey ctrl-alt-f1 5202313086aSBlue Swirl@end example 5212313086aSBlue Swirl 5222313086aSBlue SwirlThis command is useful to send keys that your graphical user interface 5232313086aSBlue Swirlintercepts at low level, such as @code{ctrl-alt-f1} in X Window. 5242313086aSBlue SwirlETEXI 5252313086aSBlue Swirl 526d7f9b689SLuiz Capitulino { 527d7f9b689SLuiz Capitulino .name = "system_reset", 528d7f9b689SLuiz Capitulino .args_type = "", 529d7f9b689SLuiz Capitulino .params = "", 530d7f9b689SLuiz Capitulino .help = "reset the system", 53138d22653SLuiz Capitulino .mhandler.cmd = hmp_system_reset, 532d7f9b689SLuiz Capitulino }, 533d7f9b689SLuiz Capitulino 5342313086aSBlue SwirlSTEXI 5352313086aSBlue Swirl@item system_reset 53670fcbbe7SStefan Weil@findex system_reset 5372313086aSBlue Swirl 5382313086aSBlue SwirlReset the system. 5392313086aSBlue SwirlETEXI 5402313086aSBlue Swirl 541d7f9b689SLuiz Capitulino { 542d7f9b689SLuiz Capitulino .name = "system_powerdown", 543d7f9b689SLuiz Capitulino .args_type = "", 544d7f9b689SLuiz Capitulino .params = "", 545d7f9b689SLuiz Capitulino .help = "send system power down event", 5465bc465e4SLuiz Capitulino .mhandler.cmd = hmp_system_powerdown, 547d7f9b689SLuiz Capitulino }, 548d7f9b689SLuiz Capitulino 5492313086aSBlue SwirlSTEXI 5502313086aSBlue Swirl@item system_powerdown 55170fcbbe7SStefan Weil@findex system_powerdown 5522313086aSBlue Swirl 5532313086aSBlue SwirlPower down the system (if supported). 5542313086aSBlue SwirlETEXI 5552313086aSBlue Swirl 556d7f9b689SLuiz Capitulino { 557d7f9b689SLuiz Capitulino .name = "sum", 558d7f9b689SLuiz Capitulino .args_type = "start:i,size:i", 559d7f9b689SLuiz Capitulino .params = "addr size", 560d7f9b689SLuiz Capitulino .help = "compute the checksum of a memory region", 561af4ce882SLuiz Capitulino .mhandler.cmd = do_sum, 562d7f9b689SLuiz Capitulino }, 563d7f9b689SLuiz Capitulino 5642313086aSBlue SwirlSTEXI 5652313086aSBlue Swirl@item sum @var{addr} @var{size} 56670fcbbe7SStefan Weil@findex sum 5672313086aSBlue Swirl 5682313086aSBlue SwirlCompute the checksum of a memory region. 5692313086aSBlue SwirlETEXI 5702313086aSBlue Swirl 571d7f9b689SLuiz Capitulino { 572d7f9b689SLuiz Capitulino .name = "usb_add", 573d7f9b689SLuiz Capitulino .args_type = "devname:s", 574d7f9b689SLuiz Capitulino .params = "device", 575d7f9b689SLuiz Capitulino .help = "add USB device (e.g. 'host:bus.addr' or 'host:vendor_id:product_id')", 576af4ce882SLuiz Capitulino .mhandler.cmd = do_usb_add, 577d7f9b689SLuiz Capitulino }, 578d7f9b689SLuiz Capitulino 5792313086aSBlue SwirlSTEXI 5802313086aSBlue Swirl@item usb_add @var{devname} 58170fcbbe7SStefan Weil@findex usb_add 5822313086aSBlue Swirl 5832313086aSBlue SwirlAdd the USB device @var{devname}. For details of available devices see 5842313086aSBlue Swirl@ref{usb_devices} 5852313086aSBlue SwirlETEXI 5862313086aSBlue Swirl 587d7f9b689SLuiz Capitulino { 588d7f9b689SLuiz Capitulino .name = "usb_del", 589d7f9b689SLuiz Capitulino .args_type = "devname:s", 590d7f9b689SLuiz Capitulino .params = "device", 591d7f9b689SLuiz Capitulino .help = "remove USB device 'bus.addr'", 592af4ce882SLuiz Capitulino .mhandler.cmd = do_usb_del, 593d7f9b689SLuiz Capitulino }, 594d7f9b689SLuiz Capitulino 5952313086aSBlue SwirlSTEXI 5962313086aSBlue Swirl@item usb_del @var{devname} 59770fcbbe7SStefan Weil@findex usb_del 5982313086aSBlue Swirl 5992313086aSBlue SwirlRemove the USB device @var{devname} from the QEMU virtual USB 6002313086aSBlue Swirlhub. @var{devname} has the syntax @code{bus.addr}. Use the monitor 6012313086aSBlue Swirlcommand @code{info usb} to see the devices you can remove. 6022313086aSBlue SwirlETEXI 6032313086aSBlue Swirl 604d7f9b689SLuiz Capitulino { 605d7f9b689SLuiz Capitulino .name = "device_add", 606c7e4e8ceSMarkus Armbruster .args_type = "device:O", 607c7e4e8ceSMarkus Armbruster .params = "driver[,prop=value][,...]", 608d7f9b689SLuiz Capitulino .help = "add device, like -device on the command line", 6098bc27249SMarkus Armbruster .user_print = monitor_user_noop, 6108bc27249SMarkus Armbruster .mhandler.cmd_new = do_device_add, 611d7f9b689SLuiz Capitulino }, 612d7f9b689SLuiz Capitulino 6133418bd25SGerd HoffmannSTEXI 6143418bd25SGerd Hoffmann@item device_add @var{config} 61570fcbbe7SStefan Weil@findex device_add 6163418bd25SGerd Hoffmann 6173418bd25SGerd HoffmannAdd device. 6183418bd25SGerd HoffmannETEXI 6193418bd25SGerd Hoffmann 620d7f9b689SLuiz Capitulino { 621d7f9b689SLuiz Capitulino .name = "device_del", 622d7f9b689SLuiz Capitulino .args_type = "id:s", 623d7f9b689SLuiz Capitulino .params = "device", 624d7f9b689SLuiz Capitulino .help = "remove device", 625a15fef21SLuiz Capitulino .mhandler.cmd = hmp_device_del, 626d7f9b689SLuiz Capitulino }, 627d7f9b689SLuiz Capitulino 6283418bd25SGerd HoffmannSTEXI 6293418bd25SGerd Hoffmann@item device_del @var{id} 63070fcbbe7SStefan Weil@findex device_del 6313418bd25SGerd Hoffmann 6323418bd25SGerd HoffmannRemove device @var{id}. 6333418bd25SGerd HoffmannETEXI 6343418bd25SGerd Hoffmann 635d7f9b689SLuiz Capitulino { 636d7f9b689SLuiz Capitulino .name = "cpu", 637d7f9b689SLuiz Capitulino .args_type = "index:i", 638d7f9b689SLuiz Capitulino .params = "index", 639d7f9b689SLuiz Capitulino .help = "set the default CPU", 640755f1968SLuiz Capitulino .mhandler.cmd = hmp_cpu, 641d7f9b689SLuiz Capitulino }, 6423418bd25SGerd Hoffmann 6432313086aSBlue SwirlSTEXI 644c427ea9cSMarkus Armbruster@item cpu @var{index} 645c427ea9cSMarkus Armbruster@findex cpu 6462313086aSBlue SwirlSet the default CPU. 6472313086aSBlue SwirlETEXI 6482313086aSBlue Swirl 649d7f9b689SLuiz Capitulino { 650d7f9b689SLuiz Capitulino .name = "mouse_move", 651d7f9b689SLuiz Capitulino .args_type = "dx_str:s,dy_str:s,dz_str:s?", 652d7f9b689SLuiz Capitulino .params = "dx dy [dz]", 653d7f9b689SLuiz Capitulino .help = "send mouse move events", 654af4ce882SLuiz Capitulino .mhandler.cmd = do_mouse_move, 655d7f9b689SLuiz Capitulino }, 656d7f9b689SLuiz Capitulino 6572313086aSBlue SwirlSTEXI 6582313086aSBlue Swirl@item mouse_move @var{dx} @var{dy} [@var{dz}] 65970fcbbe7SStefan Weil@findex mouse_move 6602313086aSBlue SwirlMove the active mouse to the specified coordinates @var{dx} @var{dy} 6612313086aSBlue Swirlwith optional scroll axis @var{dz}. 6622313086aSBlue SwirlETEXI 6632313086aSBlue Swirl 664d7f9b689SLuiz Capitulino { 665d7f9b689SLuiz Capitulino .name = "mouse_button", 666d7f9b689SLuiz Capitulino .args_type = "button_state:i", 667d7f9b689SLuiz Capitulino .params = "state", 668d7f9b689SLuiz Capitulino .help = "change mouse button state (1=L, 2=M, 4=R)", 669af4ce882SLuiz Capitulino .mhandler.cmd = do_mouse_button, 670d7f9b689SLuiz Capitulino }, 671d7f9b689SLuiz Capitulino 6722313086aSBlue SwirlSTEXI 6732313086aSBlue Swirl@item mouse_button @var{val} 67470fcbbe7SStefan Weil@findex mouse_button 6752313086aSBlue SwirlChange the active mouse button state @var{val} (1=L, 2=M, 4=R). 6762313086aSBlue SwirlETEXI 6772313086aSBlue Swirl 678d7f9b689SLuiz Capitulino { 679d7f9b689SLuiz Capitulino .name = "mouse_set", 680d7f9b689SLuiz Capitulino .args_type = "index:i", 681d7f9b689SLuiz Capitulino .params = "index", 682d7f9b689SLuiz Capitulino .help = "set which mouse device receives events", 683af4ce882SLuiz Capitulino .mhandler.cmd = do_mouse_set, 684d7f9b689SLuiz Capitulino }, 685d7f9b689SLuiz Capitulino 6862313086aSBlue SwirlSTEXI 6872313086aSBlue Swirl@item mouse_set @var{index} 68870fcbbe7SStefan Weil@findex mouse_set 6892313086aSBlue SwirlSet which mouse device receives events at given @var{index}, index 6902313086aSBlue Swirlcan be obtained with 6912313086aSBlue Swirl@example 6922313086aSBlue Swirlinfo mice 6932313086aSBlue Swirl@end example 6942313086aSBlue SwirlETEXI 6952313086aSBlue Swirl 6962313086aSBlue Swirl#ifdef HAS_AUDIO 697d7f9b689SLuiz Capitulino { 698d7f9b689SLuiz Capitulino .name = "wavcapture", 699d7f9b689SLuiz Capitulino .args_type = "path:F,freq:i?,bits:i?,nchannels:i?", 700d7f9b689SLuiz Capitulino .params = "path [frequency [bits [channels]]]", 701d7f9b689SLuiz Capitulino .help = "capture audio to a wave file (default frequency=44100 bits=16 channels=2)", 702af4ce882SLuiz Capitulino .mhandler.cmd = do_wav_capture, 703d7f9b689SLuiz Capitulino }, 7042313086aSBlue Swirl#endif 7052313086aSBlue SwirlSTEXI 7062313086aSBlue Swirl@item wavcapture @var{filename} [@var{frequency} [@var{bits} [@var{channels}]]] 70770fcbbe7SStefan Weil@findex wavcapture 7082313086aSBlue SwirlCapture audio into @var{filename}. Using sample rate @var{frequency} 7092313086aSBlue Swirlbits per sample @var{bits} and number of channels @var{channels}. 7102313086aSBlue Swirl 7112313086aSBlue SwirlDefaults: 7122313086aSBlue Swirl@itemize @minus 7132313086aSBlue Swirl@item Sample rate = 44100 Hz - CD quality 7142313086aSBlue Swirl@item Bits = 16 7152313086aSBlue Swirl@item Number of channels = 2 - Stereo 7162313086aSBlue Swirl@end itemize 7172313086aSBlue SwirlETEXI 7182313086aSBlue Swirl 7192313086aSBlue Swirl#ifdef HAS_AUDIO 720d7f9b689SLuiz Capitulino { 721d7f9b689SLuiz Capitulino .name = "stopcapture", 722d7f9b689SLuiz Capitulino .args_type = "n:i", 723d7f9b689SLuiz Capitulino .params = "capture index", 724d7f9b689SLuiz Capitulino .help = "stop capture", 725af4ce882SLuiz Capitulino .mhandler.cmd = do_stop_capture, 726d7f9b689SLuiz Capitulino }, 7272313086aSBlue Swirl#endif 7282313086aSBlue SwirlSTEXI 7292313086aSBlue Swirl@item stopcapture @var{index} 73070fcbbe7SStefan Weil@findex stopcapture 7312313086aSBlue SwirlStop capture with a given @var{index}, index can be obtained with 7322313086aSBlue Swirl@example 7332313086aSBlue Swirlinfo capture 7342313086aSBlue Swirl@end example 7352313086aSBlue SwirlETEXI 7362313086aSBlue Swirl 737d7f9b689SLuiz Capitulino { 738d7f9b689SLuiz Capitulino .name = "memsave", 739d7f9b689SLuiz Capitulino .args_type = "val:l,size:i,filename:s", 740d7f9b689SLuiz Capitulino .params = "addr size file", 741d7f9b689SLuiz Capitulino .help = "save to disk virtual memory dump starting at 'addr' of size 'size'", 7420cfd6a9aSLuiz Capitulino .mhandler.cmd = hmp_memsave, 743d7f9b689SLuiz Capitulino }, 744d7f9b689SLuiz Capitulino 7452313086aSBlue SwirlSTEXI 7462313086aSBlue Swirl@item memsave @var{addr} @var{size} @var{file} 74770fcbbe7SStefan Weil@findex memsave 7482313086aSBlue Swirlsave to disk virtual memory dump starting at @var{addr} of size @var{size}. 7492313086aSBlue SwirlETEXI 7502313086aSBlue Swirl 751d7f9b689SLuiz Capitulino { 752d7f9b689SLuiz Capitulino .name = "pmemsave", 753d7f9b689SLuiz Capitulino .args_type = "val:l,size:i,filename:s", 754d7f9b689SLuiz Capitulino .params = "addr size file", 755d7f9b689SLuiz Capitulino .help = "save to disk physical memory dump starting at 'addr' of size 'size'", 7566d3962bfSLuiz Capitulino .mhandler.cmd = hmp_pmemsave, 757d7f9b689SLuiz Capitulino }, 758d7f9b689SLuiz Capitulino 7592313086aSBlue SwirlSTEXI 7602313086aSBlue Swirl@item pmemsave @var{addr} @var{size} @var{file} 76170fcbbe7SStefan Weil@findex pmemsave 7622313086aSBlue Swirlsave to disk physical memory dump starting at @var{addr} of size @var{size}. 7632313086aSBlue SwirlETEXI 7642313086aSBlue Swirl 765d7f9b689SLuiz Capitulino { 766d7f9b689SLuiz Capitulino .name = "boot_set", 767d7f9b689SLuiz Capitulino .args_type = "bootdevice:s", 768d7f9b689SLuiz Capitulino .params = "bootdevice", 769d7f9b689SLuiz Capitulino .help = "define new values for the boot device list", 770af4ce882SLuiz Capitulino .mhandler.cmd = do_boot_set, 771d7f9b689SLuiz Capitulino }, 772d7f9b689SLuiz Capitulino 7732313086aSBlue SwirlSTEXI 7742313086aSBlue Swirl@item boot_set @var{bootdevicelist} 77570fcbbe7SStefan Weil@findex boot_set 7762313086aSBlue Swirl 7772313086aSBlue SwirlDefine new values for the boot device list. Those values will override 7782313086aSBlue Swirlthe values specified on the command line through the @code{-boot} option. 7792313086aSBlue Swirl 7802313086aSBlue SwirlThe values that can be specified here depend on the machine type, but are 7812313086aSBlue Swirlthe same that can be specified in the @code{-boot} command line option. 7822313086aSBlue SwirlETEXI 7832313086aSBlue Swirl 7842313086aSBlue Swirl#if defined(TARGET_I386) 785d7f9b689SLuiz Capitulino { 786d7f9b689SLuiz Capitulino .name = "nmi", 787e9b4b432SLuiz Capitulino .args_type = "", 788e9b4b432SLuiz Capitulino .params = "", 789e9b4b432SLuiz Capitulino .help = "inject an NMI on all guest's CPUs", 790ab49ab5cSLuiz Capitulino .mhandler.cmd = hmp_inject_nmi, 791d7f9b689SLuiz Capitulino }, 7922313086aSBlue Swirl#endif 7932313086aSBlue SwirlSTEXI 7942313086aSBlue Swirl@item nmi @var{cpu} 79570fcbbe7SStefan Weil@findex nmi 7962313086aSBlue SwirlInject an NMI on the given CPU (x86 only). 7972313086aSBlue SwirlETEXI 7982313086aSBlue Swirl 799d7f9b689SLuiz Capitulino { 800d7f9b689SLuiz Capitulino .name = "migrate", 801fbc3d96cSlirans@il.ibm.com .args_type = "detach:-d,blk:-b,inc:-i,uri:s", 802fbc3d96cSlirans@il.ibm.com .params = "[-d] [-b] [-i] uri", 803fbc3d96cSlirans@il.ibm.com .help = "migrate to URI (using -d to not wait for completion)" 804fbc3d96cSlirans@il.ibm.com "\n\t\t\t -b for migration without shared storage with" 805fbc3d96cSlirans@il.ibm.com " full copy of disk\n\t\t\t -i for migration without " 806fbc3d96cSlirans@il.ibm.com "shared storage with incremental copy of disk " 807fbc3d96cSlirans@il.ibm.com "(base image shared between src and destination)", 808e1c37d0eSLuiz Capitulino .mhandler.cmd = hmp_migrate, 809d7f9b689SLuiz Capitulino }, 810d7f9b689SLuiz Capitulino 811fbc3d96cSlirans@il.ibm.com 8122313086aSBlue SwirlSTEXI 813fbc3d96cSlirans@il.ibm.com@item migrate [-d] [-b] [-i] @var{uri} 81470fcbbe7SStefan Weil@findex migrate 8152313086aSBlue SwirlMigrate to @var{uri} (using -d to not wait for completion). 816fbc3d96cSlirans@il.ibm.com -b for migration with full copy of disk 817fbc3d96cSlirans@il.ibm.com -i for migration with incremental copy of disk (base image is shared) 8182313086aSBlue SwirlETEXI 8192313086aSBlue Swirl 820d7f9b689SLuiz Capitulino { 821d7f9b689SLuiz Capitulino .name = "migrate_cancel", 822d7f9b689SLuiz Capitulino .args_type = "", 823d7f9b689SLuiz Capitulino .params = "", 824d7f9b689SLuiz Capitulino .help = "cancel the current VM migration", 8256cdedb07SLuiz Capitulino .mhandler.cmd = hmp_migrate_cancel, 826d7f9b689SLuiz Capitulino }, 827d7f9b689SLuiz Capitulino 8282313086aSBlue SwirlSTEXI 8292313086aSBlue Swirl@item migrate_cancel 83070fcbbe7SStefan Weil@findex migrate_cancel 8312313086aSBlue SwirlCancel the current VM migration. 8322313086aSBlue SwirlETEXI 8332313086aSBlue Swirl 834d7f9b689SLuiz Capitulino { 835d7f9b689SLuiz Capitulino .name = "migrate_set_speed", 836ed3d4a80SJes Sorensen .args_type = "value:o", 837d7f9b689SLuiz Capitulino .params = "value", 838ed3d4a80SJes Sorensen .help = "set maximum speed (in bytes) for migrations. " 839ed3d4a80SJes Sorensen "Defaults to MB if no size suffix is specified, ie. B/K/M/G/T", 8403dc85383SLuiz Capitulino .mhandler.cmd = hmp_migrate_set_speed, 841d7f9b689SLuiz Capitulino }, 842d7f9b689SLuiz Capitulino 8432313086aSBlue SwirlSTEXI 8442313086aSBlue Swirl@item migrate_set_speed @var{value} 84570fcbbe7SStefan Weil@findex migrate_set_speed 8462313086aSBlue SwirlSet maximum speed to @var{value} (in bytes) for migrations. 8472313086aSBlue SwirlETEXI 8482313086aSBlue Swirl 849d7f9b689SLuiz Capitulino { 850d7f9b689SLuiz Capitulino .name = "migrate_set_downtime", 851b0fbf7d3SMarkus Armbruster .args_type = "value:T", 852d7f9b689SLuiz Capitulino .params = "value", 853d7f9b689SLuiz Capitulino .help = "set maximum tolerated downtime (in seconds) for migrations", 8544f0a993bSLuiz Capitulino .mhandler.cmd = hmp_migrate_set_downtime, 855d7f9b689SLuiz Capitulino }, 8562ea42952SGlauber Costa 8572ea42952SGlauber CostaSTEXI 8582ea42952SGlauber Costa@item migrate_set_downtime @var{second} 85970fcbbe7SStefan Weil@findex migrate_set_downtime 8602ea42952SGlauber CostaSet maximum tolerated downtime (in seconds) for migration. 8612ea42952SGlauber CostaETEXI 8622ea42952SGlauber Costa 863f8882568SJes Sorensen { 8642ea720dbSJes Sorensen .name = "client_migrate_info", 8652ea720dbSJes Sorensen .args_type = "protocol:s,hostname:s,port:i?,tls-port:i?,cert-subject:s?", 8662ea720dbSJes Sorensen .params = "protocol hostname port tls-port cert-subject", 8672ea720dbSJes Sorensen .help = "send migration info to spice/vnc client", 8682ea720dbSJes Sorensen .user_print = monitor_user_noop, 869edc5cb1aSYonit Halperin .mhandler.cmd_async = client_migrate_info, 870edc5cb1aSYonit Halperin .flags = MONITOR_CMD_ASYNC, 871f8882568SJes Sorensen }, 872f8882568SJes Sorensen 873f8882568SJes SorensenSTEXI 874e866e239SGerd Hoffmann@item client_migrate_info @var{protocol} @var{hostname} @var{port} @var{tls-port} @var{cert-subject} 875e866e239SGerd Hoffmann@findex client_migrate_info 876e866e239SGerd HoffmannSet the spice/vnc connection info for the migration target. The spice/vnc 877e866e239SGerd Hoffmannserver will ask the spice/vnc client to automatically reconnect using the 878e866e239SGerd Hoffmannnew parameters (if specified) once the vm migration finished successfully. 879e866e239SGerd HoffmannETEXI 880e866e239SGerd Hoffmann 881*783e9b48SWen Congyang#if defined(CONFIG_HAVE_CORE_DUMP) 882*783e9b48SWen Congyang { 883*783e9b48SWen Congyang .name = "dump-guest-memory", 884*783e9b48SWen Congyang .args_type = "paging:-p,protocol:s,begin:i?,length:i?", 885*783e9b48SWen Congyang .params = "[-p] protocol [begin] [length]", 886*783e9b48SWen Congyang .help = "dump guest memory to file" 887*783e9b48SWen Congyang "\n\t\t\t begin(optional): the starting physical address" 888*783e9b48SWen Congyang "\n\t\t\t length(optional): the memory size, in bytes", 889*783e9b48SWen Congyang .user_print = monitor_user_noop, 890*783e9b48SWen Congyang .mhandler.cmd = hmp_dump_guest_memory, 891*783e9b48SWen Congyang }, 892*783e9b48SWen Congyang 893*783e9b48SWen Congyang 894*783e9b48SWen CongyangSTEXI 895*783e9b48SWen Congyang@item dump-guest-memory [-p] @var{protocol} @var{begin} @var{length} 896*783e9b48SWen Congyang@findex dump-guest-memory 897*783e9b48SWen CongyangDump guest memory to @var{protocol}. The file can be processed with crash or 898*783e9b48SWen Congyanggdb. 899*783e9b48SWen Congyang protocol: destination file(started with "file:") or destination file 900*783e9b48SWen Congyang descriptor (started with "fd:") 901*783e9b48SWen Congyang paging: do paging to get guest's memory mapping 902*783e9b48SWen Congyang begin: the starting physical address. It's optional, and should be 903*783e9b48SWen Congyang specified with length together. 904*783e9b48SWen Congyang length: the memory size, in bytes. It's optional, and should be specified 905*783e9b48SWen Congyang with begin together. 906*783e9b48SWen CongyangETEXI 907*783e9b48SWen Congyang#endif 908*783e9b48SWen Congyang 909e866e239SGerd Hoffmann { 9102ea720dbSJes Sorensen .name = "snapshot_blkdev", 9116cc2a415SPaolo Bonzini .args_type = "reuse:-n,device:B,snapshot-file:s?,format:s?", 9126cc2a415SPaolo Bonzini .params = "[-n] device [new-image-file] [format]", 9132ea720dbSJes Sorensen .help = "initiates a live snapshot\n\t\t\t" 9142ea720dbSJes Sorensen "of device. If a new image file is specified, the\n\t\t\t" 9152ea720dbSJes Sorensen "new image file will become the new root image.\n\t\t\t" 9162ea720dbSJes Sorensen "If format is specified, the snapshot file will\n\t\t\t" 9172ea720dbSJes Sorensen "be created in that format. Otherwise the\n\t\t\t" 9186cc2a415SPaolo Bonzini "snapshot will be internal! (currently unsupported).\n\t\t\t" 9196cc2a415SPaolo Bonzini "The default format is qcow2. The -n flag requests QEMU\n\t\t\t" 9206cc2a415SPaolo Bonzini "to reuse the image found in new-image-file, instead of\n\t\t\t" 9216cc2a415SPaolo Bonzini "recreating it from scratch.", 9226106e249SLuiz Capitulino .mhandler.cmd = hmp_snapshot_blkdev, 923e866e239SGerd Hoffmann }, 924e866e239SGerd Hoffmann 925e866e239SGerd HoffmannSTEXI 926f8882568SJes Sorensen@item snapshot_blkdev 927f8882568SJes Sorensen@findex snapshot_blkdev 928f8882568SJes SorensenSnapshot device, using snapshot file as target if provided 929f8882568SJes SorensenETEXI 930f8882568SJes Sorensen 931d7f9b689SLuiz Capitulino { 932d7f9b689SLuiz Capitulino .name = "drive_add", 933d7f9b689SLuiz Capitulino .args_type = "pci_addr:s,opts:s", 934d7f9b689SLuiz Capitulino .params = "[[<domain>:]<bus>:]<slot>\n" 9352313086aSBlue Swirl "[file=file][,if=type][,bus=n]\n" 936fb0490f6SStefan Hajnoczi "[,unit=m][,media=d][,index=i]\n" 9372313086aSBlue Swirl "[,cyls=c,heads=h,secs=s[,trans=t]]\n" 938fb0490f6SStefan Hajnoczi "[,snapshot=on|off][,cache=on|off]\n" 939fb0490f6SStefan Hajnoczi "[,readonly=on|off][,copy-on-read=on|off]", 940d7f9b689SLuiz Capitulino .help = "add drive to PCI storage controller", 941af4ce882SLuiz Capitulino .mhandler.cmd = drive_hot_add, 942d7f9b689SLuiz Capitulino }, 943d7f9b689SLuiz Capitulino 9442313086aSBlue SwirlSTEXI 9452313086aSBlue Swirl@item drive_add 94670fcbbe7SStefan Weil@findex drive_add 9472313086aSBlue SwirlAdd drive to PCI storage controller. 9482313086aSBlue SwirlETEXI 9492313086aSBlue Swirl 9502313086aSBlue Swirl#if defined(TARGET_I386) 951d7f9b689SLuiz Capitulino { 952d7f9b689SLuiz Capitulino .name = "pci_add", 953d7f9b689SLuiz Capitulino .args_type = "pci_addr:s,type:s,opts:s?", 954d7f9b689SLuiz Capitulino .params = "auto|[[<domain>:]<bus>:]<slot> nic|storage [[vlan=n][,macaddr=addr][,model=type]] [file=file][,if=type][,bus=nr]...", 955d7f9b689SLuiz Capitulino .help = "hot-add PCI device", 9566c6a58aeSMarkus Armbruster .mhandler.cmd = pci_device_hot_add, 957d7f9b689SLuiz Capitulino }, 9582313086aSBlue Swirl#endif 959d7f9b689SLuiz Capitulino 9602313086aSBlue SwirlSTEXI 9612313086aSBlue Swirl@item pci_add 96270fcbbe7SStefan Weil@findex pci_add 9632313086aSBlue SwirlHot-add PCI device. 9642313086aSBlue SwirlETEXI 9652313086aSBlue Swirl 9662313086aSBlue Swirl#if defined(TARGET_I386) 967d7f9b689SLuiz Capitulino { 968d7f9b689SLuiz Capitulino .name = "pci_del", 969d7f9b689SLuiz Capitulino .args_type = "pci_addr:s", 970d7f9b689SLuiz Capitulino .params = "[[<domain>:]<bus>:]<slot>", 971d7f9b689SLuiz Capitulino .help = "hot remove PCI device", 972b752daf0SMarkus Armbruster .mhandler.cmd = do_pci_device_hot_remove, 973d7f9b689SLuiz Capitulino }, 9742313086aSBlue Swirl#endif 975d7f9b689SLuiz Capitulino 9762313086aSBlue SwirlSTEXI 9772313086aSBlue Swirl@item pci_del 97870fcbbe7SStefan Weil@findex pci_del 9792313086aSBlue SwirlHot remove PCI device. 9802313086aSBlue SwirlETEXI 9812313086aSBlue Swirl 982d7f9b689SLuiz Capitulino { 9832ae63bdaSIsaku Yamahata .name = "pcie_aer_inject_error", 9842ae63bdaSIsaku Yamahata .args_type = "advisory_non_fatal:-a,correctable:-c," 9852ae63bdaSIsaku Yamahata "id:s,error_status:s," 9862ae63bdaSIsaku Yamahata "header0:i?,header1:i?,header2:i?,header3:i?," 9872ae63bdaSIsaku Yamahata "prefix0:i?,prefix1:i?,prefix2:i?,prefix3:i?", 9882ae63bdaSIsaku Yamahata .params = "[-a] [-c] id " 9892ae63bdaSIsaku Yamahata "<error_status> [<tlp header> [<tlp header prefix>]]", 9902ae63bdaSIsaku Yamahata .help = "inject pcie aer error\n\t\t\t" 9912ae63bdaSIsaku Yamahata " -a for advisory non fatal error\n\t\t\t" 9922ae63bdaSIsaku Yamahata " -c for correctable error\n\t\t\t" 9932ae63bdaSIsaku Yamahata "<id> = qdev device id\n\t\t\t" 9942ae63bdaSIsaku Yamahata "<error_status> = error string or 32bit\n\t\t\t" 9952ae63bdaSIsaku Yamahata "<tlb header> = 32bit x 4\n\t\t\t" 9962ae63bdaSIsaku Yamahata "<tlb header prefix> = 32bit x 4", 9972ae63bdaSIsaku Yamahata .user_print = pcie_aer_inject_error_print, 9981f3392b7SZhi Yong Wu .mhandler.cmd_new = do_pcie_aer_inject_error, 9992ae63bdaSIsaku Yamahata }, 10002ae63bdaSIsaku Yamahata 10012ae63bdaSIsaku YamahataSTEXI 10022ae63bdaSIsaku Yamahata@item pcie_aer_inject_error 10032ae63bdaSIsaku Yamahata@findex pcie_aer_inject_error 10042ae63bdaSIsaku YamahataInject PCIe AER error 10052ae63bdaSIsaku YamahataETEXI 10062ae63bdaSIsaku Yamahata 10072ae63bdaSIsaku Yamahata { 1008d7f9b689SLuiz Capitulino .name = "host_net_add", 1009d7f9b689SLuiz Capitulino .args_type = "device:s,opts:s?", 1010d7f9b689SLuiz Capitulino .params = "tap|user|socket|vde|dump [options]", 1011d7f9b689SLuiz Capitulino .help = "add host VLAN client", 1012af4ce882SLuiz Capitulino .mhandler.cmd = net_host_device_add, 1013d7f9b689SLuiz Capitulino }, 1014d7f9b689SLuiz Capitulino 10152313086aSBlue SwirlSTEXI 10162313086aSBlue Swirl@item host_net_add 101770fcbbe7SStefan Weil@findex host_net_add 10182313086aSBlue SwirlAdd host VLAN client. 10192313086aSBlue SwirlETEXI 10202313086aSBlue Swirl 1021d7f9b689SLuiz Capitulino { 1022d7f9b689SLuiz Capitulino .name = "host_net_remove", 1023d7f9b689SLuiz Capitulino .args_type = "vlan_id:i,device:s", 1024d7f9b689SLuiz Capitulino .params = "vlan_id name", 1025d7f9b689SLuiz Capitulino .help = "remove host VLAN client", 1026af4ce882SLuiz Capitulino .mhandler.cmd = net_host_device_remove, 1027d7f9b689SLuiz Capitulino }, 1028d7f9b689SLuiz Capitulino 10292313086aSBlue SwirlSTEXI 10302313086aSBlue Swirl@item host_net_remove 103170fcbbe7SStefan Weil@findex host_net_remove 10322313086aSBlue SwirlRemove host VLAN client. 10332313086aSBlue SwirlETEXI 10342313086aSBlue Swirl 1035ae82d324SMarkus Armbruster { 1036ae82d324SMarkus Armbruster .name = "netdev_add", 1037ae82d324SMarkus Armbruster .args_type = "netdev:O", 1038ae82d324SMarkus Armbruster .params = "[user|tap|socket],id=str[,prop=value][,...]", 1039ae82d324SMarkus Armbruster .help = "add host network device", 1040ae82d324SMarkus Armbruster .user_print = monitor_user_noop, 1041ae82d324SMarkus Armbruster .mhandler.cmd_new = do_netdev_add, 1042ae82d324SMarkus Armbruster }, 1043ae82d324SMarkus Armbruster 1044ae82d324SMarkus ArmbrusterSTEXI 1045ae82d324SMarkus Armbruster@item netdev_add 1046ae82d324SMarkus Armbruster@findex netdev_add 1047ae82d324SMarkus ArmbrusterAdd host network device. 1048ae82d324SMarkus ArmbrusterETEXI 1049ae82d324SMarkus Armbruster 1050ae82d324SMarkus Armbruster { 1051ae82d324SMarkus Armbruster .name = "netdev_del", 1052ae82d324SMarkus Armbruster .args_type = "id:s", 1053ae82d324SMarkus Armbruster .params = "id", 1054ae82d324SMarkus Armbruster .help = "remove host network device", 1055ae82d324SMarkus Armbruster .user_print = monitor_user_noop, 1056ae82d324SMarkus Armbruster .mhandler.cmd_new = do_netdev_del, 1057ae82d324SMarkus Armbruster }, 1058ae82d324SMarkus Armbruster 1059ae82d324SMarkus ArmbrusterSTEXI 1060ae82d324SMarkus Armbruster@item netdev_del 1061ae82d324SMarkus Armbruster@findex netdev_del 1062ae82d324SMarkus ArmbrusterRemove host network device. 1063ae82d324SMarkus ArmbrusterETEXI 1064ae82d324SMarkus Armbruster 10652313086aSBlue Swirl#ifdef CONFIG_SLIRP 1066d7f9b689SLuiz Capitulino { 1067d7f9b689SLuiz Capitulino .name = "hostfwd_add", 1068d7f9b689SLuiz Capitulino .args_type = "arg1:s,arg2:s?,arg3:s?", 1069d7f9b689SLuiz Capitulino .params = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport", 1070d7f9b689SLuiz Capitulino .help = "redirect TCP or UDP connections from host to guest (requires -net user)", 1071af4ce882SLuiz Capitulino .mhandler.cmd = net_slirp_hostfwd_add, 1072d7f9b689SLuiz Capitulino }, 107321413d68SMarkus Armbruster#endif 107421413d68SMarkus ArmbrusterSTEXI 107521413d68SMarkus Armbruster@item hostfwd_add 107621413d68SMarkus Armbruster@findex hostfwd_add 107721413d68SMarkus ArmbrusterRedirect TCP or UDP connections from host to guest (requires -net user). 107821413d68SMarkus ArmbrusterETEXI 1079d7f9b689SLuiz Capitulino 108021413d68SMarkus Armbruster#ifdef CONFIG_SLIRP 1081d7f9b689SLuiz Capitulino { 1082d7f9b689SLuiz Capitulino .name = "hostfwd_remove", 1083d7f9b689SLuiz Capitulino .args_type = "arg1:s,arg2:s?,arg3:s?", 1084d7f9b689SLuiz Capitulino .params = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport", 1085d7f9b689SLuiz Capitulino .help = "remove host-to-guest TCP or UDP redirection", 1086af4ce882SLuiz Capitulino .mhandler.cmd = net_slirp_hostfwd_remove, 1087d7f9b689SLuiz Capitulino }, 1088d7f9b689SLuiz Capitulino 10892313086aSBlue Swirl#endif 10902313086aSBlue SwirlSTEXI 109121413d68SMarkus Armbruster@item hostfwd_remove 109221413d68SMarkus Armbruster@findex hostfwd_remove 109321413d68SMarkus ArmbrusterRemove host-to-guest TCP or UDP redirection. 10942313086aSBlue SwirlETEXI 10952313086aSBlue Swirl 1096d7f9b689SLuiz Capitulino { 1097d7f9b689SLuiz Capitulino .name = "balloon", 10983b0bd6ecSLuiz Capitulino .args_type = "value:M", 1099d7f9b689SLuiz Capitulino .params = "target", 11003c05613aSRiccardo Magliocchetti .help = "request VM to change its memory allocation (in MB)", 1101d72f3264SLuiz Capitulino .mhandler.cmd = hmp_balloon, 1102d7f9b689SLuiz Capitulino }, 1103d7f9b689SLuiz Capitulino 11042313086aSBlue SwirlSTEXI 11052313086aSBlue Swirl@item balloon @var{value} 110670fcbbe7SStefan Weil@findex balloon 11072313086aSBlue SwirlRequest VM to change its memory allocation to @var{value} (in MB). 11082313086aSBlue SwirlETEXI 11092313086aSBlue Swirl 1110d7f9b689SLuiz Capitulino { 1111d7f9b689SLuiz Capitulino .name = "set_link", 1112c9b26a4cSMarkus Armbruster .args_type = "name:s,up:b", 1113c9b26a4cSMarkus Armbruster .params = "name on|off", 1114d7f9b689SLuiz Capitulino .help = "change the link status of a network adapter", 11154b37156cSLuiz Capitulino .mhandler.cmd = hmp_set_link, 1116d7f9b689SLuiz Capitulino }, 1117d7f9b689SLuiz Capitulino 11182313086aSBlue SwirlSTEXI 1119c9b26a4cSMarkus Armbruster@item set_link @var{name} [on|off] 112070fcbbe7SStefan Weil@findex set_link 1121c9b26a4cSMarkus ArmbrusterSwitch link @var{name} on (i.e. up) or off (i.e. down). 11222313086aSBlue SwirlETEXI 11232313086aSBlue Swirl 1124d7f9b689SLuiz Capitulino { 1125d7f9b689SLuiz Capitulino .name = "watchdog_action", 1126d7f9b689SLuiz Capitulino .args_type = "action:s", 1127d7f9b689SLuiz Capitulino .params = "[reset|shutdown|poweroff|pause|debug|none]", 1128d7f9b689SLuiz Capitulino .help = "change watchdog action", 1129af4ce882SLuiz Capitulino .mhandler.cmd = do_watchdog_action, 1130d7f9b689SLuiz Capitulino }, 1131d7f9b689SLuiz Capitulino 11322313086aSBlue SwirlSTEXI 11332313086aSBlue Swirl@item watchdog_action 113470fcbbe7SStefan Weil@findex watchdog_action 11352313086aSBlue SwirlChange watchdog action. 11362313086aSBlue SwirlETEXI 11372313086aSBlue Swirl 1138d7f9b689SLuiz Capitulino { 1139d7f9b689SLuiz Capitulino .name = "acl_show", 1140d7f9b689SLuiz Capitulino .args_type = "aclname:s", 1141d7f9b689SLuiz Capitulino .params = "aclname", 1142d7f9b689SLuiz Capitulino .help = "list rules in the access control list", 1143af4ce882SLuiz Capitulino .mhandler.cmd = do_acl_show, 1144d7f9b689SLuiz Capitulino }, 1145d7f9b689SLuiz Capitulino 11462313086aSBlue SwirlSTEXI 114715dfcd45SJan Kiszka@item acl_show @var{aclname} 114870fcbbe7SStefan Weil@findex acl_show 114915dfcd45SJan KiszkaList all the matching rules in the access control list, and the default 115015dfcd45SJan Kiszkapolicy. There are currently two named access control lists, 115115dfcd45SJan Kiszka@var{vnc.x509dname} and @var{vnc.username} matching on the x509 client 115215dfcd45SJan Kiszkacertificate distinguished name, and SASL username respectively. 115315dfcd45SJan KiszkaETEXI 11542313086aSBlue Swirl 1155d7f9b689SLuiz Capitulino { 1156d7f9b689SLuiz Capitulino .name = "acl_policy", 1157d7f9b689SLuiz Capitulino .args_type = "aclname:s,policy:s", 1158d7f9b689SLuiz Capitulino .params = "aclname allow|deny", 1159d7f9b689SLuiz Capitulino .help = "set default access control list policy", 1160af4ce882SLuiz Capitulino .mhandler.cmd = do_acl_policy, 1161d7f9b689SLuiz Capitulino }, 1162d7f9b689SLuiz Capitulino 116315dfcd45SJan KiszkaSTEXI 1164cbbfacc6SJan Kiszka@item acl_policy @var{aclname} @code{allow|deny} 116570fcbbe7SStefan Weil@findex acl_policy 116615dfcd45SJan KiszkaSet the default access control list policy, used in the event that 11672313086aSBlue Swirlnone of the explicit rules match. The default policy at startup is 116815dfcd45SJan Kiszkaalways @code{deny}. 116915dfcd45SJan KiszkaETEXI 117015dfcd45SJan Kiszka 1171d7f9b689SLuiz Capitulino { 1172d7f9b689SLuiz Capitulino .name = "acl_add", 1173d7f9b689SLuiz Capitulino .args_type = "aclname:s,match:s,policy:s,index:i?", 1174d7f9b689SLuiz Capitulino .params = "aclname match allow|deny [index]", 1175d7f9b689SLuiz Capitulino .help = "add a match rule to the access control list", 1176af4ce882SLuiz Capitulino .mhandler.cmd = do_acl_add, 1177d7f9b689SLuiz Capitulino }, 1178d7f9b689SLuiz Capitulino 117915dfcd45SJan KiszkaSTEXI 11800e4aec98SMarkus Armbruster@item acl_add @var{aclname} @var{match} @code{allow|deny} [@var{index}] 11810e4aec98SMarkus Armbruster@findex acl_add 118215dfcd45SJan KiszkaAdd a match rule to the access control list, allowing or denying access. 118315dfcd45SJan KiszkaThe match will normally be an exact username or x509 distinguished name, 118415dfcd45SJan Kiszkabut can optionally include wildcard globs. eg @code{*@@EXAMPLE.COM} to 118515dfcd45SJan Kiszkaallow all users in the @code{EXAMPLE.COM} kerberos realm. The match will 11862313086aSBlue Swirlnormally be appended to the end of the ACL, but can be inserted 118715dfcd45SJan Kiszkaearlier in the list if the optional @var{index} parameter is supplied. 118815dfcd45SJan KiszkaETEXI 118915dfcd45SJan Kiszka 1190d7f9b689SLuiz Capitulino { 1191d7f9b689SLuiz Capitulino .name = "acl_remove", 1192d7f9b689SLuiz Capitulino .args_type = "aclname:s,match:s", 1193d7f9b689SLuiz Capitulino .params = "aclname match", 1194d7f9b689SLuiz Capitulino .help = "remove a match rule from the access control list", 1195af4ce882SLuiz Capitulino .mhandler.cmd = do_acl_remove, 1196d7f9b689SLuiz Capitulino }, 1197d7f9b689SLuiz Capitulino 119815dfcd45SJan KiszkaSTEXI 119915dfcd45SJan Kiszka@item acl_remove @var{aclname} @var{match} 120070fcbbe7SStefan Weil@findex acl_remove 120115dfcd45SJan KiszkaRemove the specified match rule from the access control list. 120215dfcd45SJan KiszkaETEXI 120315dfcd45SJan Kiszka 1204d7f9b689SLuiz Capitulino { 1205d7f9b689SLuiz Capitulino .name = "acl_reset", 1206d7f9b689SLuiz Capitulino .args_type = "aclname:s", 1207d7f9b689SLuiz Capitulino .params = "aclname", 1208d7f9b689SLuiz Capitulino .help = "reset the access control list", 1209af4ce882SLuiz Capitulino .mhandler.cmd = do_acl_reset, 1210d7f9b689SLuiz Capitulino }, 1211d7f9b689SLuiz Capitulino 121215dfcd45SJan KiszkaSTEXI 12130e4aec98SMarkus Armbruster@item acl_reset @var{aclname} 12140e4aec98SMarkus Armbruster@findex acl_reset 121515dfcd45SJan KiszkaRemove all matches from the access control list, and set the default 12162313086aSBlue Swirlpolicy back to @code{deny}. 12172313086aSBlue SwirlETEXI 12182313086aSBlue Swirl 121979c4f6b0SHuang Ying#if defined(TARGET_I386) 1220d7f9b689SLuiz Capitulino 1221d7f9b689SLuiz Capitulino { 1222d7f9b689SLuiz Capitulino .name = "mce", 122331ce5e0cSJin Dongming .args_type = "broadcast:-b,cpu_index:i,bank:i,status:l,mcg_status:l,addr:l,misc:l", 122431ce5e0cSJin Dongming .params = "[-b] cpu bank status mcgstatus addr misc", 122531ce5e0cSJin Dongming .help = "inject a MCE on the given CPU [and broadcast to other CPUs with -b option]", 1226af4ce882SLuiz Capitulino .mhandler.cmd = do_inject_mce, 1227d7f9b689SLuiz Capitulino }, 1228d7f9b689SLuiz Capitulino 122979c4f6b0SHuang Ying#endif 123079c4f6b0SHuang YingSTEXI 123179c4f6b0SHuang Ying@item mce @var{cpu} @var{bank} @var{status} @var{mcgstatus} @var{addr} @var{misc} 123270fcbbe7SStefan Weil@findex mce (x86) 123379c4f6b0SHuang YingInject an MCE on the given CPU (x86 only). 123479c4f6b0SHuang YingETEXI 123579c4f6b0SHuang Ying 1236d7f9b689SLuiz Capitulino { 1237d7f9b689SLuiz Capitulino .name = "getfd", 1238d7f9b689SLuiz Capitulino .args_type = "fdname:s", 1239d7f9b689SLuiz Capitulino .params = "getfd name", 1240d7f9b689SLuiz Capitulino .help = "receive a file descriptor via SCM rights and assign it a name", 1241f0d6000aSLuiz Capitulino .user_print = monitor_user_noop, 1242261394dbSLuiz Capitulino .mhandler.cmd_new = do_getfd, 1243d7f9b689SLuiz Capitulino }, 1244d7f9b689SLuiz Capitulino 1245f07918fdSMark McLoughlinSTEXI 1246f07918fdSMark McLoughlin@item getfd @var{fdname} 124770fcbbe7SStefan Weil@findex getfd 1248f07918fdSMark McLoughlinIf a file descriptor is passed alongside this command using the SCM_RIGHTS 1249f07918fdSMark McLoughlinmechanism on unix sockets, it is stored using the name @var{fdname} for 1250f07918fdSMark McLoughlinlater use by other monitor commands. 1251f07918fdSMark McLoughlinETEXI 1252f07918fdSMark McLoughlin 1253d7f9b689SLuiz Capitulino { 1254d7f9b689SLuiz Capitulino .name = "closefd", 1255d7f9b689SLuiz Capitulino .args_type = "fdname:s", 1256d7f9b689SLuiz Capitulino .params = "closefd name", 1257d7f9b689SLuiz Capitulino .help = "close a file descriptor previously passed via SCM rights", 125818f3a515SLuiz Capitulino .user_print = monitor_user_noop, 1259261394dbSLuiz Capitulino .mhandler.cmd_new = do_closefd, 1260d7f9b689SLuiz Capitulino }, 1261d7f9b689SLuiz Capitulino 1262f07918fdSMark McLoughlinSTEXI 1263f07918fdSMark McLoughlin@item closefd @var{fdname} 126470fcbbe7SStefan Weil@findex closefd 1265f07918fdSMark McLoughlinClose the file descriptor previously assigned to @var{fdname} using the 1266f07918fdSMark McLoughlin@code{getfd} command. This is only needed if the file descriptor was never 1267f07918fdSMark McLoughlinused by another monitor command. 1268f07918fdSMark McLoughlinETEXI 1269f07918fdSMark McLoughlin 1270a3a55a2eSLuiz Capitulino { 1271a3a55a2eSLuiz Capitulino .name = "block_passwd", 1272a3a55a2eSLuiz Capitulino .args_type = "device:B,password:s", 1273a3a55a2eSLuiz Capitulino .params = "block_passwd device password", 1274a3a55a2eSLuiz Capitulino .help = "set the password of encrypted block devices", 1275a4dea8a9SLuiz Capitulino .mhandler.cmd = hmp_block_passwd, 1276a3a55a2eSLuiz Capitulino }, 1277a3a55a2eSLuiz Capitulino 1278a3a55a2eSLuiz CapitulinoSTEXI 1279727f005eSZhi 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} 1280727f005eSZhi Yong Wu@findex block_set_io_throttle 1281727f005eSZhi 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} 1282727f005eSZhi Yong WuETEXI 1283727f005eSZhi Yong Wu 1284727f005eSZhi Yong Wu { 1285727f005eSZhi Yong Wu .name = "block_set_io_throttle", 1286727f005eSZhi Yong Wu .args_type = "device:B,bps:l,bps_rd:l,bps_wr:l,iops:l,iops_rd:l,iops_wr:l", 1287727f005eSZhi Yong Wu .params = "device bps bps_rd bps_wr iops iops_rd iops_wr", 1288727f005eSZhi Yong Wu .help = "change I/O throttle limits for a block drive", 128980047da5SLuiz Capitulino .mhandler.cmd = hmp_block_set_io_throttle, 1290727f005eSZhi Yong Wu }, 1291727f005eSZhi Yong Wu 1292727f005eSZhi Yong WuSTEXI 1293a3a55a2eSLuiz Capitulino@item block_passwd @var{device} @var{password} 129470fcbbe7SStefan Weil@findex block_passwd 1295a3a55a2eSLuiz CapitulinoSet the encrypted device @var{device} password to @var{password} 1296a3a55a2eSLuiz CapitulinoETEXI 1297b40292e7SJan Kiszka 129833572eceSJan Kiszka { 12997572150cSGerd Hoffmann .name = "set_password", 13007572150cSGerd Hoffmann .args_type = "protocol:s,password:s,connected:s?", 13017572150cSGerd Hoffmann .params = "protocol password action-if-connected", 13027572150cSGerd Hoffmann .help = "set spice/vnc password", 1303fbf796fdSLuiz Capitulino .mhandler.cmd = hmp_set_password, 13047572150cSGerd Hoffmann }, 13057572150cSGerd Hoffmann 13067572150cSGerd HoffmannSTEXI 13077572150cSGerd Hoffmann@item set_password [ vnc | spice ] password [ action-if-connected ] 13087572150cSGerd Hoffmann@findex set_password 13097572150cSGerd Hoffmann 13107572150cSGerd HoffmannChange spice/vnc password. Use zero to make the password stay valid 13117572150cSGerd Hoffmannforever. @var{action-if-connected} specifies what should happen in 13127572150cSGerd Hoffmanncase a connection is established: @var{fail} makes the password change 13137572150cSGerd Hoffmannfail. @var{disconnect} changes the password and disconnects the 13147572150cSGerd Hoffmannclient. @var{keep} changes the password and keeps the connection up. 13157572150cSGerd Hoffmann@var{keep} is the default. 13167572150cSGerd HoffmannETEXI 13177572150cSGerd Hoffmann 13187572150cSGerd Hoffmann { 13197572150cSGerd Hoffmann .name = "expire_password", 13207572150cSGerd Hoffmann .args_type = "protocol:s,time:s", 13217572150cSGerd Hoffmann .params = "protocol time", 13227572150cSGerd Hoffmann .help = "set spice/vnc password expire-time", 13239ad5372dSLuiz Capitulino .mhandler.cmd = hmp_expire_password, 13247572150cSGerd Hoffmann }, 13257572150cSGerd Hoffmann 13267572150cSGerd HoffmannSTEXI 13277572150cSGerd Hoffmann@item expire_password [ vnc | spice ] expire-time 13287572150cSGerd Hoffmann@findex expire_password 13297572150cSGerd Hoffmann 13307572150cSGerd HoffmannSpecify when a password for spice/vnc becomes 13317572150cSGerd Hoffmanninvalid. @var{expire-time} accepts: 13327572150cSGerd Hoffmann 13337572150cSGerd Hoffmann@table @var 13347572150cSGerd Hoffmann@item now 13357572150cSGerd HoffmannInvalidate password instantly. 13367572150cSGerd Hoffmann 13377572150cSGerd Hoffmann@item never 13387572150cSGerd HoffmannPassword stays valid forever. 13397572150cSGerd Hoffmann 13407572150cSGerd Hoffmann@item +nsec 13417572150cSGerd HoffmannPassword stays valid for @var{nsec} seconds starting now. 13427572150cSGerd Hoffmann 13437572150cSGerd Hoffmann@item nsec 13447572150cSGerd HoffmannPassword is invalidated at the given time. @var{nsec} are the seconds 13457572150cSGerd Hoffmannpassed since 1970, i.e. unix epoch. 13467572150cSGerd Hoffmann 13477572150cSGerd Hoffmann@end table 13487572150cSGerd HoffmannETEXI 13497572150cSGerd Hoffmann 13507572150cSGerd Hoffmann { 135133572eceSJan Kiszka .name = "info", 135233572eceSJan Kiszka .args_type = "item:s?", 135333572eceSJan Kiszka .params = "[subcommand]", 135433572eceSJan Kiszka .help = "show various information about the system state", 13551162daa6SLuiz Capitulino .mhandler.cmd = do_info, 135633572eceSJan Kiszka }, 135733572eceSJan Kiszka 135833572eceSJan KiszkaSTEXI 135933572eceSJan Kiszka@item info @var{subcommand} 136033572eceSJan Kiszka@findex info 136133572eceSJan KiszkaShow various information about the system state. 136233572eceSJan Kiszka 136333572eceSJan Kiszka@table @option 136433572eceSJan Kiszka@item info version 136533572eceSJan Kiszkashow the version of QEMU 136633572eceSJan Kiszka@item info network 136733572eceSJan Kiszkashow the various VLANs and the associated devices 136833572eceSJan Kiszka@item info chardev 136933572eceSJan Kiszkashow the character devices 137033572eceSJan Kiszka@item info block 137133572eceSJan Kiszkashow the block devices 137233572eceSJan Kiszka@item info blockstats 137333572eceSJan Kiszkashow block device statistics 137433572eceSJan Kiszka@item info registers 137533572eceSJan Kiszkashow the cpu registers 137633572eceSJan Kiszka@item info cpus 137733572eceSJan Kiszkashow infos for each CPU 137833572eceSJan Kiszka@item info history 137933572eceSJan Kiszkashow the command line history 138033572eceSJan Kiszka@item info irq 138133572eceSJan Kiszkashow the interrupts statistics (if available) 138233572eceSJan Kiszka@item info pic 138333572eceSJan Kiszkashow i8259 (PIC) state 138433572eceSJan Kiszka@item info pci 138533572eceSJan Kiszkashow emulated PCI device info 138633572eceSJan Kiszka@item info tlb 1387692f737cSMax Filippovshow virtual to physical memory mappings (i386, SH4, SPARC, PPC, and Xtensa only) 138833572eceSJan Kiszka@item info mem 138933572eceSJan Kiszkashow the active virtual memory mappings (i386 only) 139033572eceSJan Kiszka@item info jit 139133572eceSJan Kiszkashow dynamic compiler info 139233572eceSJan Kiszka@item info numa 139333572eceSJan Kiszkashow NUMA information 1394b40292e7SJan Kiszka@item info kvm 1395b40292e7SJan Kiszkashow KVM information 139633572eceSJan Kiszka@item info usb 139733572eceSJan Kiszkashow USB devices plugged on the virtual USB hub 139833572eceSJan Kiszka@item info usbhost 139933572eceSJan Kiszkashow all USB host devices 140033572eceSJan Kiszka@item info profile 140133572eceSJan Kiszkashow profiling information 140233572eceSJan Kiszka@item info capture 140333572eceSJan Kiszkashow information about active capturing 140433572eceSJan Kiszka@item info snapshots 140533572eceSJan Kiszkashow list of VM snapshots 140633572eceSJan Kiszka@item info status 140733572eceSJan Kiszkashow the current VM status (running|paused) 140833572eceSJan Kiszka@item info pcmcia 140933572eceSJan Kiszkashow guest PCMCIA status 141033572eceSJan Kiszka@item info mice 141133572eceSJan Kiszkashow which guest mouse is receiving events 141233572eceSJan Kiszka@item info vnc 141333572eceSJan Kiszkashow the vnc server status 141433572eceSJan Kiszka@item info name 141533572eceSJan Kiszkashow the current VM name 141633572eceSJan Kiszka@item info uuid 141733572eceSJan Kiszkashow the current VM UUID 141833572eceSJan Kiszka@item info cpustats 141933572eceSJan Kiszkashow CPU statistics 142033572eceSJan Kiszka@item info usernet 142133572eceSJan Kiszkashow user network stack connection states 142233572eceSJan Kiszka@item info migrate 142333572eceSJan Kiszkashow migration status 142433572eceSJan Kiszka@item info balloon 142533572eceSJan Kiszkashow balloon information 142633572eceSJan Kiszka@item info qtree 142733572eceSJan Kiszkashow device tree 142833572eceSJan Kiszka@item info qdm 142933572eceSJan Kiszkashow qdev device model list 143033572eceSJan Kiszka@item info roms 143133572eceSJan Kiszkashow roms 143233572eceSJan Kiszka@end table 143333572eceSJan KiszkaETEXI 143433572eceSJan Kiszka 14356d8a764eSLluÃs#ifdef CONFIG_TRACE_SIMPLE 143622890ab5SPrerna SaxenaSTEXI 143722890ab5SPrerna Saxena@item info trace 143822890ab5SPrerna Saxenashow contents of trace buffer 143931965ae2SLluÃsETEXI 144031965ae2SLluÃs#endif 144131965ae2SLluÃs 144231965ae2SLluÃsSTEXI 144322890ab5SPrerna Saxena@item info trace-events 144422890ab5SPrerna Saxenashow available trace events and their state 144522890ab5SPrerna SaxenaETEXI 144622890ab5SPrerna Saxena 14472313086aSBlue SwirlSTEXI 14482313086aSBlue Swirl@end table 14492313086aSBlue SwirlETEXI 1450