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|?", 14129be006SWenchao Xia .args_type = "name:S?", 15d7f9b689SLuiz Capitulino .params = "[cmd]", 16d7f9b689SLuiz Capitulino .help = "show the help", 172b9e3576SMarc-André Lureau .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", 312b9e3576SMarc-André Lureau .cmd = hmp_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. 3837222900SJeff CodyIf the backing file is smaller than the snapshot, then the backing file will be 3937222900SJeff Codyresized to be the same size as the snapshot. If the snapshot is smaller than 4037222900SJeff Codythe backing file, the backing file will not be truncated. If you want the 4137222900SJeff Codybacking file to match the size of the smaller snapshot, you can safely truncate 4237222900SJeff Codyit yourself once the commit operation successfully completes. 432313086aSBlue SwirlETEXI 442313086aSBlue Swirl 45d7f9b689SLuiz Capitulino { 46d7f9b689SLuiz Capitulino .name = "q|quit", 47d7f9b689SLuiz Capitulino .args_type = "", 48d7f9b689SLuiz Capitulino .params = "", 49d7f9b689SLuiz Capitulino .help = "quit the emulator", 502b9e3576SMarc-André Lureau .cmd = hmp_quit, 51d7f9b689SLuiz Capitulino }, 52d7f9b689SLuiz Capitulino 532313086aSBlue SwirlSTEXI 542313086aSBlue Swirl@item q or quit 5570fcbbe7SStefan Weil@findex quit 562313086aSBlue SwirlQuit the emulator. 572313086aSBlue SwirlETEXI 582313086aSBlue Swirl 59d7f9b689SLuiz Capitulino { 606d4a2b3aSChristoph Hellwig .name = "block_resize", 616d4a2b3aSChristoph Hellwig .args_type = "device:B,size:o", 626d4a2b3aSChristoph Hellwig .params = "device size", 636d4a2b3aSChristoph Hellwig .help = "resize a block image", 642b9e3576SMarc-André Lureau .cmd = hmp_block_resize, 656d4a2b3aSChristoph Hellwig }, 666d4a2b3aSChristoph Hellwig 676d4a2b3aSChristoph HellwigSTEXI 686d4a2b3aSChristoph Hellwig@item block_resize 696d4a2b3aSChristoph Hellwig@findex block_resize 706d4a2b3aSChristoph HellwigResize a block image while a guest is running. Usually requires guest 716d4a2b3aSChristoph Hellwigaction to see the updated size. Resize to a lower size is supported, 726d4a2b3aSChristoph Hellwigbut should be used with extreme caution. Note that this command only 736d4a2b3aSChristoph Hellwigresizes image files, it can not resize block devices like LVM volumes. 746d4a2b3aSChristoph HellwigETEXI 756d4a2b3aSChristoph Hellwig 7612bd451fSStefan Hajnoczi { 7712bd451fSStefan Hajnoczi .name = "block_stream", 78c83c66c3SStefan Hajnoczi .args_type = "device:B,speed:o?,base:s?", 79c83c66c3SStefan Hajnoczi .params = "device [speed [base]]", 8012bd451fSStefan Hajnoczi .help = "copy data from a backing file into a block device", 812b9e3576SMarc-André Lureau .cmd = hmp_block_stream, 8212bd451fSStefan Hajnoczi }, 8312bd451fSStefan Hajnoczi 8412bd451fSStefan HajnocziSTEXI 8512bd451fSStefan Hajnoczi@item block_stream 8612bd451fSStefan Hajnoczi@findex block_stream 8712bd451fSStefan HajnocziCopy data from a backing file into a block device. 8812bd451fSStefan HajnocziETEXI 896d4a2b3aSChristoph Hellwig 906d4a2b3aSChristoph Hellwig { 912d47c6e9SStefan Hajnoczi .name = "block_job_set_speed", 92882ec7ceSStefan Hajnoczi .args_type = "device:B,speed:o", 93882ec7ceSStefan Hajnoczi .params = "device speed", 942d47c6e9SStefan Hajnoczi .help = "set maximum speed for a background block operation", 952b9e3576SMarc-André Lureau .cmd = hmp_block_job_set_speed, 962d47c6e9SStefan Hajnoczi }, 972d47c6e9SStefan Hajnoczi 982d47c6e9SStefan HajnocziSTEXI 994451b799SPaolo Bonzini@item block_job_set_speed 1004451b799SPaolo Bonzini@findex block_job_set_speed 1012d47c6e9SStefan HajnocziSet maximum speed for a background block operation. 1022d47c6e9SStefan HajnocziETEXI 1032d47c6e9SStefan Hajnoczi 1042d47c6e9SStefan Hajnoczi { 105370521a1SStefan Hajnoczi .name = "block_job_cancel", 1066e37fb81SPaolo Bonzini .args_type = "force:-f,device:B", 1076e37fb81SPaolo Bonzini .params = "[-f] device", 1086e37fb81SPaolo Bonzini .help = "stop an active background block operation (use -f" 109b76e4458SLiang Li "\n\t\t\t if you want to abort the operation immediately" 110b76e4458SLiang Li "\n\t\t\t instead of keep running until data is in sync)", 1112b9e3576SMarc-André Lureau .cmd = hmp_block_job_cancel, 112370521a1SStefan Hajnoczi }, 113370521a1SStefan Hajnoczi 114370521a1SStefan HajnocziSTEXI 115370521a1SStefan Hajnoczi@item block_job_cancel 116370521a1SStefan Hajnoczi@findex block_job_cancel 117aeae883bSPaolo BonziniStop an active background block operation (streaming, mirroring). 118aeae883bSPaolo BonziniETEXI 119aeae883bSPaolo Bonzini 120aeae883bSPaolo Bonzini { 121aeae883bSPaolo Bonzini .name = "block_job_complete", 122aeae883bSPaolo Bonzini .args_type = "device:B", 123aeae883bSPaolo Bonzini .params = "device", 124aeae883bSPaolo Bonzini .help = "stop an active background block operation", 1252b9e3576SMarc-André Lureau .cmd = hmp_block_job_complete, 126aeae883bSPaolo Bonzini }, 127aeae883bSPaolo Bonzini 128aeae883bSPaolo BonziniSTEXI 129aeae883bSPaolo Bonzini@item block_job_complete 130aeae883bSPaolo Bonzini@findex block_job_complete 131aeae883bSPaolo BonziniManually trigger completion of an active background block operation. 132aeae883bSPaolo BonziniFor mirroring, this will switch the device to the destination path. 133370521a1SStefan HajnocziETEXI 134370521a1SStefan Hajnoczi 135370521a1SStefan Hajnoczi { 1366e37fb81SPaolo Bonzini .name = "block_job_pause", 1376e37fb81SPaolo Bonzini .args_type = "device:B", 1386e37fb81SPaolo Bonzini .params = "device", 1396e37fb81SPaolo Bonzini .help = "pause an active background block operation", 1402b9e3576SMarc-André Lureau .cmd = hmp_block_job_pause, 1416e37fb81SPaolo Bonzini }, 1426e37fb81SPaolo Bonzini 1436e37fb81SPaolo BonziniSTEXI 1446e37fb81SPaolo Bonzini@item block_job_pause 1456e37fb81SPaolo Bonzini@findex block_job_pause 1466e37fb81SPaolo BonziniPause an active block streaming operation. 1476e37fb81SPaolo BonziniETEXI 1486e37fb81SPaolo Bonzini 1496e37fb81SPaolo Bonzini { 1506e37fb81SPaolo Bonzini .name = "block_job_resume", 1516e37fb81SPaolo Bonzini .args_type = "device:B", 1526e37fb81SPaolo Bonzini .params = "device", 1536e37fb81SPaolo Bonzini .help = "resume a paused background block operation", 1542b9e3576SMarc-André Lureau .cmd = hmp_block_job_resume, 1556e37fb81SPaolo Bonzini }, 1566e37fb81SPaolo Bonzini 1576e37fb81SPaolo BonziniSTEXI 1586e37fb81SPaolo Bonzini@item block_job_resume 1596e37fb81SPaolo Bonzini@findex block_job_resume 1606e37fb81SPaolo BonziniResume a paused block streaming operation. 1616e37fb81SPaolo BonziniETEXI 1626e37fb81SPaolo Bonzini 1636e37fb81SPaolo Bonzini { 164d7f9b689SLuiz Capitulino .name = "eject", 16578d714e0SLuiz Capitulino .args_type = "force:-f,device:B", 166d7f9b689SLuiz Capitulino .params = "[-f] device", 167d7f9b689SLuiz Capitulino .help = "eject a removable medium (use -f to force it)", 1682b9e3576SMarc-André Lureau .cmd = hmp_eject, 169d7f9b689SLuiz Capitulino }, 170d7f9b689SLuiz Capitulino 1712313086aSBlue SwirlSTEXI 1722313086aSBlue Swirl@item eject [-f] @var{device} 17370fcbbe7SStefan Weil@findex eject 1742313086aSBlue SwirlEject a removable medium (use -f to force it). 1752313086aSBlue SwirlETEXI 1762313086aSBlue Swirl 177d7f9b689SLuiz Capitulino { 1789063f814SRyan Harper .name = "drive_del", 179f7bdc41aSHani Benhabiles .args_type = "id:B", 1809063f814SRyan Harper .params = "device", 1819063f814SRyan Harper .help = "remove host block device", 1822b9e3576SMarc-André Lureau .cmd = hmp_drive_del, 1839063f814SRyan Harper }, 1849063f814SRyan Harper 1859063f814SRyan HarperSTEXI 1869063f814SRyan Harper@item drive_del @var{device} 1879063f814SRyan Harper@findex drive_del 1889063f814SRyan HarperRemove host block device. The result is that guest generated IO is no longer 1899063f814SRyan Harpersubmitted against the host device underlying the disk. Once a drive has 1909063f814SRyan Harperbeen deleted, the QEMU Block layer returns -EIO which results in IO 1919063f814SRyan Harpererrors in the guest for applications that are reading/writing to the device. 192293c51a6SStefan HajnocziThese errors are always reported to the guest, regardless of the drive's error 193293c51a6SStefan Hajnocziactions (drive options rerror, werror). 1949063f814SRyan HarperETEXI 1959063f814SRyan Harper 1969063f814SRyan Harper { 197d7f9b689SLuiz Capitulino .name = "change", 198baead0abSMax Reitz .args_type = "device:B,target:F,arg:s?,read-only-mode:s?", 199baead0abSMax Reitz .params = "device filename [format [read-only-mode]]", 200d7f9b689SLuiz Capitulino .help = "change a removable medium, optional format", 2012b9e3576SMarc-André Lureau .cmd = hmp_change, 202d7f9b689SLuiz Capitulino }, 203d7f9b689SLuiz Capitulino 2042313086aSBlue SwirlSTEXI 2052313086aSBlue Swirl@item change @var{device} @var{setting} 20670fcbbe7SStefan Weil@findex change 2072313086aSBlue SwirlChange the configuration of a device. 2082313086aSBlue Swirl 2092313086aSBlue Swirl@table @option 210baead0abSMax Reitz@item change @var{diskdevice} @var{filename} [@var{format} [@var{read-only-mode}]] 2112313086aSBlue SwirlChange the medium for a removable disk device to point to @var{filename}. eg 2122313086aSBlue Swirl 2132313086aSBlue Swirl@example 2142313086aSBlue Swirl(qemu) change ide1-cd0 /path/to/some.iso 2152313086aSBlue Swirl@end example 2162313086aSBlue Swirl 2172313086aSBlue Swirl@var{format} is optional. 2182313086aSBlue Swirl 219baead0abSMax Reitz@var{read-only-mode} may be used to change the read-only status of the device. 220baead0abSMax ReitzIt accepts the following values: 221baead0abSMax Reitz 222baead0abSMax Reitz@table @var 223baead0abSMax Reitz@item retain 224baead0abSMax ReitzRetains the current status; this is the default. 225baead0abSMax Reitz 226baead0abSMax Reitz@item read-only 227baead0abSMax ReitzMakes the device read-only. 228baead0abSMax Reitz 229baead0abSMax Reitz@item read-write 230baead0abSMax ReitzMakes the device writable. 231baead0abSMax Reitz@end table 232baead0abSMax Reitz 2332313086aSBlue Swirl@item change vnc @var{display},@var{options} 2342313086aSBlue SwirlChange the configuration of the VNC server. The valid syntax for @var{display} 2352313086aSBlue Swirland @var{options} are described at @ref{sec_invocation}. eg 2362313086aSBlue Swirl 2372313086aSBlue Swirl@example 2382313086aSBlue Swirl(qemu) change vnc localhost:1 2392313086aSBlue Swirl@end example 2402313086aSBlue Swirl 2412313086aSBlue Swirl@item change vnc password [@var{password}] 2422313086aSBlue Swirl 2432313086aSBlue SwirlChange the password associated with the VNC server. If the new password is not 2442313086aSBlue Swirlsupplied, the monitor will prompt for it to be entered. VNC passwords are only 2452313086aSBlue Swirlsignificant up to 8 letters. eg 2462313086aSBlue Swirl 2472313086aSBlue Swirl@example 2482313086aSBlue Swirl(qemu) change vnc password 2492313086aSBlue SwirlPassword: ******** 2502313086aSBlue Swirl@end example 2512313086aSBlue Swirl 2522313086aSBlue Swirl@end table 2532313086aSBlue SwirlETEXI 2542313086aSBlue Swirl 255d7f9b689SLuiz Capitulino { 256d7f9b689SLuiz Capitulino .name = "screendump", 257f771c544SThomas Huth .args_type = "filename:F,device:s?,head:i?", 258f771c544SThomas Huth .params = "filename [device [head]]", 259f771c544SThomas Huth .help = "save screen from head 'head' of display device 'device' " 260f771c544SThomas Huth "into PPM image 'filename'", 2612b9e3576SMarc-André Lureau .cmd = hmp_screendump, 262d7f9b689SLuiz Capitulino }, 263d7f9b689SLuiz Capitulino 2642313086aSBlue SwirlSTEXI 2652313086aSBlue Swirl@item screendump @var{filename} 26670fcbbe7SStefan Weil@findex screendump 2672313086aSBlue SwirlSave screen into PPM image @var{filename}. 2682313086aSBlue SwirlETEXI 2692313086aSBlue Swirl 270d7f9b689SLuiz Capitulino { 271d7f9b689SLuiz Capitulino .name = "logfile", 272d7f9b689SLuiz Capitulino .args_type = "filename:F", 273d7f9b689SLuiz Capitulino .params = "filename", 274d7f9b689SLuiz Capitulino .help = "output logs to 'filename'", 2752b9e3576SMarc-André Lureau .cmd = hmp_logfile, 276d7f9b689SLuiz Capitulino }, 277d7f9b689SLuiz Capitulino 2782313086aSBlue SwirlSTEXI 2792313086aSBlue Swirl@item logfile @var{filename} 28070fcbbe7SStefan Weil@findex logfile 2812313086aSBlue SwirlOutput logs to @var{filename}. 2822313086aSBlue SwirlETEXI 2832313086aSBlue Swirl 28422890ab5SPrerna Saxena { 28522890ab5SPrerna Saxena .name = "trace-event", 28677e2b172SLluís Vilanova .args_type = "name:s,option:b,vcpu:i?", 28777e2b172SLluís Vilanova .params = "name on|off [vcpu]", 28877e2b172SLluís Vilanova .help = "changes status of a specific trace event " 28977e2b172SLluís Vilanova "(vcpu: vCPU to set, default is all)", 2902b9e3576SMarc-André Lureau .cmd = hmp_trace_event, 291987bd270SDr. David Alan Gilbert .command_completion = trace_event_completion, 29222890ab5SPrerna Saxena }, 29322890ab5SPrerna Saxena 29422890ab5SPrerna SaxenaSTEXI 29522890ab5SPrerna Saxena@item trace-event 29622890ab5SPrerna Saxena@findex trace-event 29722890ab5SPrerna Saxenachanges status of a trace event 29822890ab5SPrerna SaxenaETEXI 299c5ceb523SStefan Hajnoczi 300c45a8168SMichael Roth#if defined(CONFIG_TRACE_SIMPLE) 301c5ceb523SStefan Hajnoczi { 302c5ceb523SStefan Hajnoczi .name = "trace-file", 303c5ceb523SStefan Hajnoczi .args_type = "op:s?,arg:F?", 304c5ceb523SStefan Hajnoczi .params = "on|off|flush|set [arg]", 305c5ceb523SStefan Hajnoczi .help = "open, close, or flush trace file, or set a new file name", 3062b9e3576SMarc-André Lureau .cmd = hmp_trace_file, 307c5ceb523SStefan Hajnoczi }, 308c5ceb523SStefan Hajnoczi 309c5ceb523SStefan HajnocziSTEXI 310c5ceb523SStefan Hajnoczi@item trace-file on|off|flush 311c5ceb523SStefan Hajnoczi@findex trace-file 312c5ceb523SStefan HajnocziOpen, close, or flush the trace file. If no argument is given, the status of the trace file is displayed. 313c5ceb523SStefan HajnocziETEXI 31422890ab5SPrerna Saxena#endif 31522890ab5SPrerna Saxena 316d7f9b689SLuiz Capitulino { 317d7f9b689SLuiz Capitulino .name = "log", 318d7f9b689SLuiz Capitulino .args_type = "items:s", 319d7f9b689SLuiz Capitulino .params = "item1[,...]", 320989b697dSPeter Maydell .help = "activate logging of the specified items", 3212b9e3576SMarc-André Lureau .cmd = hmp_log, 322d7f9b689SLuiz Capitulino }, 323d7f9b689SLuiz Capitulino 3242313086aSBlue SwirlSTEXI 3252313086aSBlue Swirl@item log @var{item1}[,...] 32670fcbbe7SStefan Weil@findex log 327989b697dSPeter MaydellActivate logging of the specified items. 3282313086aSBlue SwirlETEXI 3292313086aSBlue Swirl 330d7f9b689SLuiz Capitulino { 331d7f9b689SLuiz Capitulino .name = "savevm", 332d7f9b689SLuiz Capitulino .args_type = "name:s?", 333d7f9b689SLuiz Capitulino .params = "[tag|id]", 334d7f9b689SLuiz Capitulino .help = "save a VM snapshot. If no tag or id are provided, a new snapshot is created", 3352b9e3576SMarc-André Lureau .cmd = hmp_savevm, 336d7f9b689SLuiz Capitulino }, 337d7f9b689SLuiz Capitulino 3382313086aSBlue SwirlSTEXI 3392313086aSBlue Swirl@item savevm [@var{tag}|@var{id}] 34070fcbbe7SStefan Weil@findex savevm 3412313086aSBlue SwirlCreate a snapshot of the whole virtual machine. If @var{tag} is 3422313086aSBlue Swirlprovided, it is used as human readable identifier. If there is already 3432313086aSBlue Swirla snapshot with the same tag or ID, it is replaced. More info at 3442313086aSBlue Swirl@ref{vm_snapshots}. 3452313086aSBlue SwirlETEXI 3462313086aSBlue Swirl 347d7f9b689SLuiz Capitulino { 348d7f9b689SLuiz Capitulino .name = "loadvm", 349d7f9b689SLuiz Capitulino .args_type = "name:s", 350d7f9b689SLuiz Capitulino .params = "tag|id", 351d7f9b689SLuiz Capitulino .help = "restore a VM snapshot from its tag or id", 3522b9e3576SMarc-André Lureau .cmd = hmp_loadvm, 353b21631f3SHani Benhabiles .command_completion = loadvm_completion, 354d7f9b689SLuiz Capitulino }, 355d7f9b689SLuiz Capitulino 3562313086aSBlue SwirlSTEXI 3572313086aSBlue Swirl@item loadvm @var{tag}|@var{id} 35870fcbbe7SStefan Weil@findex loadvm 3592313086aSBlue SwirlSet the whole virtual machine to the snapshot identified by the tag 3602313086aSBlue Swirl@var{tag} or the unique snapshot ID @var{id}. 3612313086aSBlue SwirlETEXI 3622313086aSBlue Swirl 363d7f9b689SLuiz Capitulino { 364d7f9b689SLuiz Capitulino .name = "delvm", 365d7f9b689SLuiz Capitulino .args_type = "name:s", 366d7f9b689SLuiz Capitulino .params = "tag|id", 367d7f9b689SLuiz Capitulino .help = "delete a VM snapshot from its tag or id", 3682b9e3576SMarc-André Lureau .cmd = hmp_delvm, 369b21631f3SHani Benhabiles .command_completion = delvm_completion, 370d7f9b689SLuiz Capitulino }, 371d7f9b689SLuiz Capitulino 3722313086aSBlue SwirlSTEXI 3732313086aSBlue Swirl@item delvm @var{tag}|@var{id} 37470fcbbe7SStefan Weil@findex delvm 3752313086aSBlue SwirlDelete the snapshot identified by @var{tag} or @var{id}. 3762313086aSBlue SwirlETEXI 3772313086aSBlue Swirl 378d7f9b689SLuiz Capitulino { 379d7f9b689SLuiz Capitulino .name = "singlestep", 380d7f9b689SLuiz Capitulino .args_type = "option:s?", 381d7f9b689SLuiz Capitulino .params = "[on|off]", 382d7f9b689SLuiz Capitulino .help = "run emulation in singlestep mode or switch to normal mode", 3832b9e3576SMarc-André Lureau .cmd = hmp_singlestep, 384d7f9b689SLuiz Capitulino }, 385d7f9b689SLuiz Capitulino 3862313086aSBlue SwirlSTEXI 3872313086aSBlue Swirl@item singlestep [off] 38870fcbbe7SStefan Weil@findex singlestep 3892313086aSBlue SwirlRun the emulation in single step mode. 3902313086aSBlue SwirlIf called with option off, the emulation returns to normal mode. 3912313086aSBlue SwirlETEXI 3922313086aSBlue Swirl 393d7f9b689SLuiz Capitulino { 394d7f9b689SLuiz Capitulino .name = "stop", 395d7f9b689SLuiz Capitulino .args_type = "", 396d7f9b689SLuiz Capitulino .params = "", 397d7f9b689SLuiz Capitulino .help = "stop emulation", 3982b9e3576SMarc-André Lureau .cmd = hmp_stop, 399d7f9b689SLuiz Capitulino }, 400d7f9b689SLuiz Capitulino 4012313086aSBlue SwirlSTEXI 4022313086aSBlue Swirl@item stop 40370fcbbe7SStefan Weil@findex stop 4042313086aSBlue SwirlStop emulation. 4052313086aSBlue SwirlETEXI 4062313086aSBlue Swirl 407d7f9b689SLuiz Capitulino { 408d7f9b689SLuiz Capitulino .name = "c|cont", 409d7f9b689SLuiz Capitulino .args_type = "", 410d7f9b689SLuiz Capitulino .params = "", 411d7f9b689SLuiz Capitulino .help = "resume emulation", 4122b9e3576SMarc-André Lureau .cmd = hmp_cont, 413d7f9b689SLuiz Capitulino }, 414d7f9b689SLuiz Capitulino 4152313086aSBlue SwirlSTEXI 4162313086aSBlue Swirl@item c or cont 41770fcbbe7SStefan Weil@findex cont 4182313086aSBlue SwirlResume emulation. 4192313086aSBlue SwirlETEXI 4202313086aSBlue Swirl 421d7f9b689SLuiz Capitulino { 4229b9df25aSGerd Hoffmann .name = "system_wakeup", 4239b9df25aSGerd Hoffmann .args_type = "", 4249b9df25aSGerd Hoffmann .params = "", 4259b9df25aSGerd Hoffmann .help = "wakeup guest from suspend", 4262b9e3576SMarc-André Lureau .cmd = hmp_system_wakeup, 4279b9df25aSGerd Hoffmann }, 4289b9df25aSGerd Hoffmann 4299b9df25aSGerd HoffmannSTEXI 4309b9df25aSGerd Hoffmann@item system_wakeup 4319b9df25aSGerd Hoffmann@findex system_wakeup 4329b9df25aSGerd HoffmannWakeup guest from suspend. 4339b9df25aSGerd HoffmannETEXI 4349b9df25aSGerd Hoffmann 4359b9df25aSGerd Hoffmann { 436d7f9b689SLuiz Capitulino .name = "gdbserver", 437d7f9b689SLuiz Capitulino .args_type = "device:s?", 438d7f9b689SLuiz Capitulino .params = "[device]", 439d7f9b689SLuiz Capitulino .help = "start gdbserver on given device (default 'tcp::1234'), stop with 'none'", 4402b9e3576SMarc-André Lureau .cmd = hmp_gdbserver, 441d7f9b689SLuiz Capitulino }, 442d7f9b689SLuiz Capitulino 4432313086aSBlue SwirlSTEXI 4442313086aSBlue Swirl@item gdbserver [@var{port}] 44570fcbbe7SStefan Weil@findex gdbserver 4462313086aSBlue SwirlStart gdbserver session (default @var{port}=1234) 4472313086aSBlue SwirlETEXI 4482313086aSBlue Swirl 449d7f9b689SLuiz Capitulino { 450d7f9b689SLuiz Capitulino .name = "x", 451d7f9b689SLuiz Capitulino .args_type = "fmt:/,addr:l", 452d7f9b689SLuiz Capitulino .params = "/fmt addr", 453d7f9b689SLuiz Capitulino .help = "virtual memory dump starting at 'addr'", 4542b9e3576SMarc-André Lureau .cmd = hmp_memory_dump, 455d7f9b689SLuiz Capitulino }, 456d7f9b689SLuiz Capitulino 4572313086aSBlue SwirlSTEXI 4582313086aSBlue Swirl@item x/fmt @var{addr} 45970fcbbe7SStefan Weil@findex x 4602313086aSBlue SwirlVirtual memory dump starting at @var{addr}. 4612313086aSBlue SwirlETEXI 4622313086aSBlue Swirl 463d7f9b689SLuiz Capitulino { 464d7f9b689SLuiz Capitulino .name = "xp", 465d7f9b689SLuiz Capitulino .args_type = "fmt:/,addr:l", 466d7f9b689SLuiz Capitulino .params = "/fmt addr", 467d7f9b689SLuiz Capitulino .help = "physical memory dump starting at 'addr'", 4682b9e3576SMarc-André Lureau .cmd = hmp_physical_memory_dump, 469d7f9b689SLuiz Capitulino }, 470d7f9b689SLuiz Capitulino 4712313086aSBlue SwirlSTEXI 4722313086aSBlue Swirl@item xp /@var{fmt} @var{addr} 47370fcbbe7SStefan Weil@findex xp 4742313086aSBlue SwirlPhysical memory dump starting at @var{addr}. 4752313086aSBlue Swirl 4762313086aSBlue Swirl@var{fmt} is a format which tells the command how to format the 4772313086aSBlue Swirldata. Its syntax is: @option{/@{count@}@{format@}@{size@}} 4782313086aSBlue Swirl 4792313086aSBlue Swirl@table @var 4802313086aSBlue Swirl@item count 4812313086aSBlue Swirlis the number of items to be dumped. 4822313086aSBlue Swirl 4832313086aSBlue Swirl@item format 4842313086aSBlue Swirlcan be x (hex), d (signed decimal), u (unsigned decimal), o (octal), 4852313086aSBlue Swirlc (char) or i (asm instruction). 4862313086aSBlue Swirl 4872313086aSBlue Swirl@item size 4882313086aSBlue Swirlcan be b (8 bits), h (16 bits), w (32 bits) or g (64 bits). On x86, 4892313086aSBlue Swirl@code{h} or @code{w} can be specified with the @code{i} format to 4902313086aSBlue Swirlrespectively select 16 or 32 bit code instruction size. 4912313086aSBlue Swirl 4922313086aSBlue Swirl@end table 4932313086aSBlue Swirl 4942313086aSBlue SwirlExamples: 4952313086aSBlue Swirl@itemize 4962313086aSBlue Swirl@item 4972313086aSBlue SwirlDump 10 instructions at the current instruction pointer: 4982313086aSBlue Swirl@example 4992313086aSBlue Swirl(qemu) x/10i $eip 5002313086aSBlue Swirl0x90107063: ret 5012313086aSBlue Swirl0x90107064: sti 5022313086aSBlue Swirl0x90107065: lea 0x0(%esi,1),%esi 5032313086aSBlue Swirl0x90107069: lea 0x0(%edi,1),%edi 5042313086aSBlue Swirl0x90107070: ret 5052313086aSBlue Swirl0x90107071: jmp 0x90107080 5062313086aSBlue Swirl0x90107073: nop 5072313086aSBlue Swirl0x90107074: nop 5082313086aSBlue Swirl0x90107075: nop 5092313086aSBlue Swirl0x90107076: nop 5102313086aSBlue Swirl@end example 5112313086aSBlue Swirl 5122313086aSBlue Swirl@item 5132313086aSBlue SwirlDump 80 16 bit values at the start of the video memory. 5142313086aSBlue Swirl@smallexample 5152313086aSBlue Swirl(qemu) xp/80hx 0xb8000 5162313086aSBlue Swirl0x000b8000: 0x0b50 0x0b6c 0x0b65 0x0b78 0x0b38 0x0b36 0x0b2f 0x0b42 5172313086aSBlue Swirl0x000b8010: 0x0b6f 0x0b63 0x0b68 0x0b73 0x0b20 0x0b56 0x0b47 0x0b41 5182313086aSBlue Swirl0x000b8020: 0x0b42 0x0b69 0x0b6f 0x0b73 0x0b20 0x0b63 0x0b75 0x0b72 5192313086aSBlue Swirl0x000b8030: 0x0b72 0x0b65 0x0b6e 0x0b74 0x0b2d 0x0b63 0x0b76 0x0b73 5202313086aSBlue Swirl0x000b8040: 0x0b20 0x0b30 0x0b35 0x0b20 0x0b4e 0x0b6f 0x0b76 0x0b20 5212313086aSBlue Swirl0x000b8050: 0x0b32 0x0b30 0x0b30 0x0b33 0x0720 0x0720 0x0720 0x0720 5222313086aSBlue Swirl0x000b8060: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 5232313086aSBlue Swirl0x000b8070: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 5242313086aSBlue Swirl0x000b8080: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 5252313086aSBlue Swirl0x000b8090: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 5262313086aSBlue Swirl@end smallexample 5272313086aSBlue Swirl@end itemize 5282313086aSBlue SwirlETEXI 5292313086aSBlue Swirl 530d7f9b689SLuiz Capitulino { 531e9628441SPaolo Bonzini .name = "gpa2hva", 532e9628441SPaolo Bonzini .args_type = "addr:l", 533e9628441SPaolo Bonzini .params = "addr", 534e9628441SPaolo Bonzini .help = "print the host virtual address corresponding to a guest physical address", 535e9628441SPaolo Bonzini .cmd = hmp_gpa2hva, 536e9628441SPaolo Bonzini }, 537e9628441SPaolo Bonzini 538e9628441SPaolo BonziniSTEXI 539e9628441SPaolo Bonzini@item gpa2hva @var{addr} 540e9628441SPaolo Bonzini@findex gpa2hva 541e9628441SPaolo BonziniPrint the host virtual address at which the guest's physical address @var{addr} 542e9628441SPaolo Bonziniis mapped. 543e9628441SPaolo BonziniETEXI 544e9628441SPaolo Bonzini 545e9628441SPaolo Bonzini#ifdef CONFIG_LINUX 546e9628441SPaolo Bonzini { 547e9628441SPaolo Bonzini .name = "gpa2hpa", 548e9628441SPaolo Bonzini .args_type = "addr:l", 549e9628441SPaolo Bonzini .params = "addr", 550e9628441SPaolo Bonzini .help = "print the host physical address corresponding to a guest physical address", 551e9628441SPaolo Bonzini .cmd = hmp_gpa2hpa, 552e9628441SPaolo Bonzini }, 553e9628441SPaolo Bonzini#endif 554e9628441SPaolo Bonzini 555e9628441SPaolo BonziniSTEXI 556e9628441SPaolo Bonzini@item gpa2hpa @var{addr} 557e9628441SPaolo Bonzini@findex gpa2hpa 558e9628441SPaolo BonziniPrint the host physical address at which the guest's physical address @var{addr} 559e9628441SPaolo Bonziniis mapped. 560e9628441SPaolo BonziniETEXI 561e9628441SPaolo Bonzini 562e9628441SPaolo Bonzini { 563d7f9b689SLuiz Capitulino .name = "p|print", 564d7f9b689SLuiz Capitulino .args_type = "fmt:/,val:l", 565d7f9b689SLuiz Capitulino .params = "/fmt expr", 566d7f9b689SLuiz Capitulino .help = "print expression value (use $reg for CPU register access)", 5672b9e3576SMarc-André Lureau .cmd = do_print, 568d7f9b689SLuiz Capitulino }, 569d7f9b689SLuiz Capitulino 5702313086aSBlue SwirlSTEXI 5712313086aSBlue Swirl@item p or print/@var{fmt} @var{expr} 57270fcbbe7SStefan Weil@findex print 5732313086aSBlue SwirlPrint expression value. Only the @var{format} part of @var{fmt} is 5742313086aSBlue Swirlused. 5752313086aSBlue SwirlETEXI 5762313086aSBlue Swirl 577d7f9b689SLuiz Capitulino { 578d7f9b689SLuiz Capitulino .name = "i", 579d7f9b689SLuiz Capitulino .args_type = "fmt:/,addr:i,index:i.", 580d7f9b689SLuiz Capitulino .params = "/fmt addr", 581d7f9b689SLuiz Capitulino .help = "I/O port read", 5822b9e3576SMarc-André Lureau .cmd = hmp_ioport_read, 583d7f9b689SLuiz Capitulino }, 584d7f9b689SLuiz Capitulino 5852313086aSBlue SwirlSTEXI 586b76d799eSMarkus Armbruster@item i/@var{fmt} @var{addr} [.@var{index}] 587b76d799eSMarkus Armbruster@findex i 5882313086aSBlue SwirlRead I/O port. 5892313086aSBlue SwirlETEXI 5902313086aSBlue Swirl 591d7f9b689SLuiz Capitulino { 592d7f9b689SLuiz Capitulino .name = "o", 593d7f9b689SLuiz Capitulino .args_type = "fmt:/,addr:i,val:i", 594d7f9b689SLuiz Capitulino .params = "/fmt addr value", 595d7f9b689SLuiz Capitulino .help = "I/O port write", 5962b9e3576SMarc-André Lureau .cmd = hmp_ioport_write, 597d7f9b689SLuiz Capitulino }, 598d7f9b689SLuiz Capitulino 599f114784fSJan KiszkaSTEXI 600b76d799eSMarkus Armbruster@item o/@var{fmt} @var{addr} @var{val} 601b76d799eSMarkus Armbruster@findex o 602f114784fSJan KiszkaWrite to I/O port. 603f114784fSJan KiszkaETEXI 6042313086aSBlue Swirl 605d7f9b689SLuiz Capitulino { 606d7f9b689SLuiz Capitulino .name = "sendkey", 6072ef20c15SAmos Kong .args_type = "keys:s,hold-time:i?", 608d7f9b689SLuiz Capitulino .params = "keys [hold_ms]", 609d7f9b689SLuiz Capitulino .help = "send keys to the VM (e.g. 'sendkey ctrl-alt-f1', default hold time=100 ms)", 6102b9e3576SMarc-André Lureau .cmd = hmp_sendkey, 61129136cd8SHani Benhabiles .command_completion = sendkey_completion, 612d7f9b689SLuiz Capitulino }, 613d7f9b689SLuiz Capitulino 6142313086aSBlue SwirlSTEXI 6152313086aSBlue Swirl@item sendkey @var{keys} 61670fcbbe7SStefan Weil@findex sendkey 617886cc706SAmos KongSend @var{keys} to the guest. @var{keys} could be the name of the 618886cc706SAmos Kongkey or the raw value in hexadecimal format. Use @code{-} to press 619886cc706SAmos Kongseveral keys simultaneously. Example: 6202313086aSBlue Swirl@example 6212313086aSBlue Swirlsendkey ctrl-alt-f1 6222313086aSBlue Swirl@end example 6232313086aSBlue Swirl 6242313086aSBlue SwirlThis command is useful to send keys that your graphical user interface 6252313086aSBlue Swirlintercepts at low level, such as @code{ctrl-alt-f1} in X Window. 6262313086aSBlue SwirlETEXI 6272313086aSBlue Swirl 628d7f9b689SLuiz Capitulino { 629d7f9b689SLuiz Capitulino .name = "system_reset", 630d7f9b689SLuiz Capitulino .args_type = "", 631d7f9b689SLuiz Capitulino .params = "", 632d7f9b689SLuiz Capitulino .help = "reset the system", 6332b9e3576SMarc-André Lureau .cmd = hmp_system_reset, 634d7f9b689SLuiz Capitulino }, 635d7f9b689SLuiz Capitulino 6362313086aSBlue SwirlSTEXI 6372313086aSBlue Swirl@item system_reset 63870fcbbe7SStefan Weil@findex system_reset 6392313086aSBlue SwirlReset the system. 6402313086aSBlue SwirlETEXI 6412313086aSBlue Swirl 642d7f9b689SLuiz Capitulino { 643d7f9b689SLuiz Capitulino .name = "system_powerdown", 644d7f9b689SLuiz Capitulino .args_type = "", 645d7f9b689SLuiz Capitulino .params = "", 646d7f9b689SLuiz Capitulino .help = "send system power down event", 6472b9e3576SMarc-André Lureau .cmd = hmp_system_powerdown, 648d7f9b689SLuiz Capitulino }, 649d7f9b689SLuiz Capitulino 6502313086aSBlue SwirlSTEXI 6512313086aSBlue Swirl@item system_powerdown 65270fcbbe7SStefan Weil@findex system_powerdown 6532313086aSBlue SwirlPower down the system (if supported). 6542313086aSBlue SwirlETEXI 6552313086aSBlue Swirl 656d7f9b689SLuiz Capitulino { 657d7f9b689SLuiz Capitulino .name = "sum", 658d7f9b689SLuiz Capitulino .args_type = "start:i,size:i", 659d7f9b689SLuiz Capitulino .params = "addr size", 660d7f9b689SLuiz Capitulino .help = "compute the checksum of a memory region", 6612b9e3576SMarc-André Lureau .cmd = hmp_sum, 662d7f9b689SLuiz Capitulino }, 663d7f9b689SLuiz Capitulino 6642313086aSBlue SwirlSTEXI 6652313086aSBlue Swirl@item sum @var{addr} @var{size} 66670fcbbe7SStefan Weil@findex sum 6672313086aSBlue SwirlCompute the checksum of a memory region. 6682313086aSBlue SwirlETEXI 6692313086aSBlue Swirl 670d7f9b689SLuiz Capitulino { 671d7f9b689SLuiz Capitulino .name = "device_add", 672c7e4e8ceSMarkus Armbruster .args_type = "device:O", 673c7e4e8ceSMarkus Armbruster .params = "driver[,prop=value][,...]", 674d7f9b689SLuiz Capitulino .help = "add device, like -device on the command line", 6752b9e3576SMarc-André Lureau .cmd = hmp_device_add, 6762da1b3abSHani Benhabiles .command_completion = device_add_completion, 677d7f9b689SLuiz Capitulino }, 678d7f9b689SLuiz Capitulino 6793418bd25SGerd HoffmannSTEXI 6803418bd25SGerd Hoffmann@item device_add @var{config} 68170fcbbe7SStefan Weil@findex device_add 6823418bd25SGerd HoffmannAdd device. 6833418bd25SGerd HoffmannETEXI 6843418bd25SGerd Hoffmann 685d7f9b689SLuiz Capitulino { 686d7f9b689SLuiz Capitulino .name = "device_del", 687d7f9b689SLuiz Capitulino .args_type = "id:s", 688d7f9b689SLuiz Capitulino .params = "device", 689d7f9b689SLuiz Capitulino .help = "remove device", 6902b9e3576SMarc-André Lureau .cmd = hmp_device_del, 6912da1b3abSHani Benhabiles .command_completion = device_del_completion, 692d7f9b689SLuiz Capitulino }, 693d7f9b689SLuiz Capitulino 6943418bd25SGerd HoffmannSTEXI 6953418bd25SGerd Hoffmann@item device_del @var{id} 69670fcbbe7SStefan Weil@findex device_del 6976287d827SDaniel P. BerrangeRemove device @var{id}. @var{id} may be a short ID 6986287d827SDaniel P. Berrangeor a QOM object path. 6993418bd25SGerd HoffmannETEXI 7003418bd25SGerd Hoffmann 701d7f9b689SLuiz Capitulino { 702d7f9b689SLuiz Capitulino .name = "cpu", 703d7f9b689SLuiz Capitulino .args_type = "index:i", 704d7f9b689SLuiz Capitulino .params = "index", 705d7f9b689SLuiz Capitulino .help = "set the default CPU", 7062b9e3576SMarc-André Lureau .cmd = hmp_cpu, 707d7f9b689SLuiz Capitulino }, 7083418bd25SGerd Hoffmann 7092313086aSBlue SwirlSTEXI 710c427ea9cSMarkus Armbruster@item cpu @var{index} 711c427ea9cSMarkus Armbruster@findex cpu 7122313086aSBlue SwirlSet the default CPU. 7132313086aSBlue SwirlETEXI 7142313086aSBlue Swirl 715d7f9b689SLuiz Capitulino { 716d7f9b689SLuiz Capitulino .name = "mouse_move", 717d7f9b689SLuiz Capitulino .args_type = "dx_str:s,dy_str:s,dz_str:s?", 718d7f9b689SLuiz Capitulino .params = "dx dy [dz]", 719d7f9b689SLuiz Capitulino .help = "send mouse move events", 7202b9e3576SMarc-André Lureau .cmd = hmp_mouse_move, 721d7f9b689SLuiz Capitulino }, 722d7f9b689SLuiz Capitulino 7232313086aSBlue SwirlSTEXI 7242313086aSBlue Swirl@item mouse_move @var{dx} @var{dy} [@var{dz}] 72570fcbbe7SStefan Weil@findex mouse_move 7262313086aSBlue SwirlMove the active mouse to the specified coordinates @var{dx} @var{dy} 7272313086aSBlue Swirlwith optional scroll axis @var{dz}. 7282313086aSBlue SwirlETEXI 7292313086aSBlue Swirl 730d7f9b689SLuiz Capitulino { 731d7f9b689SLuiz Capitulino .name = "mouse_button", 732d7f9b689SLuiz Capitulino .args_type = "button_state:i", 733d7f9b689SLuiz Capitulino .params = "state", 734d7f9b689SLuiz Capitulino .help = "change mouse button state (1=L, 2=M, 4=R)", 7352b9e3576SMarc-André Lureau .cmd = hmp_mouse_button, 736d7f9b689SLuiz Capitulino }, 737d7f9b689SLuiz Capitulino 7382313086aSBlue SwirlSTEXI 7392313086aSBlue Swirl@item mouse_button @var{val} 74070fcbbe7SStefan Weil@findex mouse_button 7412313086aSBlue SwirlChange the active mouse button state @var{val} (1=L, 2=M, 4=R). 7422313086aSBlue SwirlETEXI 7432313086aSBlue Swirl 744d7f9b689SLuiz Capitulino { 745d7f9b689SLuiz Capitulino .name = "mouse_set", 746d7f9b689SLuiz Capitulino .args_type = "index:i", 747d7f9b689SLuiz Capitulino .params = "index", 748d7f9b689SLuiz Capitulino .help = "set which mouse device receives events", 7492b9e3576SMarc-André Lureau .cmd = hmp_mouse_set, 750d7f9b689SLuiz Capitulino }, 751d7f9b689SLuiz Capitulino 7522313086aSBlue SwirlSTEXI 7532313086aSBlue Swirl@item mouse_set @var{index} 75470fcbbe7SStefan Weil@findex mouse_set 7552313086aSBlue SwirlSet which mouse device receives events at given @var{index}, index 7562313086aSBlue Swirlcan be obtained with 7572313086aSBlue Swirl@example 7582313086aSBlue Swirlinfo mice 7592313086aSBlue Swirl@end example 7602313086aSBlue SwirlETEXI 7612313086aSBlue Swirl 762d7f9b689SLuiz Capitulino { 763d7f9b689SLuiz Capitulino .name = "wavcapture", 764d7f9b689SLuiz Capitulino .args_type = "path:F,freq:i?,bits:i?,nchannels:i?", 765d7f9b689SLuiz Capitulino .params = "path [frequency [bits [channels]]]", 766d7f9b689SLuiz Capitulino .help = "capture audio to a wave file (default frequency=44100 bits=16 channels=2)", 7672b9e3576SMarc-André Lureau .cmd = hmp_wavcapture, 768d7f9b689SLuiz Capitulino }, 7692313086aSBlue SwirlSTEXI 7702313086aSBlue Swirl@item wavcapture @var{filename} [@var{frequency} [@var{bits} [@var{channels}]]] 77170fcbbe7SStefan Weil@findex wavcapture 7722313086aSBlue SwirlCapture audio into @var{filename}. Using sample rate @var{frequency} 7732313086aSBlue Swirlbits per sample @var{bits} and number of channels @var{channels}. 7742313086aSBlue Swirl 7752313086aSBlue SwirlDefaults: 7762313086aSBlue Swirl@itemize @minus 7772313086aSBlue Swirl@item Sample rate = 44100 Hz - CD quality 7782313086aSBlue Swirl@item Bits = 16 7792313086aSBlue Swirl@item Number of channels = 2 - Stereo 7802313086aSBlue Swirl@end itemize 7812313086aSBlue SwirlETEXI 7822313086aSBlue Swirl 783d7f9b689SLuiz Capitulino { 784d7f9b689SLuiz Capitulino .name = "stopcapture", 785d7f9b689SLuiz Capitulino .args_type = "n:i", 786d7f9b689SLuiz Capitulino .params = "capture index", 787d7f9b689SLuiz Capitulino .help = "stop capture", 7882b9e3576SMarc-André Lureau .cmd = hmp_stopcapture, 789d7f9b689SLuiz Capitulino }, 7902313086aSBlue SwirlSTEXI 7912313086aSBlue Swirl@item stopcapture @var{index} 79270fcbbe7SStefan Weil@findex stopcapture 7932313086aSBlue SwirlStop capture with a given @var{index}, index can be obtained with 7942313086aSBlue Swirl@example 7952313086aSBlue Swirlinfo capture 7962313086aSBlue Swirl@end example 7972313086aSBlue SwirlETEXI 7982313086aSBlue Swirl 799d7f9b689SLuiz Capitulino { 800d7f9b689SLuiz Capitulino .name = "memsave", 801d7f9b689SLuiz Capitulino .args_type = "val:l,size:i,filename:s", 802d7f9b689SLuiz Capitulino .params = "addr size file", 803d7f9b689SLuiz Capitulino .help = "save to disk virtual memory dump starting at 'addr' of size 'size'", 8042b9e3576SMarc-André Lureau .cmd = hmp_memsave, 805d7f9b689SLuiz Capitulino }, 806d7f9b689SLuiz Capitulino 8072313086aSBlue SwirlSTEXI 8082313086aSBlue Swirl@item memsave @var{addr} @var{size} @var{file} 80970fcbbe7SStefan Weil@findex memsave 8102313086aSBlue Swirlsave to disk virtual memory dump starting at @var{addr} of size @var{size}. 8112313086aSBlue SwirlETEXI 8122313086aSBlue Swirl 813d7f9b689SLuiz Capitulino { 814d7f9b689SLuiz Capitulino .name = "pmemsave", 815d7f9b689SLuiz Capitulino .args_type = "val:l,size:i,filename:s", 816d7f9b689SLuiz Capitulino .params = "addr size file", 817d7f9b689SLuiz Capitulino .help = "save to disk physical memory dump starting at 'addr' of size 'size'", 8182b9e3576SMarc-André Lureau .cmd = hmp_pmemsave, 819d7f9b689SLuiz Capitulino }, 820d7f9b689SLuiz Capitulino 8212313086aSBlue SwirlSTEXI 8222313086aSBlue Swirl@item pmemsave @var{addr} @var{size} @var{file} 82370fcbbe7SStefan Weil@findex pmemsave 8242313086aSBlue Swirlsave to disk physical memory dump starting at @var{addr} of size @var{size}. 8252313086aSBlue SwirlETEXI 8262313086aSBlue Swirl 827d7f9b689SLuiz Capitulino { 828d7f9b689SLuiz Capitulino .name = "boot_set", 829d7f9b689SLuiz Capitulino .args_type = "bootdevice:s", 830d7f9b689SLuiz Capitulino .params = "bootdevice", 831d7f9b689SLuiz Capitulino .help = "define new values for the boot device list", 8322b9e3576SMarc-André Lureau .cmd = hmp_boot_set, 833d7f9b689SLuiz Capitulino }, 834d7f9b689SLuiz Capitulino 8352313086aSBlue SwirlSTEXI 8362313086aSBlue Swirl@item boot_set @var{bootdevicelist} 83770fcbbe7SStefan Weil@findex boot_set 8382313086aSBlue SwirlDefine new values for the boot device list. Those values will override 8392313086aSBlue Swirlthe values specified on the command line through the @code{-boot} option. 8402313086aSBlue Swirl 8412313086aSBlue SwirlThe values that can be specified here depend on the machine type, but are 8422313086aSBlue Swirlthe same that can be specified in the @code{-boot} command line option. 8432313086aSBlue SwirlETEXI 8442313086aSBlue Swirl 845d7f9b689SLuiz Capitulino { 846d7f9b689SLuiz Capitulino .name = "nmi", 847e9b4b432SLuiz Capitulino .args_type = "", 848e9b4b432SLuiz Capitulino .params = "", 8499cb805fdSAlexey Kardashevskiy .help = "inject an NMI", 8502b9e3576SMarc-André Lureau .cmd = hmp_nmi, 851d7f9b689SLuiz Capitulino }, 8522313086aSBlue SwirlSTEXI 8532313086aSBlue Swirl@item nmi @var{cpu} 85470fcbbe7SStefan Weil@findex nmi 8559cb805fdSAlexey KardashevskiyInject an NMI on the default CPU (x86/s390) or all CPUs (ppc64). 8561f590cf9SLei Li 8571f590cf9SLei LiETEXI 8581f590cf9SLei Li 8591f590cf9SLei Li { 8603949e594SMarkus Armbruster .name = "ringbuf_write", 8611f590cf9SLei Li .args_type = "device:s,data:s", 8621f590cf9SLei Li .params = "device data", 8633949e594SMarkus Armbruster .help = "Write to a ring buffer character device", 8642b9e3576SMarc-André Lureau .cmd = hmp_ringbuf_write, 8658e597779SHani Benhabiles .command_completion = ringbuf_write_completion, 8661f590cf9SLei Li }, 8671f590cf9SLei Li 8681f590cf9SLei LiSTEXI 8693949e594SMarkus Armbruster@item ringbuf_write @var{device} @var{data} 8703949e594SMarkus Armbruster@findex ringbuf_write 8713949e594SMarkus ArmbrusterWrite @var{data} to ring buffer character device @var{device}. 8723949e594SMarkus Armbruster@var{data} must be a UTF-8 string. 8731f590cf9SLei Li 8742313086aSBlue SwirlETEXI 8752313086aSBlue Swirl 876d7f9b689SLuiz Capitulino { 8773949e594SMarkus Armbruster .name = "ringbuf_read", 87849b6d722SLei Li .args_type = "device:s,size:i", 87949b6d722SLei Li .params = "device size", 8803949e594SMarkus Armbruster .help = "Read from a ring buffer character device", 8812b9e3576SMarc-André Lureau .cmd = hmp_ringbuf_read, 8828e597779SHani Benhabiles .command_completion = ringbuf_write_completion, 88349b6d722SLei Li }, 88449b6d722SLei Li 88549b6d722SLei LiSTEXI 8863949e594SMarkus Armbruster@item ringbuf_read @var{device} 8873949e594SMarkus Armbruster@findex ringbuf_read 8883949e594SMarkus ArmbrusterRead and print up to @var{size} bytes from ring buffer character 8893949e594SMarkus Armbrusterdevice @var{device}. 890543f3412SMarkus ArmbrusterCertain non-printable characters are printed \uXXXX, where XXXX is the 891543f3412SMarkus Armbrustercharacter code in hexadecimal. Character \ is printed \\. 8923949e594SMarkus ArmbrusterBug: can screw up when the buffer contains invalid UTF-8 sequences, 8933949e594SMarkus ArmbrusterNUL characters, after the ring buffer lost data, and when reading 8943949e594SMarkus Armbrusterstops because the size limit is reached. 89549b6d722SLei Li 89649b6d722SLei LiETEXI 89749b6d722SLei Li 89849b6d722SLei Li { 899d7f9b689SLuiz Capitulino .name = "migrate", 9007a4da28bSPeter Xu .args_type = "detach:-d,blk:-b,inc:-i,resume:-r,uri:s", 9017a4da28bSPeter Xu .params = "[-d] [-b] [-i] [-r] uri", 902fbc3d96cSlirans@il.ibm.com .help = "migrate to URI (using -d to not wait for completion)" 903fbc3d96cSlirans@il.ibm.com "\n\t\t\t -b for migration without shared storage with" 904fbc3d96cSlirans@il.ibm.com " full copy of disk\n\t\t\t -i for migration without " 905fbc3d96cSlirans@il.ibm.com "shared storage with incremental copy of disk " 9067a4da28bSPeter Xu "(base image shared between src and destination)" 9077a4da28bSPeter Xu "\n\t\t\t -r to resume a paused migration", 9082b9e3576SMarc-André Lureau .cmd = hmp_migrate, 909d7f9b689SLuiz Capitulino }, 910d7f9b689SLuiz Capitulino 911fbc3d96cSlirans@il.ibm.com 9122313086aSBlue SwirlSTEXI 913fbc3d96cSlirans@il.ibm.com@item migrate [-d] [-b] [-i] @var{uri} 91470fcbbe7SStefan Weil@findex migrate 9152313086aSBlue SwirlMigrate to @var{uri} (using -d to not wait for completion). 916fbc3d96cSlirans@il.ibm.com -b for migration with full copy of disk 917fbc3d96cSlirans@il.ibm.com -i for migration with incremental copy of disk (base image is shared) 9182313086aSBlue SwirlETEXI 9192313086aSBlue Swirl 920d7f9b689SLuiz Capitulino { 921d7f9b689SLuiz Capitulino .name = "migrate_cancel", 922d7f9b689SLuiz Capitulino .args_type = "", 923d7f9b689SLuiz Capitulino .params = "", 924d7f9b689SLuiz Capitulino .help = "cancel the current VM migration", 9252b9e3576SMarc-André Lureau .cmd = hmp_migrate_cancel, 926d7f9b689SLuiz Capitulino }, 927d7f9b689SLuiz Capitulino 9282313086aSBlue SwirlSTEXI 9292313086aSBlue Swirl@item migrate_cancel 93070fcbbe7SStefan Weil@findex migrate_cancel 9312313086aSBlue SwirlCancel the current VM migration. 93294ae12cbSDr. David Alan GilbertETEXI 9339e1ba4ccSOrit Wasserman 93494ae12cbSDr. David Alan Gilbert { 93594ae12cbSDr. David Alan Gilbert .name = "migrate_continue", 93694ae12cbSDr. David Alan Gilbert .args_type = "state:s", 93794ae12cbSDr. David Alan Gilbert .params = "state", 93894ae12cbSDr. David Alan Gilbert .help = "Continue migration from the given paused state", 93994ae12cbSDr. David Alan Gilbert .cmd = hmp_migrate_continue, 94094ae12cbSDr. David Alan Gilbert }, 94194ae12cbSDr. David Alan GilbertSTEXI 94294ae12cbSDr. David Alan Gilbert@item migrate_continue @var{state} 94394ae12cbSDr. David Alan Gilbert@findex migrate_continue 94494ae12cbSDr. David Alan GilbertContinue migration from the paused state @var{state} 9459e1ba4ccSOrit WassermanETEXI 9469e1ba4ccSOrit Wasserman 9479e1ba4ccSOrit Wasserman { 948bf1ae1f4SDr. David Alan Gilbert .name = "migrate_incoming", 949bf1ae1f4SDr. David Alan Gilbert .args_type = "uri:s", 950bf1ae1f4SDr. David Alan Gilbert .params = "uri", 951bf1ae1f4SDr. David Alan Gilbert .help = "Continue an incoming migration from an -incoming defer", 9522b9e3576SMarc-André Lureau .cmd = hmp_migrate_incoming, 953bf1ae1f4SDr. David Alan Gilbert }, 954bf1ae1f4SDr. David Alan Gilbert 955bf1ae1f4SDr. David Alan GilbertSTEXI 956bf1ae1f4SDr. David Alan Gilbert@item migrate_incoming @var{uri} 957bf1ae1f4SDr. David Alan Gilbert@findex migrate_incoming 958bf1ae1f4SDr. David Alan GilbertContinue an incoming migration using the @var{uri} (that has the same syntax 959bf1ae1f4SDr. David Alan Gilbertas the -incoming option). 960*3b563c4bSPeter XuETEXI 961bf1ae1f4SDr. David Alan Gilbert 962*3b563c4bSPeter Xu { 963*3b563c4bSPeter Xu .name = "migrate_recover", 964*3b563c4bSPeter Xu .args_type = "uri:s", 965*3b563c4bSPeter Xu .params = "uri", 966*3b563c4bSPeter Xu .help = "Continue a paused incoming postcopy migration", 967*3b563c4bSPeter Xu .cmd = hmp_migrate_recover, 968*3b563c4bSPeter Xu }, 969*3b563c4bSPeter Xu 970*3b563c4bSPeter XuSTEXI 971*3b563c4bSPeter Xu@item migrate_recover @var{uri} 972*3b563c4bSPeter Xu@findex migrate_recover 973*3b563c4bSPeter XuContinue a paused incoming postcopy migration using the @var{uri}. 974bf1ae1f4SDr. David Alan GilbertETEXI 975bf1ae1f4SDr. David Alan Gilbert 976bf1ae1f4SDr. David Alan Gilbert { 9779e1ba4ccSOrit Wasserman .name = "migrate_set_cache_size", 9789e1ba4ccSOrit Wasserman .args_type = "value:o", 9799e1ba4ccSOrit Wasserman .params = "value", 9809e1ba4ccSOrit Wasserman .help = "set cache size (in bytes) for XBZRLE migrations," 9819e1ba4ccSOrit Wasserman "the cache size will be rounded down to the nearest " 9829e1ba4ccSOrit Wasserman "power of 2.\n" 9839e1ba4ccSOrit Wasserman "The cache size affects the number of cache misses." 9849e1ba4ccSOrit Wasserman "In case of a high cache miss ratio you need to increase" 9859e1ba4ccSOrit Wasserman " the cache size", 9862b9e3576SMarc-André Lureau .cmd = hmp_migrate_set_cache_size, 9879e1ba4ccSOrit Wasserman }, 9889e1ba4ccSOrit Wasserman 9899e1ba4ccSOrit WassermanSTEXI 9909e1ba4ccSOrit Wasserman@item migrate_set_cache_size @var{value} 9919e1ba4ccSOrit Wasserman@findex migrate_set_cache_size 9929e1ba4ccSOrit WassermanSet cache size to @var{value} (in bytes) for xbzrle migrations. 9932313086aSBlue SwirlETEXI 9942313086aSBlue Swirl 995d7f9b689SLuiz Capitulino { 996d7f9b689SLuiz Capitulino .name = "migrate_set_speed", 997ed3d4a80SJes Sorensen .args_type = "value:o", 998d7f9b689SLuiz Capitulino .params = "value", 999ed3d4a80SJes Sorensen .help = "set maximum speed (in bytes) for migrations. " 1000ed3d4a80SJes Sorensen "Defaults to MB if no size suffix is specified, ie. B/K/M/G/T", 10012b9e3576SMarc-André Lureau .cmd = hmp_migrate_set_speed, 1002d7f9b689SLuiz Capitulino }, 1003d7f9b689SLuiz Capitulino 10042313086aSBlue SwirlSTEXI 10052313086aSBlue Swirl@item migrate_set_speed @var{value} 100670fcbbe7SStefan Weil@findex migrate_set_speed 10072313086aSBlue SwirlSet maximum speed to @var{value} (in bytes) for migrations. 10082313086aSBlue SwirlETEXI 10092313086aSBlue Swirl 1010d7f9b689SLuiz Capitulino { 1011d7f9b689SLuiz Capitulino .name = "migrate_set_downtime", 1012b0fbf7d3SMarkus Armbruster .args_type = "value:T", 1013d7f9b689SLuiz Capitulino .params = "value", 1014d7f9b689SLuiz Capitulino .help = "set maximum tolerated downtime (in seconds) for migrations", 10152b9e3576SMarc-André Lureau .cmd = hmp_migrate_set_downtime, 1016d7f9b689SLuiz Capitulino }, 10172ea42952SGlauber Costa 10182ea42952SGlauber CostaSTEXI 10192ea42952SGlauber Costa@item migrate_set_downtime @var{second} 102070fcbbe7SStefan Weil@findex migrate_set_downtime 10212ea42952SGlauber CostaSet maximum tolerated downtime (in seconds) for migration. 10222ea42952SGlauber CostaETEXI 10232ea42952SGlauber Costa 1024f8882568SJes Sorensen { 102500458433SOrit Wasserman .name = "migrate_set_capability", 102600458433SOrit Wasserman .args_type = "capability:s,state:b", 102700458433SOrit Wasserman .params = "capability state", 102800458433SOrit Wasserman .help = "Enable/Disable the usage of a capability for migration", 10292b9e3576SMarc-André Lureau .cmd = hmp_migrate_set_capability, 1030c68a0409SHani Benhabiles .command_completion = migrate_set_capability_completion, 103100458433SOrit Wasserman }, 103200458433SOrit Wasserman 103300458433SOrit WassermanSTEXI 103400458433SOrit Wasserman@item migrate_set_capability @var{capability} @var{state} 103500458433SOrit Wasserman@findex migrate_set_capability 103600458433SOrit WassermanEnable/Disable the usage of a capability @var{capability} for migration. 103700458433SOrit WassermanETEXI 103800458433SOrit Wasserman 103900458433SOrit Wasserman { 104050e9a629SLiang Li .name = "migrate_set_parameter", 104169ef1f36SDaniel P. Berrange .args_type = "parameter:s,value:s", 104250e9a629SLiang Li .params = "parameter value", 104350e9a629SLiang Li .help = "Set the parameter for migration", 10442b9e3576SMarc-André Lureau .cmd = hmp_migrate_set_parameter, 104550e9a629SLiang Li .command_completion = migrate_set_parameter_completion, 104650e9a629SLiang Li }, 104750e9a629SLiang Li 104850e9a629SLiang LiSTEXI 104950e9a629SLiang Li@item migrate_set_parameter @var{parameter} @var{value} 105050e9a629SLiang Li@findex migrate_set_parameter 105150e9a629SLiang LiSet the parameter @var{parameter} for migration. 105250e9a629SLiang LiETEXI 105350e9a629SLiang Li 105450e9a629SLiang Li { 10554886a1bcSDr. David Alan Gilbert .name = "migrate_start_postcopy", 10564886a1bcSDr. David Alan Gilbert .args_type = "", 10574886a1bcSDr. David Alan Gilbert .params = "", 1058a54d340bSDr. David Alan Gilbert .help = "Followup to a migration command to switch the migration" 105932c3db5bSDr. David Alan Gilbert " to postcopy mode. The postcopy-ram capability must " 1060c2eb7f21SGreg Kurz "be set on both source and destination before the " 1061c2eb7f21SGreg Kurz "original migration command .", 10622b9e3576SMarc-André Lureau .cmd = hmp_migrate_start_postcopy, 10634886a1bcSDr. David Alan Gilbert }, 10644886a1bcSDr. David Alan Gilbert 10654886a1bcSDr. David Alan GilbertSTEXI 10664886a1bcSDr. David Alan Gilbert@item migrate_start_postcopy 10674886a1bcSDr. David Alan Gilbert@findex migrate_start_postcopy 10684886a1bcSDr. David Alan GilbertSwitch in-progress migration to postcopy mode. Ignored after the end of 10694886a1bcSDr. David Alan Gilbertmigration (or once already in postcopy). 10704886a1bcSDr. David Alan GilbertETEXI 10714886a1bcSDr. David Alan Gilbert 10724886a1bcSDr. David Alan Gilbert { 1073d89e666eSzhanghailiang .name = "x_colo_lost_heartbeat", 1074d89e666eSzhanghailiang .args_type = "", 1075d89e666eSzhanghailiang .params = "", 1076d89e666eSzhanghailiang .help = "Tell COLO that heartbeat is lost,\n\t\t\t" 1077d89e666eSzhanghailiang "a failover or takeover is needed.", 1078d89e666eSzhanghailiang .cmd = hmp_x_colo_lost_heartbeat, 1079d89e666eSzhanghailiang }, 1080d89e666eSzhanghailiang 1081d89e666eSzhanghailiangSTEXI 1082d89e666eSzhanghailiang@item x_colo_lost_heartbeat 1083d89e666eSzhanghailiang@findex x_colo_lost_heartbeat 1084d89e666eSzhanghailiangTell COLO that heartbeat is lost, a failover or takeover is needed. 1085d89e666eSzhanghailiangETEXI 1086d89e666eSzhanghailiang 1087d89e666eSzhanghailiang { 10882ea720dbSJes Sorensen .name = "client_migrate_info", 10892ea720dbSJes Sorensen .args_type = "protocol:s,hostname:s,port:i?,tls-port:i?,cert-subject:s?", 10902ea720dbSJes Sorensen .params = "protocol hostname port tls-port cert-subject", 109113cadefbSMarkus Armbruster .help = "set migration information for remote display", 10922b9e3576SMarc-André Lureau .cmd = hmp_client_migrate_info, 1093f8882568SJes Sorensen }, 1094f8882568SJes Sorensen 1095f8882568SJes SorensenSTEXI 1096e866e239SGerd Hoffmann@item client_migrate_info @var{protocol} @var{hostname} @var{port} @var{tls-port} @var{cert-subject} 1097e866e239SGerd Hoffmann@findex client_migrate_info 109813cadefbSMarkus ArmbrusterSet migration information for remote display. This makes the server 109913cadefbSMarkus Armbrusterask the client to automatically reconnect using the new parameters 110013cadefbSMarkus Armbrusteronce migration finished successfully. Only implemented for SPICE. 1101e866e239SGerd HoffmannETEXI 1102e866e239SGerd Hoffmann 1103783e9b48SWen Congyang { 1104783e9b48SWen Congyang .name = "dump-guest-memory", 1105228de9cfSPeter Xu .args_type = "paging:-p,detach:-d,zlib:-z,lzo:-l,snappy:-s,filename:F,begin:i?,length:i?", 1106228de9cfSPeter Xu .params = "[-p] [-d] [-z|-l|-s] filename [begin length]", 1107c20499d9SQiao Nuohan .help = "dump guest memory into file 'filename'.\n\t\t\t" 1108c20499d9SQiao Nuohan "-p: do paging to get guest's memory mapping.\n\t\t\t" 1109228de9cfSPeter Xu "-d: return immediately (do not wait for completion).\n\t\t\t" 11101b7a0f75SQiao Nuohan "-z: dump in kdump-compressed format, with zlib compression.\n\t\t\t" 11111b7a0f75SQiao Nuohan "-l: dump in kdump-compressed format, with lzo compression.\n\t\t\t" 11121b7a0f75SQiao Nuohan "-s: dump in kdump-compressed format, with snappy compression.\n\t\t\t" 1113c20499d9SQiao Nuohan "begin: the starting physical address.\n\t\t\t" 1114c20499d9SQiao Nuohan "length: the memory size, in bytes.", 11152b9e3576SMarc-André Lureau .cmd = hmp_dump_guest_memory, 1116783e9b48SWen Congyang }, 1117783e9b48SWen Congyang 1118783e9b48SWen Congyang 1119783e9b48SWen CongyangSTEXI 1120c20499d9SQiao Nuohan@item dump-guest-memory [-p] @var{filename} @var{begin} @var{length} 11211b7a0f75SQiao Nuohan@item dump-guest-memory [-z|-l|-s] @var{filename} 1122783e9b48SWen Congyang@findex dump-guest-memory 1123783e9b48SWen CongyangDump guest memory to @var{protocol}. The file can be processed with crash or 11241b7a0f75SQiao Nuohangdb. Without -z|-l|-s, the dump format is ELF. 1125c20499d9SQiao Nuohan -p: do paging to get guest's memory mapping. 11261b7a0f75SQiao Nuohan -z: dump in kdump-compressed format, with zlib compression. 11271b7a0f75SQiao Nuohan -l: dump in kdump-compressed format, with lzo compression. 11281b7a0f75SQiao Nuohan -s: dump in kdump-compressed format, with snappy compression. 1129c20499d9SQiao Nuohan filename: dump file name. 1130783e9b48SWen Congyang begin: the starting physical address. It's optional, and should be 1131c20499d9SQiao Nuohan specified together with length. 1132783e9b48SWen Congyang length: the memory size, in bytes. It's optional, and should be specified 1133c20499d9SQiao Nuohan together with begin. 1134783e9b48SWen CongyangETEXI 1135783e9b48SWen Congyang 1136a4538a5cSJason J. Herne#if defined(TARGET_S390X) 1137a4538a5cSJason J. Herne { 1138a4538a5cSJason J. Herne .name = "dump-skeys", 1139a4538a5cSJason J. Herne .args_type = "filename:F", 1140a4538a5cSJason J. Herne .params = "", 1141a4538a5cSJason J. Herne .help = "Save guest storage keys into file 'filename'.\n", 11422b9e3576SMarc-André Lureau .cmd = hmp_dump_skeys, 1143a4538a5cSJason J. Herne }, 1144a4538a5cSJason J. Herne#endif 1145a4538a5cSJason J. Herne 1146a4538a5cSJason J. HerneSTEXI 1147a4538a5cSJason J. Herne@item dump-skeys @var{filename} 1148a4538a5cSJason J. Herne@findex dump-skeys 1149a4538a5cSJason J. HerneSave guest storage keys to a file. 1150a4538a5cSJason J. HerneETEXI 1151a4538a5cSJason J. Herne 1152f860d497SClaudio Imbrenda#if defined(TARGET_S390X) 1153f860d497SClaudio Imbrenda { 1154f860d497SClaudio Imbrenda .name = "migration_mode", 1155f860d497SClaudio Imbrenda .args_type = "mode:i", 1156f860d497SClaudio Imbrenda .params = "mode", 1157f860d497SClaudio Imbrenda .help = "Enables or disables migration mode\n", 1158f860d497SClaudio Imbrenda .cmd = hmp_migrationmode, 1159f860d497SClaudio Imbrenda }, 1160f860d497SClaudio Imbrenda#endif 1161f860d497SClaudio Imbrenda 1162f860d497SClaudio ImbrendaSTEXI 1163f860d497SClaudio Imbrenda@item migration_mode @var{mode} 1164f860d497SClaudio Imbrenda@findex migration_mode 1165f860d497SClaudio ImbrendaEnables or disables migration mode. 1166f860d497SClaudio ImbrendaETEXI 1167f860d497SClaudio Imbrenda 1168e866e239SGerd Hoffmann { 11692ea720dbSJes Sorensen .name = "snapshot_blkdev", 11706cc2a415SPaolo Bonzini .args_type = "reuse:-n,device:B,snapshot-file:s?,format:s?", 11716cc2a415SPaolo Bonzini .params = "[-n] device [new-image-file] [format]", 11722ea720dbSJes Sorensen .help = "initiates a live snapshot\n\t\t\t" 11732ea720dbSJes Sorensen "of device. If a new image file is specified, the\n\t\t\t" 11742ea720dbSJes Sorensen "new image file will become the new root image.\n\t\t\t" 11752ea720dbSJes Sorensen "If format is specified, the snapshot file will\n\t\t\t" 1176775ca88eSWenchao Xia "be created in that format.\n\t\t\t" 11776cc2a415SPaolo Bonzini "The default format is qcow2. The -n flag requests QEMU\n\t\t\t" 11786cc2a415SPaolo Bonzini "to reuse the image found in new-image-file, instead of\n\t\t\t" 11796cc2a415SPaolo Bonzini "recreating it from scratch.", 11802b9e3576SMarc-André Lureau .cmd = hmp_snapshot_blkdev, 1181e866e239SGerd Hoffmann }, 1182e866e239SGerd Hoffmann 1183e866e239SGerd HoffmannSTEXI 1184f8882568SJes Sorensen@item snapshot_blkdev 1185f8882568SJes Sorensen@findex snapshot_blkdev 1186f8882568SJes SorensenSnapshot device, using snapshot file as target if provided 1187f8882568SJes SorensenETEXI 1188f8882568SJes Sorensen 1189d7f9b689SLuiz Capitulino { 1190775ca88eSWenchao Xia .name = "snapshot_blkdev_internal", 1191775ca88eSWenchao Xia .args_type = "device:B,name:s", 1192775ca88eSWenchao Xia .params = "device name", 1193775ca88eSWenchao Xia .help = "take an internal snapshot of device.\n\t\t\t" 1194775ca88eSWenchao Xia "The format of the image used by device must\n\t\t\t" 1195775ca88eSWenchao Xia "support it, such as qcow2.\n\t\t\t", 11962b9e3576SMarc-André Lureau .cmd = hmp_snapshot_blkdev_internal, 1197775ca88eSWenchao Xia }, 1198775ca88eSWenchao Xia 1199775ca88eSWenchao XiaSTEXI 1200775ca88eSWenchao Xia@item snapshot_blkdev_internal 1201775ca88eSWenchao Xia@findex snapshot_blkdev_internal 1202775ca88eSWenchao XiaTake an internal snapshot on device if it support 1203775ca88eSWenchao XiaETEXI 1204775ca88eSWenchao Xia 1205775ca88eSWenchao Xia { 12067a4ed2eeSWenchao Xia .name = "snapshot_delete_blkdev_internal", 12077a4ed2eeSWenchao Xia .args_type = "device:B,name:s,id:s?", 12087a4ed2eeSWenchao Xia .params = "device name [id]", 12097a4ed2eeSWenchao Xia .help = "delete an internal snapshot of device.\n\t\t\t" 12107a4ed2eeSWenchao Xia "If id is specified, qemu will try delete\n\t\t\t" 12117a4ed2eeSWenchao Xia "the snapshot matching both id and name.\n\t\t\t" 12127a4ed2eeSWenchao Xia "The format of the image used by device must\n\t\t\t" 12137a4ed2eeSWenchao Xia "support it, such as qcow2.\n\t\t\t", 12142b9e3576SMarc-André Lureau .cmd = hmp_snapshot_delete_blkdev_internal, 12157a4ed2eeSWenchao Xia }, 12167a4ed2eeSWenchao Xia 12177a4ed2eeSWenchao XiaSTEXI 12187a4ed2eeSWenchao Xia@item snapshot_delete_blkdev_internal 12197a4ed2eeSWenchao Xia@findex snapshot_delete_blkdev_internal 12207a4ed2eeSWenchao XiaDelete an internal snapshot on device if it support 12217a4ed2eeSWenchao XiaETEXI 12227a4ed2eeSWenchao Xia 12237a4ed2eeSWenchao Xia { 1224d9b902dbSPaolo Bonzini .name = "drive_mirror", 1225d9b902dbSPaolo Bonzini .args_type = "reuse:-n,full:-f,device:B,target:s,format:s?", 1226d9b902dbSPaolo Bonzini .params = "[-n] [-f] device target [format]", 1227d9b902dbSPaolo Bonzini .help = "initiates live storage\n\t\t\t" 1228d9b902dbSPaolo Bonzini "migration for a device. The device's contents are\n\t\t\t" 1229d9b902dbSPaolo Bonzini "copied to the new image file, including data that\n\t\t\t" 1230d9b902dbSPaolo Bonzini "is written after the command is started.\n\t\t\t" 1231d9b902dbSPaolo Bonzini "The -n flag requests QEMU to reuse the image found\n\t\t\t" 1232d9b902dbSPaolo Bonzini "in new-image-file, instead of recreating it from scratch.\n\t\t\t" 1233d9b902dbSPaolo Bonzini "The -f flag requests QEMU to copy the whole disk,\n\t\t\t" 1234d9b902dbSPaolo Bonzini "so that the result does not need a backing file.\n\t\t\t", 12352b9e3576SMarc-André Lureau .cmd = hmp_drive_mirror, 1236d9b902dbSPaolo Bonzini }, 1237d9b902dbSPaolo BonziniSTEXI 1238d9b902dbSPaolo Bonzini@item drive_mirror 1239d9b902dbSPaolo Bonzini@findex drive_mirror 1240d9b902dbSPaolo BonziniStart mirroring a block device's writes to a new destination, 1241d9b902dbSPaolo Bonziniusing the specified target. 1242d9b902dbSPaolo BonziniETEXI 1243d9b902dbSPaolo Bonzini 1244d9b902dbSPaolo Bonzini { 1245de90930aSStefan Hajnoczi .name = "drive_backup", 124613b9414bSPavel Butsykin .args_type = "reuse:-n,full:-f,compress:-c,device:B,target:s,format:s?", 124713b9414bSPavel Butsykin .params = "[-n] [-f] [-c] device target [format]", 1248de90930aSStefan Hajnoczi .help = "initiates a point-in-time\n\t\t\t" 1249de90930aSStefan Hajnoczi "copy for a device. The device's contents are\n\t\t\t" 1250de90930aSStefan Hajnoczi "copied to the new image file, excluding data that\n\t\t\t" 1251de90930aSStefan Hajnoczi "is written after the command is started.\n\t\t\t" 1252de90930aSStefan Hajnoczi "The -n flag requests QEMU to reuse the image found\n\t\t\t" 1253de90930aSStefan Hajnoczi "in new-image-file, instead of recreating it from scratch.\n\t\t\t" 1254de90930aSStefan Hajnoczi "The -f flag requests QEMU to copy the whole disk,\n\t\t\t" 125513b9414bSPavel Butsykin "so that the result does not need a backing file.\n\t\t\t" 125613b9414bSPavel Butsykin "The -c flag requests QEMU to compress backup data\n\t\t\t" 125713b9414bSPavel Butsykin "(if the target format supports it).\n\t\t\t", 12582b9e3576SMarc-André Lureau .cmd = hmp_drive_backup, 1259de90930aSStefan Hajnoczi }, 1260de90930aSStefan HajnocziSTEXI 1261de90930aSStefan Hajnoczi@item drive_backup 1262de90930aSStefan Hajnoczi@findex drive_backup 1263de90930aSStefan HajnocziStart a point-in-time copy of a block device to a specificed target. 1264de90930aSStefan HajnocziETEXI 1265de90930aSStefan Hajnoczi 1266de90930aSStefan Hajnoczi { 1267d7f9b689SLuiz Capitulino .name = "drive_add", 1268abb21ac3SKevin Wolf .args_type = "node:-n,pci_addr:s,opts:s", 1269abb21ac3SKevin Wolf .params = "[-n] [[<domain>:]<bus>:]<slot>\n" 12702313086aSBlue Swirl "[file=file][,if=type][,bus=n]\n" 1271fb0490f6SStefan Hajnoczi "[,unit=m][,media=d][,index=i]\n" 12722313086aSBlue Swirl "[,cyls=c,heads=h,secs=s[,trans=t]]\n" 1273fb0490f6SStefan Hajnoczi "[,snapshot=on|off][,cache=on|off]\n" 1274fb0490f6SStefan Hajnoczi "[,readonly=on|off][,copy-on-read=on|off]", 1275d7f9b689SLuiz Capitulino .help = "add drive to PCI storage controller", 12762b9e3576SMarc-André Lureau .cmd = hmp_drive_add, 1277d7f9b689SLuiz Capitulino }, 1278d7f9b689SLuiz Capitulino 12792313086aSBlue SwirlSTEXI 12802313086aSBlue Swirl@item drive_add 128170fcbbe7SStefan Weil@findex drive_add 12822313086aSBlue SwirlAdd drive to PCI storage controller. 12832313086aSBlue SwirlETEXI 12842313086aSBlue Swirl 1285d7f9b689SLuiz Capitulino { 12862ae63bdaSIsaku Yamahata .name = "pcie_aer_inject_error", 12872ae63bdaSIsaku Yamahata .args_type = "advisory_non_fatal:-a,correctable:-c," 12882ae63bdaSIsaku Yamahata "id:s,error_status:s," 12892ae63bdaSIsaku Yamahata "header0:i?,header1:i?,header2:i?,header3:i?," 12902ae63bdaSIsaku Yamahata "prefix0:i?,prefix1:i?,prefix2:i?,prefix3:i?", 12912ae63bdaSIsaku Yamahata .params = "[-a] [-c] id " 12922ae63bdaSIsaku Yamahata "<error_status> [<tlp header> [<tlp header prefix>]]", 12932ae63bdaSIsaku Yamahata .help = "inject pcie aer error\n\t\t\t" 12942ae63bdaSIsaku Yamahata " -a for advisory non fatal error\n\t\t\t" 12952ae63bdaSIsaku Yamahata " -c for correctable error\n\t\t\t" 12962ae63bdaSIsaku Yamahata "<id> = qdev device id\n\t\t\t" 12972ae63bdaSIsaku Yamahata "<error_status> = error string or 32bit\n\t\t\t" 12982ae63bdaSIsaku Yamahata "<tlb header> = 32bit x 4\n\t\t\t" 12992ae63bdaSIsaku Yamahata "<tlb header prefix> = 32bit x 4", 13002b9e3576SMarc-André Lureau .cmd = hmp_pcie_aer_inject_error, 13012ae63bdaSIsaku Yamahata }, 13022ae63bdaSIsaku Yamahata 13032ae63bdaSIsaku YamahataSTEXI 13042ae63bdaSIsaku Yamahata@item pcie_aer_inject_error 13052ae63bdaSIsaku Yamahata@findex pcie_aer_inject_error 13062ae63bdaSIsaku YamahataInject PCIe AER error 13072ae63bdaSIsaku YamahataETEXI 13082ae63bdaSIsaku Yamahata 13092ae63bdaSIsaku Yamahata { 1310ae82d324SMarkus Armbruster .name = "netdev_add", 1311ae82d324SMarkus Armbruster .args_type = "netdev:O", 131203ce5744SNikolay Nikolaev .params = "[user|tap|socket|vde|bridge|hubport|netmap|vhost-user],id=str[,prop=value][,...]", 1313ae82d324SMarkus Armbruster .help = "add host network device", 13142b9e3576SMarc-André Lureau .cmd = hmp_netdev_add, 1315b162b49aSHani Benhabiles .command_completion = netdev_add_completion, 1316ae82d324SMarkus Armbruster }, 1317ae82d324SMarkus Armbruster 1318ae82d324SMarkus ArmbrusterSTEXI 1319ae82d324SMarkus Armbruster@item netdev_add 1320ae82d324SMarkus Armbruster@findex netdev_add 1321ae82d324SMarkus ArmbrusterAdd host network device. 1322ae82d324SMarkus ArmbrusterETEXI 1323ae82d324SMarkus Armbruster 1324ae82d324SMarkus Armbruster { 1325ae82d324SMarkus Armbruster .name = "netdev_del", 1326ae82d324SMarkus Armbruster .args_type = "id:s", 1327ae82d324SMarkus Armbruster .params = "id", 1328ae82d324SMarkus Armbruster .help = "remove host network device", 13292b9e3576SMarc-André Lureau .cmd = hmp_netdev_del, 133011b389f2SHani Benhabiles .command_completion = netdev_del_completion, 1331ae82d324SMarkus Armbruster }, 1332ae82d324SMarkus Armbruster 1333ae82d324SMarkus ArmbrusterSTEXI 1334ae82d324SMarkus Armbruster@item netdev_del 1335ae82d324SMarkus Armbruster@findex netdev_del 1336ae82d324SMarkus ArmbrusterRemove host network device. 1337ae82d324SMarkus ArmbrusterETEXI 1338ae82d324SMarkus Armbruster 1339ab2d0531SPaolo Bonzini { 1340cff8b2c6SPaolo Bonzini .name = "object_add", 1341cff8b2c6SPaolo Bonzini .args_type = "object:O", 1342cff8b2c6SPaolo Bonzini .params = "[qom-type=]type,id=str[,prop=value][,...]", 1343cff8b2c6SPaolo Bonzini .help = "create QOM object", 13442b9e3576SMarc-André Lureau .cmd = hmp_object_add, 1345bfa40f77SHani Benhabiles .command_completion = object_add_completion, 1346cff8b2c6SPaolo Bonzini }, 1347cff8b2c6SPaolo Bonzini 1348cff8b2c6SPaolo BonziniSTEXI 1349cff8b2c6SPaolo Bonzini@item object_add 1350cff8b2c6SPaolo Bonzini@findex object_add 1351cff8b2c6SPaolo BonziniCreate QOM object. 1352cff8b2c6SPaolo BonziniETEXI 1353cff8b2c6SPaolo Bonzini 1354cff8b2c6SPaolo Bonzini { 1355ab2d0531SPaolo Bonzini .name = "object_del", 1356ab2d0531SPaolo Bonzini .args_type = "id:s", 1357ab2d0531SPaolo Bonzini .params = "id", 1358ab2d0531SPaolo Bonzini .help = "destroy QOM object", 13592b9e3576SMarc-André Lureau .cmd = hmp_object_del, 1360bfa40f77SHani Benhabiles .command_completion = object_del_completion, 1361ab2d0531SPaolo Bonzini }, 1362ab2d0531SPaolo Bonzini 1363ab2d0531SPaolo BonziniSTEXI 1364ab2d0531SPaolo Bonzini@item object_del 1365ab2d0531SPaolo Bonzini@findex object_del 1366ab2d0531SPaolo BonziniDestroy QOM object. 1367ab2d0531SPaolo BonziniETEXI 1368ab2d0531SPaolo Bonzini 13692313086aSBlue Swirl#ifdef CONFIG_SLIRP 1370d7f9b689SLuiz Capitulino { 1371d7f9b689SLuiz Capitulino .name = "hostfwd_add", 1372d7f9b689SLuiz Capitulino .args_type = "arg1:s,arg2:s?,arg3:s?", 137393653066SThomas Huth .params = "[hub_id name]|[netdev_id] [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport", 1374d7f9b689SLuiz Capitulino .help = "redirect TCP or UDP connections from host to guest (requires -net user)", 13752b9e3576SMarc-André Lureau .cmd = hmp_hostfwd_add, 1376d7f9b689SLuiz Capitulino }, 137721413d68SMarkus Armbruster#endif 137821413d68SMarkus ArmbrusterSTEXI 137921413d68SMarkus Armbruster@item hostfwd_add 138021413d68SMarkus Armbruster@findex hostfwd_add 138121413d68SMarkus ArmbrusterRedirect TCP or UDP connections from host to guest (requires -net user). 138221413d68SMarkus ArmbrusterETEXI 1383d7f9b689SLuiz Capitulino 138421413d68SMarkus Armbruster#ifdef CONFIG_SLIRP 1385d7f9b689SLuiz Capitulino { 1386d7f9b689SLuiz Capitulino .name = "hostfwd_remove", 1387d7f9b689SLuiz Capitulino .args_type = "arg1:s,arg2:s?,arg3:s?", 138893653066SThomas Huth .params = "[hub_id name]|[netdev_id] [tcp|udp]:[hostaddr]:hostport", 1389d7f9b689SLuiz Capitulino .help = "remove host-to-guest TCP or UDP redirection", 13902b9e3576SMarc-André Lureau .cmd = hmp_hostfwd_remove, 1391d7f9b689SLuiz Capitulino }, 1392d7f9b689SLuiz Capitulino 13932313086aSBlue Swirl#endif 13942313086aSBlue SwirlSTEXI 139521413d68SMarkus Armbruster@item hostfwd_remove 139621413d68SMarkus Armbruster@findex hostfwd_remove 139721413d68SMarkus ArmbrusterRemove host-to-guest TCP or UDP redirection. 13982313086aSBlue SwirlETEXI 13992313086aSBlue Swirl 1400d7f9b689SLuiz Capitulino { 1401d7f9b689SLuiz Capitulino .name = "balloon", 14023b0bd6ecSLuiz Capitulino .args_type = "value:M", 1403d7f9b689SLuiz Capitulino .params = "target", 14043c05613aSRiccardo Magliocchetti .help = "request VM to change its memory allocation (in MB)", 14052b9e3576SMarc-André Lureau .cmd = hmp_balloon, 1406d7f9b689SLuiz Capitulino }, 1407d7f9b689SLuiz Capitulino 14082313086aSBlue SwirlSTEXI 14092313086aSBlue Swirl@item balloon @var{value} 141070fcbbe7SStefan Weil@findex balloon 14112313086aSBlue SwirlRequest VM to change its memory allocation to @var{value} (in MB). 14122313086aSBlue SwirlETEXI 14132313086aSBlue Swirl 1414d7f9b689SLuiz Capitulino { 1415d7f9b689SLuiz Capitulino .name = "set_link", 1416c9b26a4cSMarkus Armbruster .args_type = "name:s,up:b", 1417c9b26a4cSMarkus Armbruster .params = "name on|off", 1418d7f9b689SLuiz Capitulino .help = "change the link status of a network adapter", 14192b9e3576SMarc-André Lureau .cmd = hmp_set_link, 142040d19394SHani Benhabiles .command_completion = set_link_completion, 1421d7f9b689SLuiz Capitulino }, 1422d7f9b689SLuiz Capitulino 14232313086aSBlue SwirlSTEXI 1424c9b26a4cSMarkus Armbruster@item set_link @var{name} [on|off] 142570fcbbe7SStefan Weil@findex set_link 1426c9b26a4cSMarkus ArmbrusterSwitch link @var{name} on (i.e. up) or off (i.e. down). 14272313086aSBlue SwirlETEXI 14282313086aSBlue Swirl 1429d7f9b689SLuiz Capitulino { 1430d7f9b689SLuiz Capitulino .name = "watchdog_action", 1431d7f9b689SLuiz Capitulino .args_type = "action:s", 1432d7f9b689SLuiz Capitulino .params = "[reset|shutdown|poweroff|pause|debug|none]", 1433d7f9b689SLuiz Capitulino .help = "change watchdog action", 14342b9e3576SMarc-André Lureau .cmd = hmp_watchdog_action, 1435d0ece345SHani Benhabiles .command_completion = watchdog_action_completion, 1436d7f9b689SLuiz Capitulino }, 1437d7f9b689SLuiz Capitulino 14382313086aSBlue SwirlSTEXI 14392313086aSBlue Swirl@item watchdog_action 144070fcbbe7SStefan Weil@findex watchdog_action 14412313086aSBlue SwirlChange watchdog action. 14422313086aSBlue SwirlETEXI 14432313086aSBlue Swirl 1444d7f9b689SLuiz Capitulino { 1445d7f9b689SLuiz Capitulino .name = "acl_show", 1446d7f9b689SLuiz Capitulino .args_type = "aclname:s", 1447d7f9b689SLuiz Capitulino .params = "aclname", 1448d7f9b689SLuiz Capitulino .help = "list rules in the access control list", 14492b9e3576SMarc-André Lureau .cmd = hmp_acl_show, 1450d7f9b689SLuiz Capitulino }, 1451d7f9b689SLuiz Capitulino 14522313086aSBlue SwirlSTEXI 145315dfcd45SJan Kiszka@item acl_show @var{aclname} 145470fcbbe7SStefan Weil@findex acl_show 145515dfcd45SJan KiszkaList all the matching rules in the access control list, and the default 145615dfcd45SJan Kiszkapolicy. There are currently two named access control lists, 145715dfcd45SJan Kiszka@var{vnc.x509dname} and @var{vnc.username} matching on the x509 client 145815dfcd45SJan Kiszkacertificate distinguished name, and SASL username respectively. 145915dfcd45SJan KiszkaETEXI 14602313086aSBlue Swirl 1461d7f9b689SLuiz Capitulino { 1462d7f9b689SLuiz Capitulino .name = "acl_policy", 1463d7f9b689SLuiz Capitulino .args_type = "aclname:s,policy:s", 1464d7f9b689SLuiz Capitulino .params = "aclname allow|deny", 1465d7f9b689SLuiz Capitulino .help = "set default access control list policy", 14662b9e3576SMarc-André Lureau .cmd = hmp_acl_policy, 1467d7f9b689SLuiz Capitulino }, 1468d7f9b689SLuiz Capitulino 146915dfcd45SJan KiszkaSTEXI 1470cbbfacc6SJan Kiszka@item acl_policy @var{aclname} @code{allow|deny} 147170fcbbe7SStefan Weil@findex acl_policy 147215dfcd45SJan KiszkaSet the default access control list policy, used in the event that 14732313086aSBlue Swirlnone of the explicit rules match. The default policy at startup is 147415dfcd45SJan Kiszkaalways @code{deny}. 147515dfcd45SJan KiszkaETEXI 147615dfcd45SJan Kiszka 1477d7f9b689SLuiz Capitulino { 1478d7f9b689SLuiz Capitulino .name = "acl_add", 1479d7f9b689SLuiz Capitulino .args_type = "aclname:s,match:s,policy:s,index:i?", 1480d7f9b689SLuiz Capitulino .params = "aclname match allow|deny [index]", 1481d7f9b689SLuiz Capitulino .help = "add a match rule to the access control list", 14822b9e3576SMarc-André Lureau .cmd = hmp_acl_add, 1483d7f9b689SLuiz Capitulino }, 1484d7f9b689SLuiz Capitulino 148515dfcd45SJan KiszkaSTEXI 14860e4aec98SMarkus Armbruster@item acl_add @var{aclname} @var{match} @code{allow|deny} [@var{index}] 14870e4aec98SMarkus Armbruster@findex acl_add 148815dfcd45SJan KiszkaAdd a match rule to the access control list, allowing or denying access. 148915dfcd45SJan KiszkaThe match will normally be an exact username or x509 distinguished name, 149015dfcd45SJan Kiszkabut can optionally include wildcard globs. eg @code{*@@EXAMPLE.COM} to 149115dfcd45SJan Kiszkaallow all users in the @code{EXAMPLE.COM} kerberos realm. The match will 14922313086aSBlue Swirlnormally be appended to the end of the ACL, but can be inserted 149315dfcd45SJan Kiszkaearlier in the list if the optional @var{index} parameter is supplied. 149415dfcd45SJan KiszkaETEXI 149515dfcd45SJan Kiszka 1496d7f9b689SLuiz Capitulino { 1497d7f9b689SLuiz Capitulino .name = "acl_remove", 1498d7f9b689SLuiz Capitulino .args_type = "aclname:s,match:s", 1499d7f9b689SLuiz Capitulino .params = "aclname match", 1500d7f9b689SLuiz Capitulino .help = "remove a match rule from the access control list", 15012b9e3576SMarc-André Lureau .cmd = hmp_acl_remove, 1502d7f9b689SLuiz Capitulino }, 1503d7f9b689SLuiz Capitulino 150415dfcd45SJan KiszkaSTEXI 150515dfcd45SJan Kiszka@item acl_remove @var{aclname} @var{match} 150670fcbbe7SStefan Weil@findex acl_remove 150715dfcd45SJan KiszkaRemove the specified match rule from the access control list. 150815dfcd45SJan KiszkaETEXI 150915dfcd45SJan Kiszka 1510d7f9b689SLuiz Capitulino { 1511d7f9b689SLuiz Capitulino .name = "acl_reset", 1512d7f9b689SLuiz Capitulino .args_type = "aclname:s", 1513d7f9b689SLuiz Capitulino .params = "aclname", 1514d7f9b689SLuiz Capitulino .help = "reset the access control list", 15152b9e3576SMarc-André Lureau .cmd = hmp_acl_reset, 1516d7f9b689SLuiz Capitulino }, 1517d7f9b689SLuiz Capitulino 151815dfcd45SJan KiszkaSTEXI 15190e4aec98SMarkus Armbruster@item acl_reset @var{aclname} 15200e4aec98SMarkus Armbruster@findex acl_reset 152115dfcd45SJan KiszkaRemove all matches from the access control list, and set the default 15222313086aSBlue Swirlpolicy back to @code{deny}. 15232313086aSBlue SwirlETEXI 15242313086aSBlue Swirl 15254057725fSPaolo Bonzini { 15264057725fSPaolo Bonzini .name = "nbd_server_start", 15274057725fSPaolo Bonzini .args_type = "all:-a,writable:-w,uri:s", 15284057725fSPaolo Bonzini .params = "nbd_server_start [-a] [-w] host:port", 15294057725fSPaolo Bonzini .help = "serve block devices on the given host and port", 15302b9e3576SMarc-André Lureau .cmd = hmp_nbd_server_start, 15314057725fSPaolo Bonzini }, 15324057725fSPaolo BonziniSTEXI 15334057725fSPaolo Bonzini@item nbd_server_start @var{host}:@var{port} 15344057725fSPaolo Bonzini@findex nbd_server_start 15354057725fSPaolo BonziniStart an NBD server on the given host and/or port. If the @option{-a} 15364057725fSPaolo Bonzinioption is included, all of the virtual machine's block devices that 15374057725fSPaolo Bonzinihave an inserted media on them are automatically exported; in this case, 15384057725fSPaolo Bonzinithe @option{-w} option makes the devices writable too. 15394057725fSPaolo BonziniETEXI 15404057725fSPaolo Bonzini 15414057725fSPaolo Bonzini { 15424057725fSPaolo Bonzini .name = "nbd_server_add", 1543dba49323SEric Blake .args_type = "writable:-w,device:B,name:s?", 1544dba49323SEric Blake .params = "nbd_server_add [-w] device [name]", 15454057725fSPaolo Bonzini .help = "export a block device via NBD", 15462b9e3576SMarc-André Lureau .cmd = hmp_nbd_server_add, 15474057725fSPaolo Bonzini }, 15484057725fSPaolo BonziniSTEXI 1549dba49323SEric Blake@item nbd_server_add @var{device} [ @var{name} ] 15504057725fSPaolo Bonzini@findex nbd_server_add 15514057725fSPaolo BonziniExport a block device through QEMU's NBD server, which must be started 15524057725fSPaolo Bonzinibeforehand with @command{nbd_server_start}. The @option{-w} option makes the 1553dba49323SEric Blakeexported device writable too. The export name is controlled by @var{name}, 1554dba49323SEric Blakedefaulting to @var{device}. 15554057725fSPaolo BonziniETEXI 15564057725fSPaolo Bonzini 15574057725fSPaolo Bonzini { 155808fb10a7SEric Blake .name = "nbd_server_remove", 155908fb10a7SEric Blake .args_type = "force:-f,name:s", 156008fb10a7SEric Blake .params = "nbd_server_remove [-f] name", 156108fb10a7SEric Blake .help = "remove an export previously exposed via NBD", 156208fb10a7SEric Blake .cmd = hmp_nbd_server_remove, 156308fb10a7SEric Blake }, 156408fb10a7SEric BlakeSTEXI 156508fb10a7SEric Blake@item nbd_server_remove [-f] @var{name} 156608fb10a7SEric Blake@findex nbd_server_remove 156708fb10a7SEric BlakeStop exporting a block device through QEMU's NBD server, which was 156808fb10a7SEric Blakepreviously started with @command{nbd_server_add}. The @option{-f} 156908fb10a7SEric Blakeoption forces the server to drop the export immediately even if 157008fb10a7SEric Blakeclients are connected; otherwise the command fails unless there are no 157108fb10a7SEric Blakeclients. 157208fb10a7SEric BlakeETEXI 157308fb10a7SEric Blake 157408fb10a7SEric Blake { 15754057725fSPaolo Bonzini .name = "nbd_server_stop", 15764057725fSPaolo Bonzini .args_type = "", 15774057725fSPaolo Bonzini .params = "nbd_server_stop", 15784057725fSPaolo Bonzini .help = "stop serving block devices using the NBD protocol", 15792b9e3576SMarc-André Lureau .cmd = hmp_nbd_server_stop, 15804057725fSPaolo Bonzini }, 15814057725fSPaolo BonziniSTEXI 15824057725fSPaolo Bonzini@item nbd_server_stop 15834057725fSPaolo Bonzini@findex nbd_server_stop 15844057725fSPaolo BonziniStop the QEMU embedded NBD server. 15854057725fSPaolo BonziniETEXI 15864057725fSPaolo Bonzini 15874057725fSPaolo Bonzini 158879c4f6b0SHuang Ying#if defined(TARGET_I386) 1589d7f9b689SLuiz Capitulino 1590d7f9b689SLuiz Capitulino { 1591d7f9b689SLuiz Capitulino .name = "mce", 159231ce5e0cSJin Dongming .args_type = "broadcast:-b,cpu_index:i,bank:i,status:l,mcg_status:l,addr:l,misc:l", 159331ce5e0cSJin Dongming .params = "[-b] cpu bank status mcgstatus addr misc", 159431ce5e0cSJin Dongming .help = "inject a MCE on the given CPU [and broadcast to other CPUs with -b option]", 15952b9e3576SMarc-André Lureau .cmd = hmp_mce, 1596d7f9b689SLuiz Capitulino }, 1597d7f9b689SLuiz Capitulino 159879c4f6b0SHuang Ying#endif 159979c4f6b0SHuang YingSTEXI 160079c4f6b0SHuang Ying@item mce @var{cpu} @var{bank} @var{status} @var{mcgstatus} @var{addr} @var{misc} 160170fcbbe7SStefan Weil@findex mce (x86) 160279c4f6b0SHuang YingInject an MCE on the given CPU (x86 only). 160379c4f6b0SHuang YingETEXI 160479c4f6b0SHuang Ying 1605d7f9b689SLuiz Capitulino { 1606d7f9b689SLuiz Capitulino .name = "getfd", 1607d7f9b689SLuiz Capitulino .args_type = "fdname:s", 1608d7f9b689SLuiz Capitulino .params = "getfd name", 1609d7f9b689SLuiz Capitulino .help = "receive a file descriptor via SCM rights and assign it a name", 16102b9e3576SMarc-André Lureau .cmd = hmp_getfd, 1611d7f9b689SLuiz Capitulino }, 1612d7f9b689SLuiz Capitulino 1613f07918fdSMark McLoughlinSTEXI 1614f07918fdSMark McLoughlin@item getfd @var{fdname} 161570fcbbe7SStefan Weil@findex getfd 1616f07918fdSMark McLoughlinIf a file descriptor is passed alongside this command using the SCM_RIGHTS 1617f07918fdSMark McLoughlinmechanism on unix sockets, it is stored using the name @var{fdname} for 1618f07918fdSMark McLoughlinlater use by other monitor commands. 1619f07918fdSMark McLoughlinETEXI 1620f07918fdSMark McLoughlin 1621d7f9b689SLuiz Capitulino { 1622d7f9b689SLuiz Capitulino .name = "closefd", 1623d7f9b689SLuiz Capitulino .args_type = "fdname:s", 1624d7f9b689SLuiz Capitulino .params = "closefd name", 1625d7f9b689SLuiz Capitulino .help = "close a file descriptor previously passed via SCM rights", 16262b9e3576SMarc-André Lureau .cmd = hmp_closefd, 1627d7f9b689SLuiz Capitulino }, 1628d7f9b689SLuiz Capitulino 1629f07918fdSMark McLoughlinSTEXI 1630f07918fdSMark McLoughlin@item closefd @var{fdname} 163170fcbbe7SStefan Weil@findex closefd 1632f07918fdSMark McLoughlinClose the file descriptor previously assigned to @var{fdname} using the 1633f07918fdSMark McLoughlin@code{getfd} command. This is only needed if the file descriptor was never 1634f07918fdSMark McLoughlinused by another monitor command. 1635f07918fdSMark McLoughlinETEXI 1636f07918fdSMark McLoughlin 1637a3a55a2eSLuiz Capitulino { 1638a3a55a2eSLuiz Capitulino .name = "block_passwd", 1639a3a55a2eSLuiz Capitulino .args_type = "device:B,password:s", 1640a3a55a2eSLuiz Capitulino .params = "block_passwd device password", 1641a3a55a2eSLuiz Capitulino .help = "set the password of encrypted block devices", 16422b9e3576SMarc-André Lureau .cmd = hmp_block_passwd, 1643a3a55a2eSLuiz Capitulino }, 1644a3a55a2eSLuiz Capitulino 1645a3a55a2eSLuiz CapitulinoSTEXI 1646b76d799eSMarkus Armbruster@item block_passwd @var{device} @var{password} 1647b76d799eSMarkus Armbruster@findex block_passwd 1648b76d799eSMarkus ArmbrusterSet the encrypted device @var{device} password to @var{password} 1649c01c214bSDaniel P. Berrange 1650c01c214bSDaniel P. BerrangeThis command is now obsolete and will always return an error since 2.10 1651727f005eSZhi Yong WuETEXI 1652727f005eSZhi Yong Wu 1653727f005eSZhi Yong Wu { 1654727f005eSZhi Yong Wu .name = "block_set_io_throttle", 1655727f005eSZhi Yong Wu .args_type = "device:B,bps:l,bps_rd:l,bps_wr:l,iops:l,iops_rd:l,iops_wr:l", 1656727f005eSZhi Yong Wu .params = "device bps bps_rd bps_wr iops iops_rd iops_wr", 1657727f005eSZhi Yong Wu .help = "change I/O throttle limits for a block drive", 16582b9e3576SMarc-André Lureau .cmd = hmp_block_set_io_throttle, 1659727f005eSZhi Yong Wu }, 1660727f005eSZhi Yong Wu 1661727f005eSZhi Yong WuSTEXI 1662b76d799eSMarkus Armbruster@item block_set_io_throttle @var{device} @var{bps} @var{bps_rd} @var{bps_wr} @var{iops} @var{iops_rd} @var{iops_wr} 1663b76d799eSMarkus Armbruster@findex block_set_io_throttle 166483592184SAlberto GarciaChange 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}. 166583592184SAlberto Garcia@var{device} can be a block device name, a qdev ID or a QOM path. 1666a3a55a2eSLuiz CapitulinoETEXI 1667b40292e7SJan Kiszka 166833572eceSJan Kiszka { 16697572150cSGerd Hoffmann .name = "set_password", 16707572150cSGerd Hoffmann .args_type = "protocol:s,password:s,connected:s?", 16717572150cSGerd Hoffmann .params = "protocol password action-if-connected", 16727572150cSGerd Hoffmann .help = "set spice/vnc password", 16732b9e3576SMarc-André Lureau .cmd = hmp_set_password, 16747572150cSGerd Hoffmann }, 16757572150cSGerd Hoffmann 16767572150cSGerd HoffmannSTEXI 16777572150cSGerd Hoffmann@item set_password [ vnc | spice ] password [ action-if-connected ] 16787572150cSGerd Hoffmann@findex set_password 16797572150cSGerd HoffmannChange spice/vnc password. Use zero to make the password stay valid 16807572150cSGerd Hoffmannforever. @var{action-if-connected} specifies what should happen in 16817572150cSGerd Hoffmanncase a connection is established: @var{fail} makes the password change 16827572150cSGerd Hoffmannfail. @var{disconnect} changes the password and disconnects the 16837572150cSGerd Hoffmannclient. @var{keep} changes the password and keeps the connection up. 16847572150cSGerd Hoffmann@var{keep} is the default. 16857572150cSGerd HoffmannETEXI 16867572150cSGerd Hoffmann 16877572150cSGerd Hoffmann { 16887572150cSGerd Hoffmann .name = "expire_password", 16897572150cSGerd Hoffmann .args_type = "protocol:s,time:s", 16907572150cSGerd Hoffmann .params = "protocol time", 16917572150cSGerd Hoffmann .help = "set spice/vnc password expire-time", 16922b9e3576SMarc-André Lureau .cmd = hmp_expire_password, 16937572150cSGerd Hoffmann }, 16947572150cSGerd Hoffmann 16957572150cSGerd HoffmannSTEXI 16967572150cSGerd Hoffmann@item expire_password [ vnc | spice ] expire-time 16977572150cSGerd Hoffmann@findex expire_password 16987572150cSGerd HoffmannSpecify when a password for spice/vnc becomes 16997572150cSGerd Hoffmanninvalid. @var{expire-time} accepts: 17007572150cSGerd Hoffmann 17017572150cSGerd Hoffmann@table @var 17027572150cSGerd Hoffmann@item now 17037572150cSGerd HoffmannInvalidate password instantly. 17047572150cSGerd Hoffmann 17057572150cSGerd Hoffmann@item never 17067572150cSGerd HoffmannPassword stays valid forever. 17077572150cSGerd Hoffmann 17087572150cSGerd Hoffmann@item +nsec 17097572150cSGerd HoffmannPassword stays valid for @var{nsec} seconds starting now. 17107572150cSGerd Hoffmann 17117572150cSGerd Hoffmann@item nsec 17127572150cSGerd HoffmannPassword is invalidated at the given time. @var{nsec} are the seconds 17137572150cSGerd Hoffmannpassed since 1970, i.e. unix epoch. 17147572150cSGerd Hoffmann 17157572150cSGerd Hoffmann@end table 17167572150cSGerd HoffmannETEXI 17177572150cSGerd Hoffmann 171846920825SGerd Hoffmann { 171946920825SGerd Hoffmann .name = "chardev-add", 172046920825SGerd Hoffmann .args_type = "args:s", 172146920825SGerd Hoffmann .params = "args", 172246920825SGerd Hoffmann .help = "add chardev", 17232b9e3576SMarc-André Lureau .cmd = hmp_chardev_add, 172413e315daSHani Benhabiles .command_completion = chardev_add_completion, 172546920825SGerd Hoffmann }, 172646920825SGerd Hoffmann 172746920825SGerd HoffmannSTEXI 1728b76d799eSMarkus Armbruster@item chardev-add args 1729b76d799eSMarkus Armbruster@findex chardev-add 173075b60160SAnton Nefedovchardev-add accepts the same parameters as the -chardev command line switch. 173175b60160SAnton Nefedov 173275b60160SAnton NefedovETEXI 173375b60160SAnton Nefedov 173475b60160SAnton Nefedov { 173575b60160SAnton Nefedov .name = "chardev-change", 173675b60160SAnton Nefedov .args_type = "id:s,args:s", 173775b60160SAnton Nefedov .params = "id args", 173875b60160SAnton Nefedov .help = "change chardev", 173975b60160SAnton Nefedov .cmd = hmp_chardev_change, 174075b60160SAnton Nefedov }, 174175b60160SAnton Nefedov 174275b60160SAnton NefedovSTEXI 174375b60160SAnton Nefedov@item chardev-change args 174475b60160SAnton Nefedov@findex chardev-change 174575b60160SAnton Nefedovchardev-change accepts existing chardev @var{id} and then the same arguments 174675b60160SAnton Nefedovas the -chardev command line switch (except for "id"). 174746920825SGerd Hoffmann 174846920825SGerd HoffmannETEXI 174946920825SGerd Hoffmann 175046920825SGerd Hoffmann { 175146920825SGerd Hoffmann .name = "chardev-remove", 175246920825SGerd Hoffmann .args_type = "id:s", 175346920825SGerd Hoffmann .params = "id", 175446920825SGerd Hoffmann .help = "remove chardev", 17552b9e3576SMarc-André Lureau .cmd = hmp_chardev_remove, 17566297d9a2SHani Benhabiles .command_completion = chardev_remove_completion, 175746920825SGerd Hoffmann }, 175846920825SGerd Hoffmann 175946920825SGerd HoffmannSTEXI 1760b76d799eSMarkus Armbruster@item chardev-remove id 1761b76d799eSMarkus Armbruster@findex chardev-remove 176246920825SGerd HoffmannRemoves the chardev @var{id}. 176346920825SGerd Hoffmann 176446920825SGerd HoffmannETEXI 1765f1088908SGerd Hoffmann 1766f1088908SGerd Hoffmann { 1767bd1d5ad9SStefan Fritsch .name = "chardev-send-break", 1768bd1d5ad9SStefan Fritsch .args_type = "id:s", 1769bd1d5ad9SStefan Fritsch .params = "id", 1770bd1d5ad9SStefan Fritsch .help = "send a break on chardev", 1771bd1d5ad9SStefan Fritsch .cmd = hmp_chardev_send_break, 1772bd1d5ad9SStefan Fritsch .command_completion = chardev_remove_completion, 1773bd1d5ad9SStefan Fritsch }, 1774bd1d5ad9SStefan Fritsch 1775bd1d5ad9SStefan FritschSTEXI 1776bd1d5ad9SStefan Fritsch@item chardev-send-break id 1777bd1d5ad9SStefan Fritsch@findex chardev-send-break 1778bd1d5ad9SStefan FritschSend a break on the chardev @var{id}. 1779bd1d5ad9SStefan Fritsch 1780bd1d5ad9SStefan FritschETEXI 1781bd1d5ad9SStefan Fritsch 1782bd1d5ad9SStefan Fritsch { 1783587da2c3SKevin Wolf .name = "qemu-io", 1784587da2c3SKevin Wolf .args_type = "device:B,command:s", 1785587da2c3SKevin Wolf .params = "[device] \"[command]\"", 1786587da2c3SKevin Wolf .help = "run a qemu-io command on a block device", 17872b9e3576SMarc-André Lureau .cmd = hmp_qemu_io, 1788587da2c3SKevin Wolf }, 1789587da2c3SKevin Wolf 1790587da2c3SKevin WolfSTEXI 1791587da2c3SKevin Wolf@item qemu-io @var{device} @var{command} 1792587da2c3SKevin Wolf@findex qemu-io 1793587da2c3SKevin WolfExecutes a qemu-io command on the given block device. 1794587da2c3SKevin Wolf 1795587da2c3SKevin WolfETEXI 1796587da2c3SKevin Wolf 1797587da2c3SKevin Wolf { 1798abf23329SJason J. Herne .name = "cpu-add", 1799abf23329SJason J. Herne .args_type = "id:i", 1800abf23329SJason J. Herne .params = "id", 1801abf23329SJason J. Herne .help = "add cpu", 18022b9e3576SMarc-André Lureau .cmd = hmp_cpu_add, 1803abf23329SJason J. Herne }, 1804abf23329SJason J. Herne 1805abf23329SJason J. HerneSTEXI 1806abf23329SJason J. Herne@item cpu-add @var{id} 1807b76d799eSMarkus Armbruster@findex cpu-add 1808abf23329SJason J. HerneAdd CPU with id @var{id} 1809abf23329SJason J. HerneETEXI 1810abf23329SJason J. Herne 1811abf23329SJason J. Herne { 181289d7fa9eSAndreas Färber .name = "qom-list", 181389d7fa9eSAndreas Färber .args_type = "path:s?", 181489d7fa9eSAndreas Färber .params = "path", 181589d7fa9eSAndreas Färber .help = "list QOM properties", 18162b9e3576SMarc-André Lureau .cmd = hmp_qom_list, 181789d7fa9eSAndreas Färber }, 181889d7fa9eSAndreas Färber 181989d7fa9eSAndreas FärberSTEXI 182089d7fa9eSAndreas Färber@item qom-list [@var{path}] 182189d7fa9eSAndreas FärberPrint QOM properties of object at location @var{path} 182289d7fa9eSAndreas FärberETEXI 182389d7fa9eSAndreas Färber 182489d7fa9eSAndreas Färber { 1825c0e6ee9eSAndreas Färber .name = "qom-set", 1826c0e6ee9eSAndreas Färber .args_type = "path:s,property:s,value:s", 1827c0e6ee9eSAndreas Färber .params = "path property value", 1828c0e6ee9eSAndreas Färber .help = "set QOM property", 18292b9e3576SMarc-André Lureau .cmd = hmp_qom_set, 1830c0e6ee9eSAndreas Färber }, 1831c0e6ee9eSAndreas Färber 1832c0e6ee9eSAndreas FärberSTEXI 1833c0e6ee9eSAndreas Färber@item qom-set @var{path} @var{property} @var{value} 1834c0e6ee9eSAndreas FärberSet QOM property @var{property} of object at location @var{path} to value @var{value} 1835c0e6ee9eSAndreas FärberETEXI 1836c0e6ee9eSAndreas Färber 1837c0e6ee9eSAndreas Färber { 183833572eceSJan Kiszka .name = "info", 183933572eceSJan Kiszka .args_type = "item:s?", 184033572eceSJan Kiszka .params = "[subcommand]", 184133572eceSJan Kiszka .help = "show various information about the system state", 18422b9e3576SMarc-André Lureau .cmd = hmp_info_help, 184384c44613SWenchao Xia .sub_table = info_cmds, 184433572eceSJan Kiszka }, 184533572eceSJan Kiszka 184633572eceSJan KiszkaSTEXI 184770703344SPavel Butsykin@end table 184870703344SPavel ButsykinETEXI 1849