1acd0a093SLuiz CapitulinoHXCOMM Use DEFHEADING() to define headings in both help text and texi 2acd0a093SLuiz CapitulinoHXCOMM Text between STEXI and ETEXI are copied to texi version and 3acd0a093SLuiz CapitulinoHXCOMM discarded from C version 4acd0a093SLuiz CapitulinoHXCOMM DEF(command, args, callback, arg_string, help) is used to construct 5acd0a093SLuiz CapitulinoHXCOMM monitor commands 6acd0a093SLuiz CapitulinoHXCOMM HXCOMM can be used for comments, discarded from both texi and C 7acd0a093SLuiz Capitulino 8acd0a093SLuiz CapitulinoSTEXI 9acd0a093SLuiz Capitulino@table @option 10acd0a093SLuiz CapitulinoETEXI 11acd0a093SLuiz Capitulino 12acd0a093SLuiz Capitulino { 13acd0a093SLuiz Capitulino .name = "help|?", 14129be006SWenchao Xia .args_type = "name:S?", 15acd0a093SLuiz Capitulino .params = "[cmd]", 16acd0a093SLuiz Capitulino .help = "show the help", 172b9e3576SMarc-André Lureau .cmd = do_help_cmd, 18acd0a093SLuiz Capitulino }, 19acd0a093SLuiz Capitulino 20acd0a093SLuiz CapitulinoSTEXI 21acd0a093SLuiz Capitulino@item help or ? [@var{cmd}] 22acd0a093SLuiz Capitulino@findex help 23acd0a093SLuiz CapitulinoShow the help for all commands or just for command @var{cmd}. 24acd0a093SLuiz CapitulinoETEXI 25acd0a093SLuiz Capitulino 26acd0a093SLuiz Capitulino { 27acd0a093SLuiz Capitulino .name = "commit", 28acd0a093SLuiz Capitulino .args_type = "device:B", 29acd0a093SLuiz Capitulino .params = "device|all", 30acd0a093SLuiz Capitulino .help = "commit changes to the disk images (if -snapshot is used) or backing files", 312b9e3576SMarc-André Lureau .cmd = hmp_commit, 32acd0a093SLuiz Capitulino }, 33acd0a093SLuiz Capitulino 34acd0a093SLuiz CapitulinoSTEXI 35acd0a093SLuiz Capitulino@item commit 36acd0a093SLuiz Capitulino@findex commit 37acd0a093SLuiz CapitulinoCommit 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. 43acd0a093SLuiz CapitulinoETEXI 44acd0a093SLuiz Capitulino 45acd0a093SLuiz Capitulino { 46acd0a093SLuiz Capitulino .name = "q|quit", 47acd0a093SLuiz Capitulino .args_type = "", 48acd0a093SLuiz Capitulino .params = "", 49acd0a093SLuiz Capitulino .help = "quit the emulator", 502b9e3576SMarc-André Lureau .cmd = hmp_quit, 51acd0a093SLuiz Capitulino }, 52acd0a093SLuiz Capitulino 53acd0a093SLuiz CapitulinoSTEXI 54acd0a093SLuiz Capitulino@item q or quit 55acd0a093SLuiz Capitulino@findex quit 56acd0a093SLuiz CapitulinoQuit the emulator. 57acd0a093SLuiz CapitulinoETEXI 58acd0a093SLuiz Capitulino 59acd0a093SLuiz 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" 1096e37fb81SPaolo Bonzini "\n\t\t\t if the operation is currently paused)", 1102b9e3576SMarc-André Lureau .cmd = hmp_block_job_cancel, 111370521a1SStefan Hajnoczi }, 112370521a1SStefan Hajnoczi 113370521a1SStefan HajnocziSTEXI 114370521a1SStefan Hajnoczi@item block_job_cancel 115370521a1SStefan Hajnoczi@findex block_job_cancel 116aeae883bSPaolo BonziniStop an active background block operation (streaming, mirroring). 117aeae883bSPaolo BonziniETEXI 118aeae883bSPaolo Bonzini 119aeae883bSPaolo Bonzini { 120aeae883bSPaolo Bonzini .name = "block_job_complete", 121aeae883bSPaolo Bonzini .args_type = "device:B", 122aeae883bSPaolo Bonzini .params = "device", 123aeae883bSPaolo Bonzini .help = "stop an active background block operation", 1242b9e3576SMarc-André Lureau .cmd = hmp_block_job_complete, 125aeae883bSPaolo Bonzini }, 126aeae883bSPaolo Bonzini 127aeae883bSPaolo BonziniSTEXI 128aeae883bSPaolo Bonzini@item block_job_complete 129aeae883bSPaolo Bonzini@findex block_job_complete 130aeae883bSPaolo BonziniManually trigger completion of an active background block operation. 131aeae883bSPaolo BonziniFor mirroring, this will switch the device to the destination path. 132370521a1SStefan HajnocziETEXI 133370521a1SStefan Hajnoczi 134370521a1SStefan Hajnoczi { 1356e37fb81SPaolo Bonzini .name = "block_job_pause", 1366e37fb81SPaolo Bonzini .args_type = "device:B", 1376e37fb81SPaolo Bonzini .params = "device", 1386e37fb81SPaolo Bonzini .help = "pause an active background block operation", 1392b9e3576SMarc-André Lureau .cmd = hmp_block_job_pause, 1406e37fb81SPaolo Bonzini }, 1416e37fb81SPaolo Bonzini 1426e37fb81SPaolo BonziniSTEXI 1436e37fb81SPaolo Bonzini@item block_job_pause 1446e37fb81SPaolo Bonzini@findex block_job_pause 1456e37fb81SPaolo BonziniPause an active block streaming operation. 1466e37fb81SPaolo BonziniETEXI 1476e37fb81SPaolo Bonzini 1486e37fb81SPaolo Bonzini { 1496e37fb81SPaolo Bonzini .name = "block_job_resume", 1506e37fb81SPaolo Bonzini .args_type = "device:B", 1516e37fb81SPaolo Bonzini .params = "device", 1526e37fb81SPaolo Bonzini .help = "resume a paused background block operation", 1532b9e3576SMarc-André Lureau .cmd = hmp_block_job_resume, 1546e37fb81SPaolo Bonzini }, 1556e37fb81SPaolo Bonzini 1566e37fb81SPaolo BonziniSTEXI 1576e37fb81SPaolo Bonzini@item block_job_resume 1586e37fb81SPaolo Bonzini@findex block_job_resume 1596e37fb81SPaolo BonziniResume a paused block streaming operation. 1606e37fb81SPaolo BonziniETEXI 1616e37fb81SPaolo Bonzini 1626e37fb81SPaolo Bonzini { 163acd0a093SLuiz Capitulino .name = "eject", 164acd0a093SLuiz Capitulino .args_type = "force:-f,device:B", 165acd0a093SLuiz Capitulino .params = "[-f] device", 166acd0a093SLuiz Capitulino .help = "eject a removable medium (use -f to force it)", 1672b9e3576SMarc-André Lureau .cmd = hmp_eject, 168acd0a093SLuiz Capitulino }, 169acd0a093SLuiz Capitulino 170acd0a093SLuiz CapitulinoSTEXI 171acd0a093SLuiz Capitulino@item eject [-f] @var{device} 172acd0a093SLuiz Capitulino@findex eject 173acd0a093SLuiz CapitulinoEject a removable medium (use -f to force it). 174acd0a093SLuiz CapitulinoETEXI 175acd0a093SLuiz Capitulino 176acd0a093SLuiz Capitulino { 1779063f814SRyan Harper .name = "drive_del", 178f7bdc41aSHani Benhabiles .args_type = "id:B", 1799063f814SRyan Harper .params = "device", 1809063f814SRyan Harper .help = "remove host block device", 1812b9e3576SMarc-André Lureau .cmd = hmp_drive_del, 1829063f814SRyan Harper }, 1839063f814SRyan Harper 1849063f814SRyan HarperSTEXI 1859063f814SRyan Harper@item drive_del @var{device} 1869063f814SRyan Harper@findex drive_del 1879063f814SRyan HarperRemove host block device. The result is that guest generated IO is no longer 1889063f814SRyan Harpersubmitted against the host device underlying the disk. Once a drive has 1899063f814SRyan Harperbeen deleted, the QEMU Block layer returns -EIO which results in IO 1909063f814SRyan Harpererrors in the guest for applications that are reading/writing to the device. 191293c51a6SStefan HajnocziThese errors are always reported to the guest, regardless of the drive's error 192293c51a6SStefan Hajnocziactions (drive options rerror, werror). 1939063f814SRyan HarperETEXI 1949063f814SRyan Harper 1959063f814SRyan Harper { 196acd0a093SLuiz Capitulino .name = "change", 197baead0abSMax Reitz .args_type = "device:B,target:F,arg:s?,read-only-mode:s?", 198baead0abSMax Reitz .params = "device filename [format [read-only-mode]]", 199acd0a093SLuiz Capitulino .help = "change a removable medium, optional format", 2002b9e3576SMarc-André Lureau .cmd = hmp_change, 201acd0a093SLuiz Capitulino }, 202acd0a093SLuiz Capitulino 203acd0a093SLuiz CapitulinoSTEXI 204acd0a093SLuiz Capitulino@item change @var{device} @var{setting} 205acd0a093SLuiz Capitulino@findex change 206acd0a093SLuiz CapitulinoChange the configuration of a device. 207acd0a093SLuiz Capitulino 208acd0a093SLuiz Capitulino@table @option 209baead0abSMax Reitz@item change @var{diskdevice} @var{filename} [@var{format} [@var{read-only-mode}]] 210acd0a093SLuiz CapitulinoChange the medium for a removable disk device to point to @var{filename}. eg 211acd0a093SLuiz Capitulino 212acd0a093SLuiz Capitulino@example 213acd0a093SLuiz Capitulino(qemu) change ide1-cd0 /path/to/some.iso 214acd0a093SLuiz Capitulino@end example 215acd0a093SLuiz Capitulino 216acd0a093SLuiz Capitulino@var{format} is optional. 217acd0a093SLuiz Capitulino 218baead0abSMax Reitz@var{read-only-mode} may be used to change the read-only status of the device. 219baead0abSMax ReitzIt accepts the following values: 220baead0abSMax Reitz 221baead0abSMax Reitz@table @var 222baead0abSMax Reitz@item retain 223baead0abSMax ReitzRetains the current status; this is the default. 224baead0abSMax Reitz 225baead0abSMax Reitz@item read-only 226baead0abSMax ReitzMakes the device read-only. 227baead0abSMax Reitz 228baead0abSMax Reitz@item read-write 229baead0abSMax ReitzMakes the device writable. 230baead0abSMax Reitz@end table 231baead0abSMax Reitz 232acd0a093SLuiz Capitulino@item change vnc @var{display},@var{options} 233acd0a093SLuiz CapitulinoChange the configuration of the VNC server. The valid syntax for @var{display} 234acd0a093SLuiz Capitulinoand @var{options} are described at @ref{sec_invocation}. eg 235acd0a093SLuiz Capitulino 236acd0a093SLuiz Capitulino@example 237acd0a093SLuiz Capitulino(qemu) change vnc localhost:1 238acd0a093SLuiz Capitulino@end example 239acd0a093SLuiz Capitulino 240acd0a093SLuiz Capitulino@item change vnc password [@var{password}] 241acd0a093SLuiz Capitulino 242acd0a093SLuiz CapitulinoChange the password associated with the VNC server. If the new password is not 243acd0a093SLuiz Capitulinosupplied, the monitor will prompt for it to be entered. VNC passwords are only 244acd0a093SLuiz Capitulinosignificant up to 8 letters. eg 245acd0a093SLuiz Capitulino 246acd0a093SLuiz Capitulino@example 247acd0a093SLuiz Capitulino(qemu) change vnc password 248acd0a093SLuiz CapitulinoPassword: ******** 249acd0a093SLuiz Capitulino@end example 250acd0a093SLuiz Capitulino 251acd0a093SLuiz Capitulino@end table 252acd0a093SLuiz CapitulinoETEXI 253acd0a093SLuiz Capitulino 254acd0a093SLuiz Capitulino { 255acd0a093SLuiz Capitulino .name = "screendump", 256acd0a093SLuiz Capitulino .args_type = "filename:F", 257acd0a093SLuiz Capitulino .params = "filename", 258acd0a093SLuiz Capitulino .help = "save screen into PPM image 'filename'", 2592b9e3576SMarc-André Lureau .cmd = hmp_screendump, 260acd0a093SLuiz Capitulino }, 261acd0a093SLuiz Capitulino 262acd0a093SLuiz CapitulinoSTEXI 263acd0a093SLuiz Capitulino@item screendump @var{filename} 264acd0a093SLuiz Capitulino@findex screendump 265acd0a093SLuiz CapitulinoSave screen into PPM image @var{filename}. 266acd0a093SLuiz CapitulinoETEXI 267acd0a093SLuiz Capitulino 268acd0a093SLuiz Capitulino { 269acd0a093SLuiz Capitulino .name = "logfile", 270acd0a093SLuiz Capitulino .args_type = "filename:F", 271acd0a093SLuiz Capitulino .params = "filename", 272acd0a093SLuiz Capitulino .help = "output logs to 'filename'", 2732b9e3576SMarc-André Lureau .cmd = hmp_logfile, 274acd0a093SLuiz Capitulino }, 275acd0a093SLuiz Capitulino 276acd0a093SLuiz CapitulinoSTEXI 277acd0a093SLuiz Capitulino@item logfile @var{filename} 278acd0a093SLuiz Capitulino@findex logfile 279acd0a093SLuiz CapitulinoOutput logs to @var{filename}. 280acd0a093SLuiz CapitulinoETEXI 281acd0a093SLuiz Capitulino 282acd0a093SLuiz Capitulino { 283acd0a093SLuiz Capitulino .name = "trace-event", 28477e2b172SLluís Vilanova .args_type = "name:s,option:b,vcpu:i?", 28577e2b172SLluís Vilanova .params = "name on|off [vcpu]", 28677e2b172SLluís Vilanova .help = "changes status of a specific trace event " 28777e2b172SLluís Vilanova "(vcpu: vCPU to set, default is all)", 2882b9e3576SMarc-André Lureau .cmd = hmp_trace_event, 289987bd270SDr. David Alan Gilbert .command_completion = trace_event_completion, 290acd0a093SLuiz Capitulino }, 291acd0a093SLuiz Capitulino 292acd0a093SLuiz CapitulinoSTEXI 293acd0a093SLuiz Capitulino@item trace-event 294acd0a093SLuiz Capitulino@findex trace-event 295acd0a093SLuiz Capitulinochanges status of a trace event 296acd0a093SLuiz CapitulinoETEXI 297acd0a093SLuiz Capitulino 298c45a8168SMichael Roth#if defined(CONFIG_TRACE_SIMPLE) 299acd0a093SLuiz Capitulino { 300acd0a093SLuiz Capitulino .name = "trace-file", 301acd0a093SLuiz Capitulino .args_type = "op:s?,arg:F?", 302acd0a093SLuiz Capitulino .params = "on|off|flush|set [arg]", 303acd0a093SLuiz Capitulino .help = "open, close, or flush trace file, or set a new file name", 3042b9e3576SMarc-André Lureau .cmd = hmp_trace_file, 305acd0a093SLuiz Capitulino }, 306acd0a093SLuiz Capitulino 307acd0a093SLuiz CapitulinoSTEXI 308acd0a093SLuiz Capitulino@item trace-file on|off|flush 309acd0a093SLuiz Capitulino@findex trace-file 310acd0a093SLuiz CapitulinoOpen, close, or flush the trace file. If no argument is given, the status of the trace file is displayed. 311acd0a093SLuiz CapitulinoETEXI 312acd0a093SLuiz Capitulino#endif 313acd0a093SLuiz Capitulino 314acd0a093SLuiz Capitulino { 315acd0a093SLuiz Capitulino .name = "log", 316acd0a093SLuiz Capitulino .args_type = "items:s", 317acd0a093SLuiz Capitulino .params = "item1[,...]", 318989b697dSPeter Maydell .help = "activate logging of the specified items", 3192b9e3576SMarc-André Lureau .cmd = hmp_log, 320acd0a093SLuiz Capitulino }, 321acd0a093SLuiz Capitulino 322acd0a093SLuiz CapitulinoSTEXI 323acd0a093SLuiz Capitulino@item log @var{item1}[,...] 324acd0a093SLuiz Capitulino@findex log 325989b697dSPeter MaydellActivate logging of the specified items. 326acd0a093SLuiz CapitulinoETEXI 327acd0a093SLuiz Capitulino 328acd0a093SLuiz Capitulino { 329acd0a093SLuiz Capitulino .name = "savevm", 330acd0a093SLuiz Capitulino .args_type = "name:s?", 331acd0a093SLuiz Capitulino .params = "[tag|id]", 332acd0a093SLuiz Capitulino .help = "save a VM snapshot. If no tag or id are provided, a new snapshot is created", 3332b9e3576SMarc-André Lureau .cmd = hmp_savevm, 334acd0a093SLuiz Capitulino }, 335acd0a093SLuiz Capitulino 336acd0a093SLuiz CapitulinoSTEXI 337acd0a093SLuiz Capitulino@item savevm [@var{tag}|@var{id}] 338acd0a093SLuiz Capitulino@findex savevm 339acd0a093SLuiz CapitulinoCreate a snapshot of the whole virtual machine. If @var{tag} is 340acd0a093SLuiz Capitulinoprovided, it is used as human readable identifier. If there is already 341acd0a093SLuiz Capitulinoa snapshot with the same tag or ID, it is replaced. More info at 342acd0a093SLuiz Capitulino@ref{vm_snapshots}. 343acd0a093SLuiz CapitulinoETEXI 344acd0a093SLuiz Capitulino 345acd0a093SLuiz Capitulino { 346acd0a093SLuiz Capitulino .name = "loadvm", 347acd0a093SLuiz Capitulino .args_type = "name:s", 348acd0a093SLuiz Capitulino .params = "tag|id", 349acd0a093SLuiz Capitulino .help = "restore a VM snapshot from its tag or id", 3502b9e3576SMarc-André Lureau .cmd = hmp_loadvm, 351b21631f3SHani Benhabiles .command_completion = loadvm_completion, 352acd0a093SLuiz Capitulino }, 353acd0a093SLuiz Capitulino 354acd0a093SLuiz CapitulinoSTEXI 355acd0a093SLuiz Capitulino@item loadvm @var{tag}|@var{id} 356acd0a093SLuiz Capitulino@findex loadvm 357acd0a093SLuiz CapitulinoSet the whole virtual machine to the snapshot identified by the tag 358acd0a093SLuiz Capitulino@var{tag} or the unique snapshot ID @var{id}. 359acd0a093SLuiz CapitulinoETEXI 360acd0a093SLuiz Capitulino 361acd0a093SLuiz Capitulino { 362acd0a093SLuiz Capitulino .name = "delvm", 363acd0a093SLuiz Capitulino .args_type = "name:s", 364acd0a093SLuiz Capitulino .params = "tag|id", 365acd0a093SLuiz Capitulino .help = "delete a VM snapshot from its tag or id", 3662b9e3576SMarc-André Lureau .cmd = hmp_delvm, 367b21631f3SHani Benhabiles .command_completion = delvm_completion, 368acd0a093SLuiz Capitulino }, 369acd0a093SLuiz Capitulino 370acd0a093SLuiz CapitulinoSTEXI 371acd0a093SLuiz Capitulino@item delvm @var{tag}|@var{id} 372acd0a093SLuiz Capitulino@findex delvm 373acd0a093SLuiz CapitulinoDelete the snapshot identified by @var{tag} or @var{id}. 374acd0a093SLuiz CapitulinoETEXI 375acd0a093SLuiz Capitulino 376acd0a093SLuiz Capitulino { 377acd0a093SLuiz Capitulino .name = "singlestep", 378acd0a093SLuiz Capitulino .args_type = "option:s?", 379acd0a093SLuiz Capitulino .params = "[on|off]", 380acd0a093SLuiz Capitulino .help = "run emulation in singlestep mode or switch to normal mode", 3812b9e3576SMarc-André Lureau .cmd = hmp_singlestep, 382acd0a093SLuiz Capitulino }, 383acd0a093SLuiz Capitulino 384acd0a093SLuiz CapitulinoSTEXI 385acd0a093SLuiz Capitulino@item singlestep [off] 386acd0a093SLuiz Capitulino@findex singlestep 387acd0a093SLuiz CapitulinoRun the emulation in single step mode. 388acd0a093SLuiz CapitulinoIf called with option off, the emulation returns to normal mode. 389acd0a093SLuiz CapitulinoETEXI 390acd0a093SLuiz Capitulino 391acd0a093SLuiz Capitulino { 392acd0a093SLuiz Capitulino .name = "stop", 393acd0a093SLuiz Capitulino .args_type = "", 394acd0a093SLuiz Capitulino .params = "", 395acd0a093SLuiz Capitulino .help = "stop emulation", 3962b9e3576SMarc-André Lureau .cmd = hmp_stop, 397acd0a093SLuiz Capitulino }, 398acd0a093SLuiz Capitulino 399acd0a093SLuiz CapitulinoSTEXI 400acd0a093SLuiz Capitulino@item stop 401acd0a093SLuiz Capitulino@findex stop 402acd0a093SLuiz CapitulinoStop emulation. 403acd0a093SLuiz CapitulinoETEXI 404acd0a093SLuiz Capitulino 405acd0a093SLuiz Capitulino { 406acd0a093SLuiz Capitulino .name = "c|cont", 407acd0a093SLuiz Capitulino .args_type = "", 408acd0a093SLuiz Capitulino .params = "", 409acd0a093SLuiz Capitulino .help = "resume emulation", 4102b9e3576SMarc-André Lureau .cmd = hmp_cont, 411acd0a093SLuiz Capitulino }, 412acd0a093SLuiz Capitulino 413acd0a093SLuiz CapitulinoSTEXI 414acd0a093SLuiz Capitulino@item c or cont 415acd0a093SLuiz Capitulino@findex cont 416acd0a093SLuiz CapitulinoResume emulation. 417acd0a093SLuiz CapitulinoETEXI 418acd0a093SLuiz Capitulino 419acd0a093SLuiz Capitulino { 4209b9df25aSGerd Hoffmann .name = "system_wakeup", 4219b9df25aSGerd Hoffmann .args_type = "", 4229b9df25aSGerd Hoffmann .params = "", 4239b9df25aSGerd Hoffmann .help = "wakeup guest from suspend", 4242b9e3576SMarc-André Lureau .cmd = hmp_system_wakeup, 4259b9df25aSGerd Hoffmann }, 4269b9df25aSGerd Hoffmann 4279b9df25aSGerd HoffmannSTEXI 4289b9df25aSGerd Hoffmann@item system_wakeup 4299b9df25aSGerd Hoffmann@findex system_wakeup 4309b9df25aSGerd HoffmannWakeup guest from suspend. 4319b9df25aSGerd HoffmannETEXI 4329b9df25aSGerd Hoffmann 4339b9df25aSGerd Hoffmann { 434acd0a093SLuiz Capitulino .name = "gdbserver", 435acd0a093SLuiz Capitulino .args_type = "device:s?", 436acd0a093SLuiz Capitulino .params = "[device]", 437acd0a093SLuiz Capitulino .help = "start gdbserver on given device (default 'tcp::1234'), stop with 'none'", 4382b9e3576SMarc-André Lureau .cmd = hmp_gdbserver, 439acd0a093SLuiz Capitulino }, 440acd0a093SLuiz Capitulino 441acd0a093SLuiz CapitulinoSTEXI 442acd0a093SLuiz Capitulino@item gdbserver [@var{port}] 443acd0a093SLuiz Capitulino@findex gdbserver 444acd0a093SLuiz CapitulinoStart gdbserver session (default @var{port}=1234) 445acd0a093SLuiz CapitulinoETEXI 446acd0a093SLuiz Capitulino 447acd0a093SLuiz Capitulino { 448acd0a093SLuiz Capitulino .name = "x", 449acd0a093SLuiz Capitulino .args_type = "fmt:/,addr:l", 450acd0a093SLuiz Capitulino .params = "/fmt addr", 451acd0a093SLuiz Capitulino .help = "virtual memory dump starting at 'addr'", 4522b9e3576SMarc-André Lureau .cmd = hmp_memory_dump, 453acd0a093SLuiz Capitulino }, 454acd0a093SLuiz Capitulino 455acd0a093SLuiz CapitulinoSTEXI 456acd0a093SLuiz Capitulino@item x/fmt @var{addr} 457acd0a093SLuiz Capitulino@findex x 458acd0a093SLuiz CapitulinoVirtual memory dump starting at @var{addr}. 459acd0a093SLuiz CapitulinoETEXI 460acd0a093SLuiz Capitulino 461acd0a093SLuiz Capitulino { 462acd0a093SLuiz Capitulino .name = "xp", 463acd0a093SLuiz Capitulino .args_type = "fmt:/,addr:l", 464acd0a093SLuiz Capitulino .params = "/fmt addr", 465acd0a093SLuiz Capitulino .help = "physical memory dump starting at 'addr'", 4662b9e3576SMarc-André Lureau .cmd = hmp_physical_memory_dump, 467acd0a093SLuiz Capitulino }, 468acd0a093SLuiz Capitulino 469acd0a093SLuiz CapitulinoSTEXI 470acd0a093SLuiz Capitulino@item xp /@var{fmt} @var{addr} 471acd0a093SLuiz Capitulino@findex xp 472acd0a093SLuiz CapitulinoPhysical memory dump starting at @var{addr}. 473acd0a093SLuiz Capitulino 474acd0a093SLuiz Capitulino@var{fmt} is a format which tells the command how to format the 475acd0a093SLuiz Capitulinodata. Its syntax is: @option{/@{count@}@{format@}@{size@}} 476acd0a093SLuiz Capitulino 477acd0a093SLuiz Capitulino@table @var 478acd0a093SLuiz Capitulino@item count 479acd0a093SLuiz Capitulinois the number of items to be dumped. 480acd0a093SLuiz Capitulino 481acd0a093SLuiz Capitulino@item format 482acd0a093SLuiz Capitulinocan be x (hex), d (signed decimal), u (unsigned decimal), o (octal), 483acd0a093SLuiz Capitulinoc (char) or i (asm instruction). 484acd0a093SLuiz Capitulino 485acd0a093SLuiz Capitulino@item size 486acd0a093SLuiz Capitulinocan be b (8 bits), h (16 bits), w (32 bits) or g (64 bits). On x86, 487acd0a093SLuiz Capitulino@code{h} or @code{w} can be specified with the @code{i} format to 488acd0a093SLuiz Capitulinorespectively select 16 or 32 bit code instruction size. 489acd0a093SLuiz Capitulino 490acd0a093SLuiz Capitulino@end table 491acd0a093SLuiz Capitulino 492acd0a093SLuiz CapitulinoExamples: 493acd0a093SLuiz Capitulino@itemize 494acd0a093SLuiz Capitulino@item 495acd0a093SLuiz CapitulinoDump 10 instructions at the current instruction pointer: 496acd0a093SLuiz Capitulino@example 497acd0a093SLuiz Capitulino(qemu) x/10i $eip 498acd0a093SLuiz Capitulino0x90107063: ret 499acd0a093SLuiz Capitulino0x90107064: sti 500acd0a093SLuiz Capitulino0x90107065: lea 0x0(%esi,1),%esi 501acd0a093SLuiz Capitulino0x90107069: lea 0x0(%edi,1),%edi 502acd0a093SLuiz Capitulino0x90107070: ret 503acd0a093SLuiz Capitulino0x90107071: jmp 0x90107080 504acd0a093SLuiz Capitulino0x90107073: nop 505acd0a093SLuiz Capitulino0x90107074: nop 506acd0a093SLuiz Capitulino0x90107075: nop 507acd0a093SLuiz Capitulino0x90107076: nop 508acd0a093SLuiz Capitulino@end example 509acd0a093SLuiz Capitulino 510acd0a093SLuiz Capitulino@item 511acd0a093SLuiz CapitulinoDump 80 16 bit values at the start of the video memory. 512acd0a093SLuiz Capitulino@smallexample 513acd0a093SLuiz Capitulino(qemu) xp/80hx 0xb8000 514acd0a093SLuiz Capitulino0x000b8000: 0x0b50 0x0b6c 0x0b65 0x0b78 0x0b38 0x0b36 0x0b2f 0x0b42 515acd0a093SLuiz Capitulino0x000b8010: 0x0b6f 0x0b63 0x0b68 0x0b73 0x0b20 0x0b56 0x0b47 0x0b41 516acd0a093SLuiz Capitulino0x000b8020: 0x0b42 0x0b69 0x0b6f 0x0b73 0x0b20 0x0b63 0x0b75 0x0b72 517acd0a093SLuiz Capitulino0x000b8030: 0x0b72 0x0b65 0x0b6e 0x0b74 0x0b2d 0x0b63 0x0b76 0x0b73 518acd0a093SLuiz Capitulino0x000b8040: 0x0b20 0x0b30 0x0b35 0x0b20 0x0b4e 0x0b6f 0x0b76 0x0b20 519acd0a093SLuiz Capitulino0x000b8050: 0x0b32 0x0b30 0x0b30 0x0b33 0x0720 0x0720 0x0720 0x0720 520acd0a093SLuiz Capitulino0x000b8060: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 521acd0a093SLuiz Capitulino0x000b8070: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 522acd0a093SLuiz Capitulino0x000b8080: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 523acd0a093SLuiz Capitulino0x000b8090: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 524acd0a093SLuiz Capitulino@end smallexample 525acd0a093SLuiz Capitulino@end itemize 526acd0a093SLuiz CapitulinoETEXI 527acd0a093SLuiz Capitulino 528acd0a093SLuiz Capitulino { 529e9628441SPaolo Bonzini .name = "gpa2hva", 530e9628441SPaolo Bonzini .args_type = "addr:l", 531e9628441SPaolo Bonzini .params = "addr", 532e9628441SPaolo Bonzini .help = "print the host virtual address corresponding to a guest physical address", 533e9628441SPaolo Bonzini .cmd = hmp_gpa2hva, 534e9628441SPaolo Bonzini }, 535e9628441SPaolo Bonzini 536e9628441SPaolo BonziniSTEXI 537e9628441SPaolo Bonzini@item gpa2hva @var{addr} 538e9628441SPaolo Bonzini@findex gpa2hva 539e9628441SPaolo BonziniPrint the host virtual address at which the guest's physical address @var{addr} 540e9628441SPaolo Bonziniis mapped. 541e9628441SPaolo BonziniETEXI 542e9628441SPaolo Bonzini 543e9628441SPaolo Bonzini#ifdef CONFIG_LINUX 544e9628441SPaolo Bonzini { 545e9628441SPaolo Bonzini .name = "gpa2hpa", 546e9628441SPaolo Bonzini .args_type = "addr:l", 547e9628441SPaolo Bonzini .params = "addr", 548e9628441SPaolo Bonzini .help = "print the host physical address corresponding to a guest physical address", 549e9628441SPaolo Bonzini .cmd = hmp_gpa2hpa, 550e9628441SPaolo Bonzini }, 551e9628441SPaolo Bonzini#endif 552e9628441SPaolo Bonzini 553e9628441SPaolo BonziniSTEXI 554e9628441SPaolo Bonzini@item gpa2hpa @var{addr} 555e9628441SPaolo Bonzini@findex gpa2hpa 556e9628441SPaolo BonziniPrint the host physical address at which the guest's physical address @var{addr} 557e9628441SPaolo Bonziniis mapped. 558e9628441SPaolo BonziniETEXI 559e9628441SPaolo Bonzini 560e9628441SPaolo Bonzini { 561acd0a093SLuiz Capitulino .name = "p|print", 562acd0a093SLuiz Capitulino .args_type = "fmt:/,val:l", 563acd0a093SLuiz Capitulino .params = "/fmt expr", 564acd0a093SLuiz Capitulino .help = "print expression value (use $reg for CPU register access)", 5652b9e3576SMarc-André Lureau .cmd = do_print, 566acd0a093SLuiz Capitulino }, 567acd0a093SLuiz Capitulino 568acd0a093SLuiz CapitulinoSTEXI 569acd0a093SLuiz Capitulino@item p or print/@var{fmt} @var{expr} 570acd0a093SLuiz Capitulino@findex print 571acd0a093SLuiz CapitulinoPrint expression value. Only the @var{format} part of @var{fmt} is 572acd0a093SLuiz Capitulinoused. 573acd0a093SLuiz CapitulinoETEXI 574acd0a093SLuiz Capitulino 575acd0a093SLuiz Capitulino { 576acd0a093SLuiz Capitulino .name = "i", 577acd0a093SLuiz Capitulino .args_type = "fmt:/,addr:i,index:i.", 578acd0a093SLuiz Capitulino .params = "/fmt addr", 579acd0a093SLuiz Capitulino .help = "I/O port read", 5802b9e3576SMarc-André Lureau .cmd = hmp_ioport_read, 581acd0a093SLuiz Capitulino }, 582acd0a093SLuiz Capitulino 583acd0a093SLuiz CapitulinoSTEXI 584b76d799eSMarkus Armbruster@item i/@var{fmt} @var{addr} [.@var{index}] 585b76d799eSMarkus Armbruster@findex i 586acd0a093SLuiz CapitulinoRead I/O port. 587acd0a093SLuiz CapitulinoETEXI 588acd0a093SLuiz Capitulino 589acd0a093SLuiz Capitulino { 590acd0a093SLuiz Capitulino .name = "o", 591acd0a093SLuiz Capitulino .args_type = "fmt:/,addr:i,val:i", 592acd0a093SLuiz Capitulino .params = "/fmt addr value", 593acd0a093SLuiz Capitulino .help = "I/O port write", 5942b9e3576SMarc-André Lureau .cmd = hmp_ioport_write, 595acd0a093SLuiz Capitulino }, 596acd0a093SLuiz Capitulino 597acd0a093SLuiz CapitulinoSTEXI 598b76d799eSMarkus Armbruster@item o/@var{fmt} @var{addr} @var{val} 599b76d799eSMarkus Armbruster@findex o 600acd0a093SLuiz CapitulinoWrite to I/O port. 601acd0a093SLuiz CapitulinoETEXI 602acd0a093SLuiz Capitulino 603acd0a093SLuiz Capitulino { 604acd0a093SLuiz Capitulino .name = "sendkey", 6052ef20c15SAmos Kong .args_type = "keys:s,hold-time:i?", 606acd0a093SLuiz Capitulino .params = "keys [hold_ms]", 607acd0a093SLuiz Capitulino .help = "send keys to the VM (e.g. 'sendkey ctrl-alt-f1', default hold time=100 ms)", 6082b9e3576SMarc-André Lureau .cmd = hmp_sendkey, 60929136cd8SHani Benhabiles .command_completion = sendkey_completion, 610acd0a093SLuiz Capitulino }, 611acd0a093SLuiz Capitulino 612acd0a093SLuiz CapitulinoSTEXI 613acd0a093SLuiz Capitulino@item sendkey @var{keys} 614acd0a093SLuiz Capitulino@findex sendkey 615886cc706SAmos KongSend @var{keys} to the guest. @var{keys} could be the name of the 616886cc706SAmos Kongkey or the raw value in hexadecimal format. Use @code{-} to press 617886cc706SAmos Kongseveral keys simultaneously. Example: 618acd0a093SLuiz Capitulino@example 619acd0a093SLuiz Capitulinosendkey ctrl-alt-f1 620acd0a093SLuiz Capitulino@end example 621acd0a093SLuiz Capitulino 622acd0a093SLuiz CapitulinoThis command is useful to send keys that your graphical user interface 623acd0a093SLuiz Capitulinointercepts at low level, such as @code{ctrl-alt-f1} in X Window. 624acd0a093SLuiz CapitulinoETEXI 625acd0a093SLuiz Capitulino 626acd0a093SLuiz Capitulino { 627acd0a093SLuiz Capitulino .name = "system_reset", 628acd0a093SLuiz Capitulino .args_type = "", 629acd0a093SLuiz Capitulino .params = "", 630acd0a093SLuiz Capitulino .help = "reset the system", 6312b9e3576SMarc-André Lureau .cmd = hmp_system_reset, 632acd0a093SLuiz Capitulino }, 633acd0a093SLuiz Capitulino 634acd0a093SLuiz CapitulinoSTEXI 635acd0a093SLuiz Capitulino@item system_reset 636acd0a093SLuiz Capitulino@findex system_reset 637acd0a093SLuiz CapitulinoReset the system. 638acd0a093SLuiz CapitulinoETEXI 639acd0a093SLuiz Capitulino 640acd0a093SLuiz Capitulino { 641acd0a093SLuiz Capitulino .name = "system_powerdown", 642acd0a093SLuiz Capitulino .args_type = "", 643acd0a093SLuiz Capitulino .params = "", 644acd0a093SLuiz Capitulino .help = "send system power down event", 6452b9e3576SMarc-André Lureau .cmd = hmp_system_powerdown, 646acd0a093SLuiz Capitulino }, 647acd0a093SLuiz Capitulino 648acd0a093SLuiz CapitulinoSTEXI 649acd0a093SLuiz Capitulino@item system_powerdown 650acd0a093SLuiz Capitulino@findex system_powerdown 651acd0a093SLuiz CapitulinoPower down the system (if supported). 652acd0a093SLuiz CapitulinoETEXI 653acd0a093SLuiz Capitulino 654acd0a093SLuiz Capitulino { 655acd0a093SLuiz Capitulino .name = "sum", 656acd0a093SLuiz Capitulino .args_type = "start:i,size:i", 657acd0a093SLuiz Capitulino .params = "addr size", 658acd0a093SLuiz Capitulino .help = "compute the checksum of a memory region", 6592b9e3576SMarc-André Lureau .cmd = hmp_sum, 660acd0a093SLuiz Capitulino }, 661acd0a093SLuiz Capitulino 662acd0a093SLuiz CapitulinoSTEXI 663acd0a093SLuiz Capitulino@item sum @var{addr} @var{size} 664acd0a093SLuiz Capitulino@findex sum 665acd0a093SLuiz CapitulinoCompute the checksum of a memory region. 666acd0a093SLuiz CapitulinoETEXI 667acd0a093SLuiz Capitulino 668acd0a093SLuiz Capitulino { 669acd0a093SLuiz Capitulino .name = "device_add", 670acd0a093SLuiz Capitulino .args_type = "device:O", 671acd0a093SLuiz Capitulino .params = "driver[,prop=value][,...]", 672acd0a093SLuiz Capitulino .help = "add device, like -device on the command line", 6732b9e3576SMarc-André Lureau .cmd = hmp_device_add, 6742da1b3abSHani Benhabiles .command_completion = device_add_completion, 675acd0a093SLuiz Capitulino }, 676acd0a093SLuiz Capitulino 677acd0a093SLuiz CapitulinoSTEXI 678acd0a093SLuiz Capitulino@item device_add @var{config} 679acd0a093SLuiz Capitulino@findex device_add 680acd0a093SLuiz CapitulinoAdd device. 681acd0a093SLuiz CapitulinoETEXI 682acd0a093SLuiz Capitulino 683acd0a093SLuiz Capitulino { 684acd0a093SLuiz Capitulino .name = "device_del", 685acd0a093SLuiz Capitulino .args_type = "id:s", 686acd0a093SLuiz Capitulino .params = "device", 687acd0a093SLuiz Capitulino .help = "remove device", 6882b9e3576SMarc-André Lureau .cmd = hmp_device_del, 6892da1b3abSHani Benhabiles .command_completion = device_del_completion, 690acd0a093SLuiz Capitulino }, 691acd0a093SLuiz Capitulino 692acd0a093SLuiz CapitulinoSTEXI 693acd0a093SLuiz Capitulino@item device_del @var{id} 694acd0a093SLuiz Capitulino@findex device_del 6956287d827SDaniel P. BerrangeRemove device @var{id}. @var{id} may be a short ID 6966287d827SDaniel P. Berrangeor a QOM object path. 697acd0a093SLuiz CapitulinoETEXI 698acd0a093SLuiz Capitulino 699acd0a093SLuiz Capitulino { 700acd0a093SLuiz Capitulino .name = "cpu", 701acd0a093SLuiz Capitulino .args_type = "index:i", 702acd0a093SLuiz Capitulino .params = "index", 703acd0a093SLuiz Capitulino .help = "set the default CPU", 7042b9e3576SMarc-André Lureau .cmd = hmp_cpu, 705acd0a093SLuiz Capitulino }, 706acd0a093SLuiz Capitulino 707acd0a093SLuiz CapitulinoSTEXI 708acd0a093SLuiz Capitulino@item cpu @var{index} 709acd0a093SLuiz Capitulino@findex cpu 710acd0a093SLuiz CapitulinoSet the default CPU. 711acd0a093SLuiz CapitulinoETEXI 712acd0a093SLuiz Capitulino 713acd0a093SLuiz Capitulino { 714acd0a093SLuiz Capitulino .name = "mouse_move", 715acd0a093SLuiz Capitulino .args_type = "dx_str:s,dy_str:s,dz_str:s?", 716acd0a093SLuiz Capitulino .params = "dx dy [dz]", 717acd0a093SLuiz Capitulino .help = "send mouse move events", 7182b9e3576SMarc-André Lureau .cmd = hmp_mouse_move, 719acd0a093SLuiz Capitulino }, 720acd0a093SLuiz Capitulino 721acd0a093SLuiz CapitulinoSTEXI 722acd0a093SLuiz Capitulino@item mouse_move @var{dx} @var{dy} [@var{dz}] 723acd0a093SLuiz Capitulino@findex mouse_move 724acd0a093SLuiz CapitulinoMove the active mouse to the specified coordinates @var{dx} @var{dy} 725acd0a093SLuiz Capitulinowith optional scroll axis @var{dz}. 726acd0a093SLuiz CapitulinoETEXI 727acd0a093SLuiz Capitulino 728acd0a093SLuiz Capitulino { 729acd0a093SLuiz Capitulino .name = "mouse_button", 730acd0a093SLuiz Capitulino .args_type = "button_state:i", 731acd0a093SLuiz Capitulino .params = "state", 732acd0a093SLuiz Capitulino .help = "change mouse button state (1=L, 2=M, 4=R)", 7332b9e3576SMarc-André Lureau .cmd = hmp_mouse_button, 734acd0a093SLuiz Capitulino }, 735acd0a093SLuiz Capitulino 736acd0a093SLuiz CapitulinoSTEXI 737acd0a093SLuiz Capitulino@item mouse_button @var{val} 738acd0a093SLuiz Capitulino@findex mouse_button 739acd0a093SLuiz CapitulinoChange the active mouse button state @var{val} (1=L, 2=M, 4=R). 740acd0a093SLuiz CapitulinoETEXI 741acd0a093SLuiz Capitulino 742acd0a093SLuiz Capitulino { 743acd0a093SLuiz Capitulino .name = "mouse_set", 744acd0a093SLuiz Capitulino .args_type = "index:i", 745acd0a093SLuiz Capitulino .params = "index", 746acd0a093SLuiz Capitulino .help = "set which mouse device receives events", 7472b9e3576SMarc-André Lureau .cmd = hmp_mouse_set, 748acd0a093SLuiz Capitulino }, 749acd0a093SLuiz Capitulino 750acd0a093SLuiz CapitulinoSTEXI 751acd0a093SLuiz Capitulino@item mouse_set @var{index} 752acd0a093SLuiz Capitulino@findex mouse_set 753acd0a093SLuiz CapitulinoSet which mouse device receives events at given @var{index}, index 754acd0a093SLuiz Capitulinocan be obtained with 755acd0a093SLuiz Capitulino@example 756acd0a093SLuiz Capitulinoinfo mice 757acd0a093SLuiz Capitulino@end example 758acd0a093SLuiz CapitulinoETEXI 759acd0a093SLuiz Capitulino 760acd0a093SLuiz Capitulino { 761acd0a093SLuiz Capitulino .name = "wavcapture", 762acd0a093SLuiz Capitulino .args_type = "path:F,freq:i?,bits:i?,nchannels:i?", 763acd0a093SLuiz Capitulino .params = "path [frequency [bits [channels]]]", 764acd0a093SLuiz Capitulino .help = "capture audio to a wave file (default frequency=44100 bits=16 channels=2)", 7652b9e3576SMarc-André Lureau .cmd = hmp_wavcapture, 766acd0a093SLuiz Capitulino }, 767acd0a093SLuiz CapitulinoSTEXI 768acd0a093SLuiz Capitulino@item wavcapture @var{filename} [@var{frequency} [@var{bits} [@var{channels}]]] 769acd0a093SLuiz Capitulino@findex wavcapture 770acd0a093SLuiz CapitulinoCapture audio into @var{filename}. Using sample rate @var{frequency} 771acd0a093SLuiz Capitulinobits per sample @var{bits} and number of channels @var{channels}. 772acd0a093SLuiz Capitulino 773acd0a093SLuiz CapitulinoDefaults: 774acd0a093SLuiz Capitulino@itemize @minus 775acd0a093SLuiz Capitulino@item Sample rate = 44100 Hz - CD quality 776acd0a093SLuiz Capitulino@item Bits = 16 777acd0a093SLuiz Capitulino@item Number of channels = 2 - Stereo 778acd0a093SLuiz Capitulino@end itemize 779acd0a093SLuiz CapitulinoETEXI 780acd0a093SLuiz Capitulino 781acd0a093SLuiz Capitulino { 782acd0a093SLuiz Capitulino .name = "stopcapture", 783acd0a093SLuiz Capitulino .args_type = "n:i", 784acd0a093SLuiz Capitulino .params = "capture index", 785acd0a093SLuiz Capitulino .help = "stop capture", 7862b9e3576SMarc-André Lureau .cmd = hmp_stopcapture, 787acd0a093SLuiz Capitulino }, 788acd0a093SLuiz CapitulinoSTEXI 789acd0a093SLuiz Capitulino@item stopcapture @var{index} 790acd0a093SLuiz Capitulino@findex stopcapture 791acd0a093SLuiz CapitulinoStop capture with a given @var{index}, index can be obtained with 792acd0a093SLuiz Capitulino@example 793acd0a093SLuiz Capitulinoinfo capture 794acd0a093SLuiz Capitulino@end example 795acd0a093SLuiz CapitulinoETEXI 796acd0a093SLuiz Capitulino 797acd0a093SLuiz Capitulino { 798acd0a093SLuiz Capitulino .name = "memsave", 799acd0a093SLuiz Capitulino .args_type = "val:l,size:i,filename:s", 800acd0a093SLuiz Capitulino .params = "addr size file", 801acd0a093SLuiz Capitulino .help = "save to disk virtual memory dump starting at 'addr' of size 'size'", 8022b9e3576SMarc-André Lureau .cmd = hmp_memsave, 803acd0a093SLuiz Capitulino }, 804acd0a093SLuiz Capitulino 805acd0a093SLuiz CapitulinoSTEXI 806acd0a093SLuiz Capitulino@item memsave @var{addr} @var{size} @var{file} 807acd0a093SLuiz Capitulino@findex memsave 808acd0a093SLuiz Capitulinosave to disk virtual memory dump starting at @var{addr} of size @var{size}. 809acd0a093SLuiz CapitulinoETEXI 810acd0a093SLuiz Capitulino 811acd0a093SLuiz Capitulino { 812acd0a093SLuiz Capitulino .name = "pmemsave", 813acd0a093SLuiz Capitulino .args_type = "val:l,size:i,filename:s", 814acd0a093SLuiz Capitulino .params = "addr size file", 815acd0a093SLuiz Capitulino .help = "save to disk physical memory dump starting at 'addr' of size 'size'", 8162b9e3576SMarc-André Lureau .cmd = hmp_pmemsave, 817acd0a093SLuiz Capitulino }, 818acd0a093SLuiz Capitulino 819acd0a093SLuiz CapitulinoSTEXI 820acd0a093SLuiz Capitulino@item pmemsave @var{addr} @var{size} @var{file} 821acd0a093SLuiz Capitulino@findex pmemsave 822acd0a093SLuiz Capitulinosave to disk physical memory dump starting at @var{addr} of size @var{size}. 823acd0a093SLuiz CapitulinoETEXI 824acd0a093SLuiz Capitulino 825acd0a093SLuiz Capitulino { 826acd0a093SLuiz Capitulino .name = "boot_set", 827acd0a093SLuiz Capitulino .args_type = "bootdevice:s", 828acd0a093SLuiz Capitulino .params = "bootdevice", 829acd0a093SLuiz Capitulino .help = "define new values for the boot device list", 8302b9e3576SMarc-André Lureau .cmd = hmp_boot_set, 831acd0a093SLuiz Capitulino }, 832acd0a093SLuiz Capitulino 833acd0a093SLuiz CapitulinoSTEXI 834acd0a093SLuiz Capitulino@item boot_set @var{bootdevicelist} 835acd0a093SLuiz Capitulino@findex boot_set 836acd0a093SLuiz CapitulinoDefine new values for the boot device list. Those values will override 837acd0a093SLuiz Capitulinothe values specified on the command line through the @code{-boot} option. 838acd0a093SLuiz Capitulino 839acd0a093SLuiz CapitulinoThe values that can be specified here depend on the machine type, but are 840acd0a093SLuiz Capitulinothe same that can be specified in the @code{-boot} command line option. 841acd0a093SLuiz CapitulinoETEXI 842acd0a093SLuiz Capitulino 843acd0a093SLuiz Capitulino { 844acd0a093SLuiz Capitulino .name = "nmi", 845e9b4b432SLuiz Capitulino .args_type = "", 846e9b4b432SLuiz Capitulino .params = "", 8479cb805fdSAlexey Kardashevskiy .help = "inject an NMI", 8482b9e3576SMarc-André Lureau .cmd = hmp_nmi, 849acd0a093SLuiz Capitulino }, 850acd0a093SLuiz CapitulinoSTEXI 851acd0a093SLuiz Capitulino@item nmi @var{cpu} 852acd0a093SLuiz Capitulino@findex nmi 8539cb805fdSAlexey KardashevskiyInject an NMI on the default CPU (x86/s390) or all CPUs (ppc64). 8541f590cf9SLei Li 8551f590cf9SLei LiETEXI 8561f590cf9SLei Li 8571f590cf9SLei Li { 8583949e594SMarkus Armbruster .name = "ringbuf_write", 8591f590cf9SLei Li .args_type = "device:s,data:s", 8601f590cf9SLei Li .params = "device data", 8613949e594SMarkus Armbruster .help = "Write to a ring buffer character device", 8622b9e3576SMarc-André Lureau .cmd = hmp_ringbuf_write, 8638e597779SHani Benhabiles .command_completion = ringbuf_write_completion, 8641f590cf9SLei Li }, 8651f590cf9SLei Li 8661f590cf9SLei LiSTEXI 8673949e594SMarkus Armbruster@item ringbuf_write @var{device} @var{data} 8683949e594SMarkus Armbruster@findex ringbuf_write 8693949e594SMarkus ArmbrusterWrite @var{data} to ring buffer character device @var{device}. 8703949e594SMarkus Armbruster@var{data} must be a UTF-8 string. 8711f590cf9SLei Li 872acd0a093SLuiz CapitulinoETEXI 873acd0a093SLuiz Capitulino 874acd0a093SLuiz Capitulino { 8753949e594SMarkus Armbruster .name = "ringbuf_read", 87649b6d722SLei Li .args_type = "device:s,size:i", 87749b6d722SLei Li .params = "device size", 8783949e594SMarkus Armbruster .help = "Read from a ring buffer character device", 8792b9e3576SMarc-André Lureau .cmd = hmp_ringbuf_read, 8808e597779SHani Benhabiles .command_completion = ringbuf_write_completion, 88149b6d722SLei Li }, 88249b6d722SLei Li 88349b6d722SLei LiSTEXI 8843949e594SMarkus Armbruster@item ringbuf_read @var{device} 8853949e594SMarkus Armbruster@findex ringbuf_read 8863949e594SMarkus ArmbrusterRead and print up to @var{size} bytes from ring buffer character 8873949e594SMarkus Armbrusterdevice @var{device}. 888543f3412SMarkus ArmbrusterCertain non-printable characters are printed \uXXXX, where XXXX is the 889543f3412SMarkus Armbrustercharacter code in hexadecimal. Character \ is printed \\. 8903949e594SMarkus ArmbrusterBug: can screw up when the buffer contains invalid UTF-8 sequences, 8913949e594SMarkus ArmbrusterNUL characters, after the ring buffer lost data, and when reading 8923949e594SMarkus Armbrusterstops because the size limit is reached. 89349b6d722SLei Li 89449b6d722SLei LiETEXI 89549b6d722SLei Li 89649b6d722SLei Li { 897acd0a093SLuiz Capitulino .name = "migrate", 898acd0a093SLuiz Capitulino .args_type = "detach:-d,blk:-b,inc:-i,uri:s", 899acd0a093SLuiz Capitulino .params = "[-d] [-b] [-i] uri", 900acd0a093SLuiz Capitulino .help = "migrate to URI (using -d to not wait for completion)" 901acd0a093SLuiz Capitulino "\n\t\t\t -b for migration without shared storage with" 902acd0a093SLuiz Capitulino " full copy of disk\n\t\t\t -i for migration without " 903acd0a093SLuiz Capitulino "shared storage with incremental copy of disk " 904acd0a093SLuiz Capitulino "(base image shared between src and destination)", 9052b9e3576SMarc-André Lureau .cmd = hmp_migrate, 906acd0a093SLuiz Capitulino }, 907acd0a093SLuiz Capitulino 908acd0a093SLuiz Capitulino 909acd0a093SLuiz CapitulinoSTEXI 910acd0a093SLuiz Capitulino@item migrate [-d] [-b] [-i] @var{uri} 911acd0a093SLuiz Capitulino@findex migrate 912acd0a093SLuiz CapitulinoMigrate to @var{uri} (using -d to not wait for completion). 913acd0a093SLuiz Capitulino -b for migration with full copy of disk 914acd0a093SLuiz Capitulino -i for migration with incremental copy of disk (base image is shared) 915acd0a093SLuiz CapitulinoETEXI 916acd0a093SLuiz Capitulino 917acd0a093SLuiz Capitulino { 918acd0a093SLuiz Capitulino .name = "migrate_cancel", 919acd0a093SLuiz Capitulino .args_type = "", 920acd0a093SLuiz Capitulino .params = "", 921acd0a093SLuiz Capitulino .help = "cancel the current VM migration", 9222b9e3576SMarc-André Lureau .cmd = hmp_migrate_cancel, 923acd0a093SLuiz Capitulino }, 924acd0a093SLuiz Capitulino 925acd0a093SLuiz CapitulinoSTEXI 926acd0a093SLuiz Capitulino@item migrate_cancel 927acd0a093SLuiz Capitulino@findex migrate_cancel 928acd0a093SLuiz CapitulinoCancel the current VM migration. 92994ae12cbSDr. David Alan GilbertETEXI 9309e1ba4ccSOrit Wasserman 93194ae12cbSDr. David Alan Gilbert { 93294ae12cbSDr. David Alan Gilbert .name = "migrate_continue", 93394ae12cbSDr. David Alan Gilbert .args_type = "state:s", 93494ae12cbSDr. David Alan Gilbert .params = "state", 93594ae12cbSDr. David Alan Gilbert .help = "Continue migration from the given paused state", 93694ae12cbSDr. David Alan Gilbert .cmd = hmp_migrate_continue, 93794ae12cbSDr. David Alan Gilbert }, 93894ae12cbSDr. David Alan GilbertSTEXI 93994ae12cbSDr. David Alan Gilbert@item migrate_continue @var{state} 94094ae12cbSDr. David Alan Gilbert@findex migrate_continue 94194ae12cbSDr. David Alan GilbertContinue migration from the paused state @var{state} 9429e1ba4ccSOrit WassermanETEXI 9439e1ba4ccSOrit Wasserman 9449e1ba4ccSOrit Wasserman { 945bf1ae1f4SDr. David Alan Gilbert .name = "migrate_incoming", 946bf1ae1f4SDr. David Alan Gilbert .args_type = "uri:s", 947bf1ae1f4SDr. David Alan Gilbert .params = "uri", 948bf1ae1f4SDr. David Alan Gilbert .help = "Continue an incoming migration from an -incoming defer", 9492b9e3576SMarc-André Lureau .cmd = hmp_migrate_incoming, 950bf1ae1f4SDr. David Alan Gilbert }, 951bf1ae1f4SDr. David Alan Gilbert 952bf1ae1f4SDr. David Alan GilbertSTEXI 953bf1ae1f4SDr. David Alan Gilbert@item migrate_incoming @var{uri} 954bf1ae1f4SDr. David Alan Gilbert@findex migrate_incoming 955bf1ae1f4SDr. David Alan GilbertContinue an incoming migration using the @var{uri} (that has the same syntax 956bf1ae1f4SDr. David Alan Gilbertas the -incoming option). 957bf1ae1f4SDr. David Alan Gilbert 958bf1ae1f4SDr. David Alan GilbertETEXI 959bf1ae1f4SDr. David Alan Gilbert 960bf1ae1f4SDr. David Alan Gilbert { 9619e1ba4ccSOrit Wasserman .name = "migrate_set_cache_size", 9629e1ba4ccSOrit Wasserman .args_type = "value:o", 9639e1ba4ccSOrit Wasserman .params = "value", 9649e1ba4ccSOrit Wasserman .help = "set cache size (in bytes) for XBZRLE migrations," 9659e1ba4ccSOrit Wasserman "the cache size will be rounded down to the nearest " 9669e1ba4ccSOrit Wasserman "power of 2.\n" 9679e1ba4ccSOrit Wasserman "The cache size affects the number of cache misses." 9689e1ba4ccSOrit Wasserman "In case of a high cache miss ratio you need to increase" 9699e1ba4ccSOrit Wasserman " the cache size", 9702b9e3576SMarc-André Lureau .cmd = hmp_migrate_set_cache_size, 9719e1ba4ccSOrit Wasserman }, 9729e1ba4ccSOrit Wasserman 9739e1ba4ccSOrit WassermanSTEXI 9749e1ba4ccSOrit Wasserman@item migrate_set_cache_size @var{value} 9759e1ba4ccSOrit Wasserman@findex migrate_set_cache_size 9769e1ba4ccSOrit WassermanSet cache size to @var{value} (in bytes) for xbzrle migrations. 977acd0a093SLuiz CapitulinoETEXI 978acd0a093SLuiz Capitulino 979acd0a093SLuiz Capitulino { 980acd0a093SLuiz Capitulino .name = "migrate_set_speed", 981ed3d4a80SJes Sorensen .args_type = "value:o", 982acd0a093SLuiz Capitulino .params = "value", 983ed3d4a80SJes Sorensen .help = "set maximum speed (in bytes) for migrations. " 984ed3d4a80SJes Sorensen "Defaults to MB if no size suffix is specified, ie. B/K/M/G/T", 9852b9e3576SMarc-André Lureau .cmd = hmp_migrate_set_speed, 986acd0a093SLuiz Capitulino }, 987acd0a093SLuiz Capitulino 988acd0a093SLuiz CapitulinoSTEXI 989acd0a093SLuiz Capitulino@item migrate_set_speed @var{value} 990acd0a093SLuiz Capitulino@findex migrate_set_speed 991acd0a093SLuiz CapitulinoSet maximum speed to @var{value} (in bytes) for migrations. 992acd0a093SLuiz CapitulinoETEXI 993acd0a093SLuiz Capitulino 994acd0a093SLuiz Capitulino { 995acd0a093SLuiz Capitulino .name = "migrate_set_downtime", 996acd0a093SLuiz Capitulino .args_type = "value:T", 997acd0a093SLuiz Capitulino .params = "value", 998acd0a093SLuiz Capitulino .help = "set maximum tolerated downtime (in seconds) for migrations", 9992b9e3576SMarc-André Lureau .cmd = hmp_migrate_set_downtime, 1000acd0a093SLuiz Capitulino }, 1001acd0a093SLuiz Capitulino 1002acd0a093SLuiz CapitulinoSTEXI 1003acd0a093SLuiz Capitulino@item migrate_set_downtime @var{second} 1004acd0a093SLuiz Capitulino@findex migrate_set_downtime 1005acd0a093SLuiz CapitulinoSet maximum tolerated downtime (in seconds) for migration. 1006acd0a093SLuiz CapitulinoETEXI 1007acd0a093SLuiz Capitulino 1008f8882568SJes Sorensen { 100900458433SOrit Wasserman .name = "migrate_set_capability", 101000458433SOrit Wasserman .args_type = "capability:s,state:b", 101100458433SOrit Wasserman .params = "capability state", 101200458433SOrit Wasserman .help = "Enable/Disable the usage of a capability for migration", 10132b9e3576SMarc-André Lureau .cmd = hmp_migrate_set_capability, 1014c68a0409SHani Benhabiles .command_completion = migrate_set_capability_completion, 101500458433SOrit Wasserman }, 101600458433SOrit Wasserman 101700458433SOrit WassermanSTEXI 101800458433SOrit Wasserman@item migrate_set_capability @var{capability} @var{state} 101900458433SOrit Wasserman@findex migrate_set_capability 102000458433SOrit WassermanEnable/Disable the usage of a capability @var{capability} for migration. 102100458433SOrit WassermanETEXI 102200458433SOrit Wasserman 102300458433SOrit Wasserman { 102450e9a629SLiang Li .name = "migrate_set_parameter", 102569ef1f36SDaniel P. Berrange .args_type = "parameter:s,value:s", 102650e9a629SLiang Li .params = "parameter value", 102750e9a629SLiang Li .help = "Set the parameter for migration", 10282b9e3576SMarc-André Lureau .cmd = hmp_migrate_set_parameter, 102950e9a629SLiang Li .command_completion = migrate_set_parameter_completion, 103050e9a629SLiang Li }, 103150e9a629SLiang Li 103250e9a629SLiang LiSTEXI 103350e9a629SLiang Li@item migrate_set_parameter @var{parameter} @var{value} 103450e9a629SLiang Li@findex migrate_set_parameter 103550e9a629SLiang LiSet the parameter @var{parameter} for migration. 103650e9a629SLiang LiETEXI 103750e9a629SLiang Li 103850e9a629SLiang Li { 10394886a1bcSDr. David Alan Gilbert .name = "migrate_start_postcopy", 10404886a1bcSDr. David Alan Gilbert .args_type = "", 10414886a1bcSDr. David Alan Gilbert .params = "", 1042a54d340bSDr. David Alan Gilbert .help = "Followup to a migration command to switch the migration" 104332c3db5bSDr. David Alan Gilbert " to postcopy mode. The postcopy-ram capability must " 1044a54d340bSDr. David Alan Gilbert "be set before the original migration command.", 10452b9e3576SMarc-André Lureau .cmd = hmp_migrate_start_postcopy, 10464886a1bcSDr. David Alan Gilbert }, 10474886a1bcSDr. David Alan Gilbert 10484886a1bcSDr. David Alan GilbertSTEXI 10494886a1bcSDr. David Alan Gilbert@item migrate_start_postcopy 10504886a1bcSDr. David Alan Gilbert@findex migrate_start_postcopy 10514886a1bcSDr. David Alan GilbertSwitch in-progress migration to postcopy mode. Ignored after the end of 10524886a1bcSDr. David Alan Gilbertmigration (or once already in postcopy). 10534886a1bcSDr. David Alan GilbertETEXI 10544886a1bcSDr. David Alan Gilbert 10554886a1bcSDr. David Alan Gilbert { 1056d89e666eSzhanghailiang .name = "x_colo_lost_heartbeat", 1057d89e666eSzhanghailiang .args_type = "", 1058d89e666eSzhanghailiang .params = "", 1059d89e666eSzhanghailiang .help = "Tell COLO that heartbeat is lost,\n\t\t\t" 1060d89e666eSzhanghailiang "a failover or takeover is needed.", 1061d89e666eSzhanghailiang .cmd = hmp_x_colo_lost_heartbeat, 1062d89e666eSzhanghailiang }, 1063d89e666eSzhanghailiang 1064d89e666eSzhanghailiangSTEXI 1065d89e666eSzhanghailiang@item x_colo_lost_heartbeat 1066d89e666eSzhanghailiang@findex x_colo_lost_heartbeat 1067d89e666eSzhanghailiangTell COLO that heartbeat is lost, a failover or takeover is needed. 1068d89e666eSzhanghailiangETEXI 1069d89e666eSzhanghailiang 1070d89e666eSzhanghailiang { 10712ea720dbSJes Sorensen .name = "client_migrate_info", 10722ea720dbSJes Sorensen .args_type = "protocol:s,hostname:s,port:i?,tls-port:i?,cert-subject:s?", 10732ea720dbSJes Sorensen .params = "protocol hostname port tls-port cert-subject", 107413cadefbSMarkus Armbruster .help = "set migration information for remote display", 10752b9e3576SMarc-André Lureau .cmd = hmp_client_migrate_info, 1076f8882568SJes Sorensen }, 1077f8882568SJes Sorensen 1078f8882568SJes SorensenSTEXI 1079e866e239SGerd Hoffmann@item client_migrate_info @var{protocol} @var{hostname} @var{port} @var{tls-port} @var{cert-subject} 1080e866e239SGerd Hoffmann@findex client_migrate_info 108113cadefbSMarkus ArmbrusterSet migration information for remote display. This makes the server 108213cadefbSMarkus Armbrusterask the client to automatically reconnect using the new parameters 108313cadefbSMarkus Armbrusteronce migration finished successfully. Only implemented for SPICE. 1084e866e239SGerd HoffmannETEXI 1085e866e239SGerd Hoffmann 1086783e9b48SWen Congyang { 1087783e9b48SWen Congyang .name = "dump-guest-memory", 1088228de9cfSPeter Xu .args_type = "paging:-p,detach:-d,zlib:-z,lzo:-l,snappy:-s,filename:F,begin:i?,length:i?", 1089228de9cfSPeter Xu .params = "[-p] [-d] [-z|-l|-s] filename [begin length]", 1090c20499d9SQiao Nuohan .help = "dump guest memory into file 'filename'.\n\t\t\t" 1091c20499d9SQiao Nuohan "-p: do paging to get guest's memory mapping.\n\t\t\t" 1092228de9cfSPeter Xu "-d: return immediately (do not wait for completion).\n\t\t\t" 10931b7a0f75SQiao Nuohan "-z: dump in kdump-compressed format, with zlib compression.\n\t\t\t" 10941b7a0f75SQiao Nuohan "-l: dump in kdump-compressed format, with lzo compression.\n\t\t\t" 10951b7a0f75SQiao Nuohan "-s: dump in kdump-compressed format, with snappy compression.\n\t\t\t" 1096c20499d9SQiao Nuohan "begin: the starting physical address.\n\t\t\t" 1097c20499d9SQiao Nuohan "length: the memory size, in bytes.", 10982b9e3576SMarc-André Lureau .cmd = hmp_dump_guest_memory, 1099783e9b48SWen Congyang }, 1100783e9b48SWen Congyang 1101783e9b48SWen Congyang 1102783e9b48SWen CongyangSTEXI 1103c20499d9SQiao Nuohan@item dump-guest-memory [-p] @var{filename} @var{begin} @var{length} 11041b7a0f75SQiao Nuohan@item dump-guest-memory [-z|-l|-s] @var{filename} 1105783e9b48SWen Congyang@findex dump-guest-memory 1106783e9b48SWen CongyangDump guest memory to @var{protocol}. The file can be processed with crash or 11071b7a0f75SQiao Nuohangdb. Without -z|-l|-s, the dump format is ELF. 1108c20499d9SQiao Nuohan -p: do paging to get guest's memory mapping. 11091b7a0f75SQiao Nuohan -z: dump in kdump-compressed format, with zlib compression. 11101b7a0f75SQiao Nuohan -l: dump in kdump-compressed format, with lzo compression. 11111b7a0f75SQiao Nuohan -s: dump in kdump-compressed format, with snappy compression. 1112c20499d9SQiao Nuohan filename: dump file name. 1113783e9b48SWen Congyang begin: the starting physical address. It's optional, and should be 1114c20499d9SQiao Nuohan specified together with length. 1115783e9b48SWen Congyang length: the memory size, in bytes. It's optional, and should be specified 1116c20499d9SQiao Nuohan together with begin. 1117783e9b48SWen CongyangETEXI 1118783e9b48SWen Congyang 1119a4538a5cSJason J. Herne#if defined(TARGET_S390X) 1120a4538a5cSJason J. Herne { 1121a4538a5cSJason J. Herne .name = "dump-skeys", 1122a4538a5cSJason J. Herne .args_type = "filename:F", 1123a4538a5cSJason J. Herne .params = "", 1124a4538a5cSJason J. Herne .help = "Save guest storage keys into file 'filename'.\n", 11252b9e3576SMarc-André Lureau .cmd = hmp_dump_skeys, 1126a4538a5cSJason J. Herne }, 1127a4538a5cSJason J. Herne#endif 1128a4538a5cSJason J. Herne 1129a4538a5cSJason J. HerneSTEXI 1130a4538a5cSJason J. Herne@item dump-skeys @var{filename} 1131a4538a5cSJason J. Herne@findex dump-skeys 1132a4538a5cSJason J. HerneSave guest storage keys to a file. 1133a4538a5cSJason J. HerneETEXI 1134a4538a5cSJason J. Herne 1135f860d497SClaudio Imbrenda#if defined(TARGET_S390X) 1136f860d497SClaudio Imbrenda { 1137f860d497SClaudio Imbrenda .name = "migration_mode", 1138f860d497SClaudio Imbrenda .args_type = "mode:i", 1139f860d497SClaudio Imbrenda .params = "mode", 1140f860d497SClaudio Imbrenda .help = "Enables or disables migration mode\n", 1141f860d497SClaudio Imbrenda .cmd = hmp_migrationmode, 1142f860d497SClaudio Imbrenda }, 1143f860d497SClaudio Imbrenda#endif 1144f860d497SClaudio Imbrenda 1145f860d497SClaudio ImbrendaSTEXI 1146f860d497SClaudio Imbrenda@item migration_mode @var{mode} 1147f860d497SClaudio Imbrenda@findex migration_mode 1148f860d497SClaudio ImbrendaEnables or disables migration mode. 1149f860d497SClaudio ImbrendaETEXI 1150f860d497SClaudio Imbrenda 1151e866e239SGerd Hoffmann { 11522ea720dbSJes Sorensen .name = "snapshot_blkdev", 11536cc2a415SPaolo Bonzini .args_type = "reuse:-n,device:B,snapshot-file:s?,format:s?", 11546cc2a415SPaolo Bonzini .params = "[-n] device [new-image-file] [format]", 11552ea720dbSJes Sorensen .help = "initiates a live snapshot\n\t\t\t" 11562ea720dbSJes Sorensen "of device. If a new image file is specified, the\n\t\t\t" 11572ea720dbSJes Sorensen "new image file will become the new root image.\n\t\t\t" 11582ea720dbSJes Sorensen "If format is specified, the snapshot file will\n\t\t\t" 1159775ca88eSWenchao Xia "be created in that format.\n\t\t\t" 11606cc2a415SPaolo Bonzini "The default format is qcow2. The -n flag requests QEMU\n\t\t\t" 11616cc2a415SPaolo Bonzini "to reuse the image found in new-image-file, instead of\n\t\t\t" 11626cc2a415SPaolo Bonzini "recreating it from scratch.", 11632b9e3576SMarc-André Lureau .cmd = hmp_snapshot_blkdev, 1164e866e239SGerd Hoffmann }, 1165e866e239SGerd Hoffmann 1166e866e239SGerd HoffmannSTEXI 1167f8882568SJes Sorensen@item snapshot_blkdev 1168f8882568SJes Sorensen@findex snapshot_blkdev 1169f8882568SJes SorensenSnapshot device, using snapshot file as target if provided 1170f8882568SJes SorensenETEXI 1171f8882568SJes Sorensen 1172acd0a093SLuiz Capitulino { 1173775ca88eSWenchao Xia .name = "snapshot_blkdev_internal", 1174775ca88eSWenchao Xia .args_type = "device:B,name:s", 1175775ca88eSWenchao Xia .params = "device name", 1176775ca88eSWenchao Xia .help = "take an internal snapshot of device.\n\t\t\t" 1177775ca88eSWenchao Xia "The format of the image used by device must\n\t\t\t" 1178775ca88eSWenchao Xia "support it, such as qcow2.\n\t\t\t", 11792b9e3576SMarc-André Lureau .cmd = hmp_snapshot_blkdev_internal, 1180775ca88eSWenchao Xia }, 1181775ca88eSWenchao Xia 1182775ca88eSWenchao XiaSTEXI 1183775ca88eSWenchao Xia@item snapshot_blkdev_internal 1184775ca88eSWenchao Xia@findex snapshot_blkdev_internal 1185775ca88eSWenchao XiaTake an internal snapshot on device if it support 1186775ca88eSWenchao XiaETEXI 1187775ca88eSWenchao Xia 1188775ca88eSWenchao Xia { 11897a4ed2eeSWenchao Xia .name = "snapshot_delete_blkdev_internal", 11907a4ed2eeSWenchao Xia .args_type = "device:B,name:s,id:s?", 11917a4ed2eeSWenchao Xia .params = "device name [id]", 11927a4ed2eeSWenchao Xia .help = "delete an internal snapshot of device.\n\t\t\t" 11937a4ed2eeSWenchao Xia "If id is specified, qemu will try delete\n\t\t\t" 11947a4ed2eeSWenchao Xia "the snapshot matching both id and name.\n\t\t\t" 11957a4ed2eeSWenchao Xia "The format of the image used by device must\n\t\t\t" 11967a4ed2eeSWenchao Xia "support it, such as qcow2.\n\t\t\t", 11972b9e3576SMarc-André Lureau .cmd = hmp_snapshot_delete_blkdev_internal, 11987a4ed2eeSWenchao Xia }, 11997a4ed2eeSWenchao Xia 12007a4ed2eeSWenchao XiaSTEXI 12017a4ed2eeSWenchao Xia@item snapshot_delete_blkdev_internal 12027a4ed2eeSWenchao Xia@findex snapshot_delete_blkdev_internal 12037a4ed2eeSWenchao XiaDelete an internal snapshot on device if it support 12047a4ed2eeSWenchao XiaETEXI 12057a4ed2eeSWenchao Xia 12067a4ed2eeSWenchao Xia { 1207d9b902dbSPaolo Bonzini .name = "drive_mirror", 1208d9b902dbSPaolo Bonzini .args_type = "reuse:-n,full:-f,device:B,target:s,format:s?", 1209d9b902dbSPaolo Bonzini .params = "[-n] [-f] device target [format]", 1210d9b902dbSPaolo Bonzini .help = "initiates live storage\n\t\t\t" 1211d9b902dbSPaolo Bonzini "migration for a device. The device's contents are\n\t\t\t" 1212d9b902dbSPaolo Bonzini "copied to the new image file, including data that\n\t\t\t" 1213d9b902dbSPaolo Bonzini "is written after the command is started.\n\t\t\t" 1214d9b902dbSPaolo Bonzini "The -n flag requests QEMU to reuse the image found\n\t\t\t" 1215d9b902dbSPaolo Bonzini "in new-image-file, instead of recreating it from scratch.\n\t\t\t" 1216d9b902dbSPaolo Bonzini "The -f flag requests QEMU to copy the whole disk,\n\t\t\t" 1217d9b902dbSPaolo Bonzini "so that the result does not need a backing file.\n\t\t\t", 12182b9e3576SMarc-André Lureau .cmd = hmp_drive_mirror, 1219d9b902dbSPaolo Bonzini }, 1220d9b902dbSPaolo BonziniSTEXI 1221d9b902dbSPaolo Bonzini@item drive_mirror 1222d9b902dbSPaolo Bonzini@findex drive_mirror 1223d9b902dbSPaolo BonziniStart mirroring a block device's writes to a new destination, 1224d9b902dbSPaolo Bonziniusing the specified target. 1225d9b902dbSPaolo BonziniETEXI 1226d9b902dbSPaolo Bonzini 1227d9b902dbSPaolo Bonzini { 1228de90930aSStefan Hajnoczi .name = "drive_backup", 122913b9414bSPavel Butsykin .args_type = "reuse:-n,full:-f,compress:-c,device:B,target:s,format:s?", 123013b9414bSPavel Butsykin .params = "[-n] [-f] [-c] device target [format]", 1231de90930aSStefan Hajnoczi .help = "initiates a point-in-time\n\t\t\t" 1232de90930aSStefan Hajnoczi "copy for a device. The device's contents are\n\t\t\t" 1233de90930aSStefan Hajnoczi "copied to the new image file, excluding data that\n\t\t\t" 1234de90930aSStefan Hajnoczi "is written after the command is started.\n\t\t\t" 1235de90930aSStefan Hajnoczi "The -n flag requests QEMU to reuse the image found\n\t\t\t" 1236de90930aSStefan Hajnoczi "in new-image-file, instead of recreating it from scratch.\n\t\t\t" 1237de90930aSStefan Hajnoczi "The -f flag requests QEMU to copy the whole disk,\n\t\t\t" 123813b9414bSPavel Butsykin "so that the result does not need a backing file.\n\t\t\t" 123913b9414bSPavel Butsykin "The -c flag requests QEMU to compress backup data\n\t\t\t" 124013b9414bSPavel Butsykin "(if the target format supports it).\n\t\t\t", 12412b9e3576SMarc-André Lureau .cmd = hmp_drive_backup, 1242de90930aSStefan Hajnoczi }, 1243de90930aSStefan HajnocziSTEXI 1244de90930aSStefan Hajnoczi@item drive_backup 1245de90930aSStefan Hajnoczi@findex drive_backup 1246de90930aSStefan HajnocziStart a point-in-time copy of a block device to a specificed target. 1247de90930aSStefan HajnocziETEXI 1248de90930aSStefan Hajnoczi 1249de90930aSStefan Hajnoczi { 1250acd0a093SLuiz Capitulino .name = "drive_add", 1251abb21ac3SKevin Wolf .args_type = "node:-n,pci_addr:s,opts:s", 1252abb21ac3SKevin Wolf .params = "[-n] [[<domain>:]<bus>:]<slot>\n" 1253acd0a093SLuiz Capitulino "[file=file][,if=type][,bus=n]\n" 1254fb0490f6SStefan Hajnoczi "[,unit=m][,media=d][,index=i]\n" 1255acd0a093SLuiz Capitulino "[,cyls=c,heads=h,secs=s[,trans=t]]\n" 1256fb0490f6SStefan Hajnoczi "[,snapshot=on|off][,cache=on|off]\n" 1257fb0490f6SStefan Hajnoczi "[,readonly=on|off][,copy-on-read=on|off]", 1258acd0a093SLuiz Capitulino .help = "add drive to PCI storage controller", 12592b9e3576SMarc-André Lureau .cmd = hmp_drive_add, 1260acd0a093SLuiz Capitulino }, 1261acd0a093SLuiz Capitulino 1262acd0a093SLuiz CapitulinoSTEXI 1263acd0a093SLuiz Capitulino@item drive_add 1264acd0a093SLuiz Capitulino@findex drive_add 1265acd0a093SLuiz CapitulinoAdd drive to PCI storage controller. 1266acd0a093SLuiz CapitulinoETEXI 1267acd0a093SLuiz Capitulino 1268acd0a093SLuiz Capitulino { 12692ae63bdaSIsaku Yamahata .name = "pcie_aer_inject_error", 12702ae63bdaSIsaku Yamahata .args_type = "advisory_non_fatal:-a,correctable:-c," 12712ae63bdaSIsaku Yamahata "id:s,error_status:s," 12722ae63bdaSIsaku Yamahata "header0:i?,header1:i?,header2:i?,header3:i?," 12732ae63bdaSIsaku Yamahata "prefix0:i?,prefix1:i?,prefix2:i?,prefix3:i?", 12742ae63bdaSIsaku Yamahata .params = "[-a] [-c] id " 12752ae63bdaSIsaku Yamahata "<error_status> [<tlp header> [<tlp header prefix>]]", 12762ae63bdaSIsaku Yamahata .help = "inject pcie aer error\n\t\t\t" 12772ae63bdaSIsaku Yamahata " -a for advisory non fatal error\n\t\t\t" 12782ae63bdaSIsaku Yamahata " -c for correctable error\n\t\t\t" 12792ae63bdaSIsaku Yamahata "<id> = qdev device id\n\t\t\t" 12802ae63bdaSIsaku Yamahata "<error_status> = error string or 32bit\n\t\t\t" 12812ae63bdaSIsaku Yamahata "<tlb header> = 32bit x 4\n\t\t\t" 12822ae63bdaSIsaku Yamahata "<tlb header prefix> = 32bit x 4", 12832b9e3576SMarc-André Lureau .cmd = hmp_pcie_aer_inject_error, 12842ae63bdaSIsaku Yamahata }, 12852ae63bdaSIsaku Yamahata 12862ae63bdaSIsaku YamahataSTEXI 12872ae63bdaSIsaku Yamahata@item pcie_aer_inject_error 12882ae63bdaSIsaku Yamahata@findex pcie_aer_inject_error 12892ae63bdaSIsaku YamahataInject PCIe AER error 12902ae63bdaSIsaku YamahataETEXI 12912ae63bdaSIsaku Yamahata 12922ae63bdaSIsaku Yamahata { 1293acd0a093SLuiz Capitulino .name = "host_net_add", 1294acd0a093SLuiz Capitulino .args_type = "device:s,opts:s?", 129503ce5744SNikolay Nikolaev .params = "tap|user|socket|vde|netmap|bridge|vhost-user|dump [options]", 1296559964a1SThomas Huth .help = "add host VLAN client (deprecated, use netdev_add instead)", 12972b9e3576SMarc-André Lureau .cmd = hmp_host_net_add, 1298e3bb532cSHani Benhabiles .command_completion = host_net_add_completion, 1299acd0a093SLuiz Capitulino }, 1300acd0a093SLuiz Capitulino 1301acd0a093SLuiz CapitulinoSTEXI 1302acd0a093SLuiz Capitulino@item host_net_add 1303acd0a093SLuiz Capitulino@findex host_net_add 1304559964a1SThomas HuthAdd host VLAN client. Deprecated, please use @code{netdev_add} instead. 1305acd0a093SLuiz CapitulinoETEXI 1306acd0a093SLuiz Capitulino 1307acd0a093SLuiz Capitulino { 1308acd0a093SLuiz Capitulino .name = "host_net_remove", 1309acd0a093SLuiz Capitulino .args_type = "vlan_id:i,device:s", 1310acd0a093SLuiz Capitulino .params = "vlan_id name", 1311559964a1SThomas Huth .help = "remove host VLAN client (deprecated, use netdev_del instead)", 13122b9e3576SMarc-André Lureau .cmd = hmp_host_net_remove, 1313ddd6b45cSHani Benhabiles .command_completion = host_net_remove_completion, 1314acd0a093SLuiz Capitulino }, 1315acd0a093SLuiz Capitulino 1316acd0a093SLuiz CapitulinoSTEXI 1317acd0a093SLuiz Capitulino@item host_net_remove 1318acd0a093SLuiz Capitulino@findex host_net_remove 1319559964a1SThomas HuthRemove host VLAN client. Deprecated, please use @code{netdev_del} instead. 1320acd0a093SLuiz CapitulinoETEXI 1321acd0a093SLuiz Capitulino 1322acd0a093SLuiz Capitulino { 1323acd0a093SLuiz Capitulino .name = "netdev_add", 1324acd0a093SLuiz Capitulino .args_type = "netdev:O", 132503ce5744SNikolay Nikolaev .params = "[user|tap|socket|vde|bridge|hubport|netmap|vhost-user],id=str[,prop=value][,...]", 1326acd0a093SLuiz Capitulino .help = "add host network device", 13272b9e3576SMarc-André Lureau .cmd = hmp_netdev_add, 1328b162b49aSHani Benhabiles .command_completion = netdev_add_completion, 1329acd0a093SLuiz Capitulino }, 1330acd0a093SLuiz Capitulino 1331acd0a093SLuiz CapitulinoSTEXI 1332acd0a093SLuiz Capitulino@item netdev_add 1333acd0a093SLuiz Capitulino@findex netdev_add 1334acd0a093SLuiz CapitulinoAdd host network device. 1335acd0a093SLuiz CapitulinoETEXI 1336acd0a093SLuiz Capitulino 1337acd0a093SLuiz Capitulino { 1338acd0a093SLuiz Capitulino .name = "netdev_del", 1339acd0a093SLuiz Capitulino .args_type = "id:s", 1340acd0a093SLuiz Capitulino .params = "id", 1341acd0a093SLuiz Capitulino .help = "remove host network device", 13422b9e3576SMarc-André Lureau .cmd = hmp_netdev_del, 134311b389f2SHani Benhabiles .command_completion = netdev_del_completion, 1344acd0a093SLuiz Capitulino }, 1345acd0a093SLuiz Capitulino 1346acd0a093SLuiz CapitulinoSTEXI 1347acd0a093SLuiz Capitulino@item netdev_del 1348acd0a093SLuiz Capitulino@findex netdev_del 1349acd0a093SLuiz CapitulinoRemove host network device. 1350acd0a093SLuiz CapitulinoETEXI 1351acd0a093SLuiz Capitulino 1352ab2d0531SPaolo Bonzini { 1353cff8b2c6SPaolo Bonzini .name = "object_add", 1354cff8b2c6SPaolo Bonzini .args_type = "object:O", 1355cff8b2c6SPaolo Bonzini .params = "[qom-type=]type,id=str[,prop=value][,...]", 1356cff8b2c6SPaolo Bonzini .help = "create QOM object", 13572b9e3576SMarc-André Lureau .cmd = hmp_object_add, 1358bfa40f77SHani Benhabiles .command_completion = object_add_completion, 1359cff8b2c6SPaolo Bonzini }, 1360cff8b2c6SPaolo Bonzini 1361cff8b2c6SPaolo BonziniSTEXI 1362cff8b2c6SPaolo Bonzini@item object_add 1363cff8b2c6SPaolo Bonzini@findex object_add 1364cff8b2c6SPaolo BonziniCreate QOM object. 1365cff8b2c6SPaolo BonziniETEXI 1366cff8b2c6SPaolo Bonzini 1367cff8b2c6SPaolo Bonzini { 1368ab2d0531SPaolo Bonzini .name = "object_del", 1369ab2d0531SPaolo Bonzini .args_type = "id:s", 1370ab2d0531SPaolo Bonzini .params = "id", 1371ab2d0531SPaolo Bonzini .help = "destroy QOM object", 13722b9e3576SMarc-André Lureau .cmd = hmp_object_del, 1373bfa40f77SHani Benhabiles .command_completion = object_del_completion, 1374ab2d0531SPaolo Bonzini }, 1375ab2d0531SPaolo Bonzini 1376ab2d0531SPaolo BonziniSTEXI 1377ab2d0531SPaolo Bonzini@item object_del 1378ab2d0531SPaolo Bonzini@findex object_del 1379ab2d0531SPaolo BonziniDestroy QOM object. 1380ab2d0531SPaolo BonziniETEXI 1381ab2d0531SPaolo Bonzini 1382acd0a093SLuiz Capitulino#ifdef CONFIG_SLIRP 1383acd0a093SLuiz Capitulino { 1384acd0a093SLuiz Capitulino .name = "hostfwd_add", 1385acd0a093SLuiz Capitulino .args_type = "arg1:s,arg2:s?,arg3:s?", 1386acd0a093SLuiz Capitulino .params = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport", 1387acd0a093SLuiz Capitulino .help = "redirect TCP or UDP connections from host to guest (requires -net user)", 13882b9e3576SMarc-André Lureau .cmd = hmp_hostfwd_add, 1389acd0a093SLuiz Capitulino }, 1390acd0a093SLuiz Capitulino#endif 1391acd0a093SLuiz CapitulinoSTEXI 1392acd0a093SLuiz Capitulino@item hostfwd_add 1393acd0a093SLuiz Capitulino@findex hostfwd_add 1394acd0a093SLuiz CapitulinoRedirect TCP or UDP connections from host to guest (requires -net user). 1395acd0a093SLuiz CapitulinoETEXI 1396acd0a093SLuiz Capitulino 1397acd0a093SLuiz Capitulino#ifdef CONFIG_SLIRP 1398acd0a093SLuiz Capitulino { 1399acd0a093SLuiz Capitulino .name = "hostfwd_remove", 1400acd0a093SLuiz Capitulino .args_type = "arg1:s,arg2:s?,arg3:s?", 1401acd0a093SLuiz Capitulino .params = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport", 1402acd0a093SLuiz Capitulino .help = "remove host-to-guest TCP or UDP redirection", 14032b9e3576SMarc-André Lureau .cmd = hmp_hostfwd_remove, 1404acd0a093SLuiz Capitulino }, 1405acd0a093SLuiz Capitulino 1406acd0a093SLuiz Capitulino#endif 1407acd0a093SLuiz CapitulinoSTEXI 1408acd0a093SLuiz Capitulino@item hostfwd_remove 1409acd0a093SLuiz Capitulino@findex hostfwd_remove 1410acd0a093SLuiz CapitulinoRemove host-to-guest TCP or UDP redirection. 1411acd0a093SLuiz CapitulinoETEXI 1412acd0a093SLuiz Capitulino 1413acd0a093SLuiz Capitulino { 1414acd0a093SLuiz Capitulino .name = "balloon", 1415acd0a093SLuiz Capitulino .args_type = "value:M", 1416acd0a093SLuiz Capitulino .params = "target", 1417acd0a093SLuiz Capitulino .help = "request VM to change its memory allocation (in MB)", 14182b9e3576SMarc-André Lureau .cmd = hmp_balloon, 1419acd0a093SLuiz Capitulino }, 1420acd0a093SLuiz Capitulino 1421acd0a093SLuiz CapitulinoSTEXI 1422acd0a093SLuiz Capitulino@item balloon @var{value} 1423acd0a093SLuiz Capitulino@findex balloon 1424acd0a093SLuiz CapitulinoRequest VM to change its memory allocation to @var{value} (in MB). 1425acd0a093SLuiz CapitulinoETEXI 1426acd0a093SLuiz Capitulino 1427acd0a093SLuiz Capitulino { 1428acd0a093SLuiz Capitulino .name = "set_link", 1429acd0a093SLuiz Capitulino .args_type = "name:s,up:b", 1430acd0a093SLuiz Capitulino .params = "name on|off", 1431acd0a093SLuiz Capitulino .help = "change the link status of a network adapter", 14322b9e3576SMarc-André Lureau .cmd = hmp_set_link, 143340d19394SHani Benhabiles .command_completion = set_link_completion, 1434acd0a093SLuiz Capitulino }, 1435acd0a093SLuiz Capitulino 1436acd0a093SLuiz CapitulinoSTEXI 1437acd0a093SLuiz Capitulino@item set_link @var{name} [on|off] 1438acd0a093SLuiz Capitulino@findex set_link 1439acd0a093SLuiz CapitulinoSwitch link @var{name} on (i.e. up) or off (i.e. down). 1440acd0a093SLuiz CapitulinoETEXI 1441acd0a093SLuiz Capitulino 1442acd0a093SLuiz Capitulino { 1443acd0a093SLuiz Capitulino .name = "watchdog_action", 1444acd0a093SLuiz Capitulino .args_type = "action:s", 1445acd0a093SLuiz Capitulino .params = "[reset|shutdown|poweroff|pause|debug|none]", 1446acd0a093SLuiz Capitulino .help = "change watchdog action", 14472b9e3576SMarc-André Lureau .cmd = hmp_watchdog_action, 1448d0ece345SHani Benhabiles .command_completion = watchdog_action_completion, 1449acd0a093SLuiz Capitulino }, 1450acd0a093SLuiz Capitulino 1451acd0a093SLuiz CapitulinoSTEXI 1452acd0a093SLuiz Capitulino@item watchdog_action 1453acd0a093SLuiz Capitulino@findex watchdog_action 1454acd0a093SLuiz CapitulinoChange watchdog action. 1455acd0a093SLuiz CapitulinoETEXI 1456acd0a093SLuiz Capitulino 1457acd0a093SLuiz Capitulino { 1458acd0a093SLuiz Capitulino .name = "acl_show", 1459acd0a093SLuiz Capitulino .args_type = "aclname:s", 1460acd0a093SLuiz Capitulino .params = "aclname", 1461acd0a093SLuiz Capitulino .help = "list rules in the access control list", 14622b9e3576SMarc-André Lureau .cmd = hmp_acl_show, 1463acd0a093SLuiz Capitulino }, 1464acd0a093SLuiz Capitulino 1465acd0a093SLuiz CapitulinoSTEXI 1466acd0a093SLuiz Capitulino@item acl_show @var{aclname} 1467acd0a093SLuiz Capitulino@findex acl_show 1468acd0a093SLuiz CapitulinoList all the matching rules in the access control list, and the default 1469acd0a093SLuiz Capitulinopolicy. There are currently two named access control lists, 1470acd0a093SLuiz Capitulino@var{vnc.x509dname} and @var{vnc.username} matching on the x509 client 1471acd0a093SLuiz Capitulinocertificate distinguished name, and SASL username respectively. 1472acd0a093SLuiz CapitulinoETEXI 1473acd0a093SLuiz Capitulino 1474acd0a093SLuiz Capitulino { 1475acd0a093SLuiz Capitulino .name = "acl_policy", 1476acd0a093SLuiz Capitulino .args_type = "aclname:s,policy:s", 1477acd0a093SLuiz Capitulino .params = "aclname allow|deny", 1478acd0a093SLuiz Capitulino .help = "set default access control list policy", 14792b9e3576SMarc-André Lureau .cmd = hmp_acl_policy, 1480acd0a093SLuiz Capitulino }, 1481acd0a093SLuiz Capitulino 1482acd0a093SLuiz CapitulinoSTEXI 1483acd0a093SLuiz Capitulino@item acl_policy @var{aclname} @code{allow|deny} 1484acd0a093SLuiz Capitulino@findex acl_policy 1485acd0a093SLuiz CapitulinoSet the default access control list policy, used in the event that 1486acd0a093SLuiz Capitulinonone of the explicit rules match. The default policy at startup is 1487acd0a093SLuiz Capitulinoalways @code{deny}. 1488acd0a093SLuiz CapitulinoETEXI 1489acd0a093SLuiz Capitulino 1490acd0a093SLuiz Capitulino { 1491acd0a093SLuiz Capitulino .name = "acl_add", 1492acd0a093SLuiz Capitulino .args_type = "aclname:s,match:s,policy:s,index:i?", 1493acd0a093SLuiz Capitulino .params = "aclname match allow|deny [index]", 1494acd0a093SLuiz Capitulino .help = "add a match rule to the access control list", 14952b9e3576SMarc-André Lureau .cmd = hmp_acl_add, 1496acd0a093SLuiz Capitulino }, 1497acd0a093SLuiz Capitulino 1498acd0a093SLuiz CapitulinoSTEXI 1499acd0a093SLuiz Capitulino@item acl_add @var{aclname} @var{match} @code{allow|deny} [@var{index}] 1500acd0a093SLuiz Capitulino@findex acl_add 1501acd0a093SLuiz CapitulinoAdd a match rule to the access control list, allowing or denying access. 1502acd0a093SLuiz CapitulinoThe match will normally be an exact username or x509 distinguished name, 1503acd0a093SLuiz Capitulinobut can optionally include wildcard globs. eg @code{*@@EXAMPLE.COM} to 1504acd0a093SLuiz Capitulinoallow all users in the @code{EXAMPLE.COM} kerberos realm. The match will 1505acd0a093SLuiz Capitulinonormally be appended to the end of the ACL, but can be inserted 1506acd0a093SLuiz Capitulinoearlier in the list if the optional @var{index} parameter is supplied. 1507acd0a093SLuiz CapitulinoETEXI 1508acd0a093SLuiz Capitulino 1509acd0a093SLuiz Capitulino { 1510acd0a093SLuiz Capitulino .name = "acl_remove", 1511acd0a093SLuiz Capitulino .args_type = "aclname:s,match:s", 1512acd0a093SLuiz Capitulino .params = "aclname match", 1513acd0a093SLuiz Capitulino .help = "remove a match rule from the access control list", 15142b9e3576SMarc-André Lureau .cmd = hmp_acl_remove, 1515acd0a093SLuiz Capitulino }, 1516acd0a093SLuiz Capitulino 1517acd0a093SLuiz CapitulinoSTEXI 1518acd0a093SLuiz Capitulino@item acl_remove @var{aclname} @var{match} 1519acd0a093SLuiz Capitulino@findex acl_remove 1520acd0a093SLuiz CapitulinoRemove the specified match rule from the access control list. 1521acd0a093SLuiz CapitulinoETEXI 1522acd0a093SLuiz Capitulino 1523acd0a093SLuiz Capitulino { 1524acd0a093SLuiz Capitulino .name = "acl_reset", 1525acd0a093SLuiz Capitulino .args_type = "aclname:s", 1526acd0a093SLuiz Capitulino .params = "aclname", 1527acd0a093SLuiz Capitulino .help = "reset the access control list", 15282b9e3576SMarc-André Lureau .cmd = hmp_acl_reset, 1529acd0a093SLuiz Capitulino }, 1530acd0a093SLuiz Capitulino 1531acd0a093SLuiz CapitulinoSTEXI 1532acd0a093SLuiz Capitulino@item acl_reset @var{aclname} 1533acd0a093SLuiz Capitulino@findex acl_reset 1534acd0a093SLuiz CapitulinoRemove all matches from the access control list, and set the default 1535acd0a093SLuiz Capitulinopolicy back to @code{deny}. 1536acd0a093SLuiz CapitulinoETEXI 1537acd0a093SLuiz Capitulino 15384057725fSPaolo Bonzini { 15394057725fSPaolo Bonzini .name = "nbd_server_start", 15404057725fSPaolo Bonzini .args_type = "all:-a,writable:-w,uri:s", 15414057725fSPaolo Bonzini .params = "nbd_server_start [-a] [-w] host:port", 15424057725fSPaolo Bonzini .help = "serve block devices on the given host and port", 15432b9e3576SMarc-André Lureau .cmd = hmp_nbd_server_start, 15444057725fSPaolo Bonzini }, 15454057725fSPaolo BonziniSTEXI 15464057725fSPaolo Bonzini@item nbd_server_start @var{host}:@var{port} 15474057725fSPaolo Bonzini@findex nbd_server_start 15484057725fSPaolo BonziniStart an NBD server on the given host and/or port. If the @option{-a} 15494057725fSPaolo Bonzinioption is included, all of the virtual machine's block devices that 15504057725fSPaolo Bonzinihave an inserted media on them are automatically exported; in this case, 15514057725fSPaolo Bonzinithe @option{-w} option makes the devices writable too. 15524057725fSPaolo BonziniETEXI 15534057725fSPaolo Bonzini 15544057725fSPaolo Bonzini { 15554057725fSPaolo Bonzini .name = "nbd_server_add", 1556dba49323SEric Blake .args_type = "writable:-w,device:B,name:s?", 1557dba49323SEric Blake .params = "nbd_server_add [-w] device [name]", 15584057725fSPaolo Bonzini .help = "export a block device via NBD", 15592b9e3576SMarc-André Lureau .cmd = hmp_nbd_server_add, 15604057725fSPaolo Bonzini }, 15614057725fSPaolo BonziniSTEXI 1562dba49323SEric Blake@item nbd_server_add @var{device} [ @var{name} ] 15634057725fSPaolo Bonzini@findex nbd_server_add 15644057725fSPaolo BonziniExport a block device through QEMU's NBD server, which must be started 15654057725fSPaolo Bonzinibeforehand with @command{nbd_server_start}. The @option{-w} option makes the 1566dba49323SEric Blakeexported device writable too. The export name is controlled by @var{name}, 1567dba49323SEric Blakedefaulting to @var{device}. 15684057725fSPaolo BonziniETEXI 15694057725fSPaolo Bonzini 15704057725fSPaolo Bonzini { 1571*08fb10a7SEric Blake .name = "nbd_server_remove", 1572*08fb10a7SEric Blake .args_type = "force:-f,name:s", 1573*08fb10a7SEric Blake .params = "nbd_server_remove [-f] name", 1574*08fb10a7SEric Blake .help = "remove an export previously exposed via NBD", 1575*08fb10a7SEric Blake .cmd = hmp_nbd_server_remove, 1576*08fb10a7SEric Blake }, 1577*08fb10a7SEric BlakeSTEXI 1578*08fb10a7SEric Blake@item nbd_server_remove [-f] @var{name} 1579*08fb10a7SEric Blake@findex nbd_server_remove 1580*08fb10a7SEric BlakeStop exporting a block device through QEMU's NBD server, which was 1581*08fb10a7SEric Blakepreviously started with @command{nbd_server_add}. The @option{-f} 1582*08fb10a7SEric Blakeoption forces the server to drop the export immediately even if 1583*08fb10a7SEric Blakeclients are connected; otherwise the command fails unless there are no 1584*08fb10a7SEric Blakeclients. 1585*08fb10a7SEric BlakeETEXI 1586*08fb10a7SEric Blake 1587*08fb10a7SEric Blake { 15884057725fSPaolo Bonzini .name = "nbd_server_stop", 15894057725fSPaolo Bonzini .args_type = "", 15904057725fSPaolo Bonzini .params = "nbd_server_stop", 15914057725fSPaolo Bonzini .help = "stop serving block devices using the NBD protocol", 15922b9e3576SMarc-André Lureau .cmd = hmp_nbd_server_stop, 15934057725fSPaolo Bonzini }, 15944057725fSPaolo BonziniSTEXI 15954057725fSPaolo Bonzini@item nbd_server_stop 15964057725fSPaolo Bonzini@findex nbd_server_stop 15974057725fSPaolo BonziniStop the QEMU embedded NBD server. 15984057725fSPaolo BonziniETEXI 15994057725fSPaolo Bonzini 16004057725fSPaolo Bonzini 1601acd0a093SLuiz Capitulino#if defined(TARGET_I386) 1602acd0a093SLuiz Capitulino 1603acd0a093SLuiz Capitulino { 1604acd0a093SLuiz Capitulino .name = "mce", 160531ce5e0cSJin Dongming .args_type = "broadcast:-b,cpu_index:i,bank:i,status:l,mcg_status:l,addr:l,misc:l", 160631ce5e0cSJin Dongming .params = "[-b] cpu bank status mcgstatus addr misc", 160731ce5e0cSJin Dongming .help = "inject a MCE on the given CPU [and broadcast to other CPUs with -b option]", 16082b9e3576SMarc-André Lureau .cmd = hmp_mce, 1609acd0a093SLuiz Capitulino }, 1610acd0a093SLuiz Capitulino 1611acd0a093SLuiz Capitulino#endif 1612acd0a093SLuiz CapitulinoSTEXI 1613acd0a093SLuiz Capitulino@item mce @var{cpu} @var{bank} @var{status} @var{mcgstatus} @var{addr} @var{misc} 1614acd0a093SLuiz Capitulino@findex mce (x86) 1615acd0a093SLuiz CapitulinoInject an MCE on the given CPU (x86 only). 1616acd0a093SLuiz CapitulinoETEXI 1617acd0a093SLuiz Capitulino 1618acd0a093SLuiz Capitulino { 1619acd0a093SLuiz Capitulino .name = "getfd", 1620acd0a093SLuiz Capitulino .args_type = "fdname:s", 1621acd0a093SLuiz Capitulino .params = "getfd name", 1622acd0a093SLuiz Capitulino .help = "receive a file descriptor via SCM rights and assign it a name", 16232b9e3576SMarc-André Lureau .cmd = hmp_getfd, 1624acd0a093SLuiz Capitulino }, 1625acd0a093SLuiz Capitulino 1626acd0a093SLuiz CapitulinoSTEXI 1627acd0a093SLuiz Capitulino@item getfd @var{fdname} 1628acd0a093SLuiz Capitulino@findex getfd 1629acd0a093SLuiz CapitulinoIf a file descriptor is passed alongside this command using the SCM_RIGHTS 1630acd0a093SLuiz Capitulinomechanism on unix sockets, it is stored using the name @var{fdname} for 1631acd0a093SLuiz Capitulinolater use by other monitor commands. 1632acd0a093SLuiz CapitulinoETEXI 1633acd0a093SLuiz Capitulino 1634acd0a093SLuiz Capitulino { 1635acd0a093SLuiz Capitulino .name = "closefd", 1636acd0a093SLuiz Capitulino .args_type = "fdname:s", 1637acd0a093SLuiz Capitulino .params = "closefd name", 1638acd0a093SLuiz Capitulino .help = "close a file descriptor previously passed via SCM rights", 16392b9e3576SMarc-André Lureau .cmd = hmp_closefd, 1640acd0a093SLuiz Capitulino }, 1641acd0a093SLuiz Capitulino 1642acd0a093SLuiz CapitulinoSTEXI 1643acd0a093SLuiz Capitulino@item closefd @var{fdname} 1644acd0a093SLuiz Capitulino@findex closefd 1645acd0a093SLuiz CapitulinoClose the file descriptor previously assigned to @var{fdname} using the 1646acd0a093SLuiz Capitulino@code{getfd} command. This is only needed if the file descriptor was never 1647acd0a093SLuiz Capitulinoused by another monitor command. 1648acd0a093SLuiz CapitulinoETEXI 1649acd0a093SLuiz Capitulino 1650acd0a093SLuiz Capitulino { 1651acd0a093SLuiz Capitulino .name = "block_passwd", 1652acd0a093SLuiz Capitulino .args_type = "device:B,password:s", 1653acd0a093SLuiz Capitulino .params = "block_passwd device password", 1654acd0a093SLuiz Capitulino .help = "set the password of encrypted block devices", 16552b9e3576SMarc-André Lureau .cmd = hmp_block_passwd, 1656acd0a093SLuiz Capitulino }, 1657acd0a093SLuiz Capitulino 1658acd0a093SLuiz CapitulinoSTEXI 1659b76d799eSMarkus Armbruster@item block_passwd @var{device} @var{password} 1660b76d799eSMarkus Armbruster@findex block_passwd 1661b76d799eSMarkus ArmbrusterSet the encrypted device @var{device} password to @var{password} 1662c01c214bSDaniel P. Berrange 1663c01c214bSDaniel P. BerrangeThis command is now obsolete and will always return an error since 2.10 1664727f005eSZhi Yong WuETEXI 1665727f005eSZhi Yong Wu 1666727f005eSZhi Yong Wu { 1667727f005eSZhi Yong Wu .name = "block_set_io_throttle", 1668727f005eSZhi Yong Wu .args_type = "device:B,bps:l,bps_rd:l,bps_wr:l,iops:l,iops_rd:l,iops_wr:l", 1669727f005eSZhi Yong Wu .params = "device bps bps_rd bps_wr iops iops_rd iops_wr", 1670727f005eSZhi Yong Wu .help = "change I/O throttle limits for a block drive", 16712b9e3576SMarc-André Lureau .cmd = hmp_block_set_io_throttle, 1672727f005eSZhi Yong Wu }, 1673727f005eSZhi Yong Wu 1674727f005eSZhi Yong WuSTEXI 1675b76d799eSMarkus Armbruster@item block_set_io_throttle @var{device} @var{bps} @var{bps_rd} @var{bps_wr} @var{iops} @var{iops_rd} @var{iops_wr} 1676b76d799eSMarkus Armbruster@findex block_set_io_throttle 1677b76d799eSMarkus ArmbrusterChange 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} 1678acd0a093SLuiz CapitulinoETEXI 1679acd0a093SLuiz Capitulino 1680acd0a093SLuiz Capitulino { 16817572150cSGerd Hoffmann .name = "set_password", 16827572150cSGerd Hoffmann .args_type = "protocol:s,password:s,connected:s?", 16837572150cSGerd Hoffmann .params = "protocol password action-if-connected", 16847572150cSGerd Hoffmann .help = "set spice/vnc password", 16852b9e3576SMarc-André Lureau .cmd = hmp_set_password, 16867572150cSGerd Hoffmann }, 16877572150cSGerd Hoffmann 16887572150cSGerd HoffmannSTEXI 16897572150cSGerd Hoffmann@item set_password [ vnc | spice ] password [ action-if-connected ] 16907572150cSGerd Hoffmann@findex set_password 16917572150cSGerd HoffmannChange spice/vnc password. Use zero to make the password stay valid 16927572150cSGerd Hoffmannforever. @var{action-if-connected} specifies what should happen in 16937572150cSGerd Hoffmanncase a connection is established: @var{fail} makes the password change 16947572150cSGerd Hoffmannfail. @var{disconnect} changes the password and disconnects the 16957572150cSGerd Hoffmannclient. @var{keep} changes the password and keeps the connection up. 16967572150cSGerd Hoffmann@var{keep} is the default. 16977572150cSGerd HoffmannETEXI 16987572150cSGerd Hoffmann 16997572150cSGerd Hoffmann { 17007572150cSGerd Hoffmann .name = "expire_password", 17017572150cSGerd Hoffmann .args_type = "protocol:s,time:s", 17027572150cSGerd Hoffmann .params = "protocol time", 17037572150cSGerd Hoffmann .help = "set spice/vnc password expire-time", 17042b9e3576SMarc-André Lureau .cmd = hmp_expire_password, 17057572150cSGerd Hoffmann }, 17067572150cSGerd Hoffmann 17077572150cSGerd HoffmannSTEXI 17087572150cSGerd Hoffmann@item expire_password [ vnc | spice ] expire-time 17097572150cSGerd Hoffmann@findex expire_password 17107572150cSGerd HoffmannSpecify when a password for spice/vnc becomes 17117572150cSGerd Hoffmanninvalid. @var{expire-time} accepts: 17127572150cSGerd Hoffmann 17137572150cSGerd Hoffmann@table @var 17147572150cSGerd Hoffmann@item now 17157572150cSGerd HoffmannInvalidate password instantly. 17167572150cSGerd Hoffmann 17177572150cSGerd Hoffmann@item never 17187572150cSGerd HoffmannPassword stays valid forever. 17197572150cSGerd Hoffmann 17207572150cSGerd Hoffmann@item +nsec 17217572150cSGerd HoffmannPassword stays valid for @var{nsec} seconds starting now. 17227572150cSGerd Hoffmann 17237572150cSGerd Hoffmann@item nsec 17247572150cSGerd HoffmannPassword is invalidated at the given time. @var{nsec} are the seconds 17257572150cSGerd Hoffmannpassed since 1970, i.e. unix epoch. 17267572150cSGerd Hoffmann 17277572150cSGerd Hoffmann@end table 17287572150cSGerd HoffmannETEXI 17297572150cSGerd Hoffmann 173046920825SGerd Hoffmann { 173146920825SGerd Hoffmann .name = "chardev-add", 173246920825SGerd Hoffmann .args_type = "args:s", 173346920825SGerd Hoffmann .params = "args", 173446920825SGerd Hoffmann .help = "add chardev", 17352b9e3576SMarc-André Lureau .cmd = hmp_chardev_add, 173613e315daSHani Benhabiles .command_completion = chardev_add_completion, 173746920825SGerd Hoffmann }, 173846920825SGerd Hoffmann 173946920825SGerd HoffmannSTEXI 1740b76d799eSMarkus Armbruster@item chardev-add args 1741b76d799eSMarkus Armbruster@findex chardev-add 174275b60160SAnton Nefedovchardev-add accepts the same parameters as the -chardev command line switch. 174375b60160SAnton Nefedov 174475b60160SAnton NefedovETEXI 174575b60160SAnton Nefedov 174675b60160SAnton Nefedov { 174775b60160SAnton Nefedov .name = "chardev-change", 174875b60160SAnton Nefedov .args_type = "id:s,args:s", 174975b60160SAnton Nefedov .params = "id args", 175075b60160SAnton Nefedov .help = "change chardev", 175175b60160SAnton Nefedov .cmd = hmp_chardev_change, 175275b60160SAnton Nefedov }, 175375b60160SAnton Nefedov 175475b60160SAnton NefedovSTEXI 175575b60160SAnton Nefedov@item chardev-change args 175675b60160SAnton Nefedov@findex chardev-change 175775b60160SAnton Nefedovchardev-change accepts existing chardev @var{id} and then the same arguments 175875b60160SAnton Nefedovas the -chardev command line switch (except for "id"). 175946920825SGerd Hoffmann 176046920825SGerd HoffmannETEXI 176146920825SGerd Hoffmann 176246920825SGerd Hoffmann { 176346920825SGerd Hoffmann .name = "chardev-remove", 176446920825SGerd Hoffmann .args_type = "id:s", 176546920825SGerd Hoffmann .params = "id", 176646920825SGerd Hoffmann .help = "remove chardev", 17672b9e3576SMarc-André Lureau .cmd = hmp_chardev_remove, 17686297d9a2SHani Benhabiles .command_completion = chardev_remove_completion, 176946920825SGerd Hoffmann }, 177046920825SGerd Hoffmann 177146920825SGerd HoffmannSTEXI 1772b76d799eSMarkus Armbruster@item chardev-remove id 1773b76d799eSMarkus Armbruster@findex chardev-remove 177446920825SGerd HoffmannRemoves the chardev @var{id}. 177546920825SGerd Hoffmann 177646920825SGerd HoffmannETEXI 1777f1088908SGerd Hoffmann 1778f1088908SGerd Hoffmann { 1779bd1d5ad9SStefan Fritsch .name = "chardev-send-break", 1780bd1d5ad9SStefan Fritsch .args_type = "id:s", 1781bd1d5ad9SStefan Fritsch .params = "id", 1782bd1d5ad9SStefan Fritsch .help = "send a break on chardev", 1783bd1d5ad9SStefan Fritsch .cmd = hmp_chardev_send_break, 1784bd1d5ad9SStefan Fritsch .command_completion = chardev_remove_completion, 1785bd1d5ad9SStefan Fritsch }, 1786bd1d5ad9SStefan Fritsch 1787bd1d5ad9SStefan FritschSTEXI 1788bd1d5ad9SStefan Fritsch@item chardev-send-break id 1789bd1d5ad9SStefan Fritsch@findex chardev-send-break 1790bd1d5ad9SStefan FritschSend a break on the chardev @var{id}. 1791bd1d5ad9SStefan Fritsch 1792bd1d5ad9SStefan FritschETEXI 1793bd1d5ad9SStefan Fritsch 1794bd1d5ad9SStefan Fritsch { 1795587da2c3SKevin Wolf .name = "qemu-io", 1796587da2c3SKevin Wolf .args_type = "device:B,command:s", 1797587da2c3SKevin Wolf .params = "[device] \"[command]\"", 1798587da2c3SKevin Wolf .help = "run a qemu-io command on a block device", 17992b9e3576SMarc-André Lureau .cmd = hmp_qemu_io, 1800587da2c3SKevin Wolf }, 1801587da2c3SKevin Wolf 1802587da2c3SKevin WolfSTEXI 1803587da2c3SKevin Wolf@item qemu-io @var{device} @var{command} 1804587da2c3SKevin Wolf@findex qemu-io 1805587da2c3SKevin WolfExecutes a qemu-io command on the given block device. 1806587da2c3SKevin Wolf 1807587da2c3SKevin WolfETEXI 1808587da2c3SKevin Wolf 1809587da2c3SKevin Wolf { 1810abf23329SJason J. Herne .name = "cpu-add", 1811abf23329SJason J. Herne .args_type = "id:i", 1812abf23329SJason J. Herne .params = "id", 1813abf23329SJason J. Herne .help = "add cpu", 18142b9e3576SMarc-André Lureau .cmd = hmp_cpu_add, 1815abf23329SJason J. Herne }, 1816abf23329SJason J. Herne 1817abf23329SJason J. HerneSTEXI 1818abf23329SJason J. Herne@item cpu-add @var{id} 1819b76d799eSMarkus Armbruster@findex cpu-add 1820abf23329SJason J. HerneAdd CPU with id @var{id} 1821abf23329SJason J. HerneETEXI 1822abf23329SJason J. Herne 1823abf23329SJason J. Herne { 182489d7fa9eSAndreas Färber .name = "qom-list", 182589d7fa9eSAndreas Färber .args_type = "path:s?", 182689d7fa9eSAndreas Färber .params = "path", 182789d7fa9eSAndreas Färber .help = "list QOM properties", 18282b9e3576SMarc-André Lureau .cmd = hmp_qom_list, 182989d7fa9eSAndreas Färber }, 183089d7fa9eSAndreas Färber 183189d7fa9eSAndreas FärberSTEXI 183289d7fa9eSAndreas Färber@item qom-list [@var{path}] 183389d7fa9eSAndreas FärberPrint QOM properties of object at location @var{path} 183489d7fa9eSAndreas FärberETEXI 183589d7fa9eSAndreas Färber 183689d7fa9eSAndreas Färber { 1837c0e6ee9eSAndreas Färber .name = "qom-set", 1838c0e6ee9eSAndreas Färber .args_type = "path:s,property:s,value:s", 1839c0e6ee9eSAndreas Färber .params = "path property value", 1840c0e6ee9eSAndreas Färber .help = "set QOM property", 18412b9e3576SMarc-André Lureau .cmd = hmp_qom_set, 1842c0e6ee9eSAndreas Färber }, 1843c0e6ee9eSAndreas Färber 1844c0e6ee9eSAndreas FärberSTEXI 1845c0e6ee9eSAndreas Färber@item qom-set @var{path} @var{property} @var{value} 1846c0e6ee9eSAndreas FärberSet QOM property @var{property} of object at location @var{path} to value @var{value} 1847c0e6ee9eSAndreas FärberETEXI 1848c0e6ee9eSAndreas Färber 1849c0e6ee9eSAndreas Färber { 1850acd0a093SLuiz Capitulino .name = "info", 1851acd0a093SLuiz Capitulino .args_type = "item:s?", 1852acd0a093SLuiz Capitulino .params = "[subcommand]", 1853acd0a093SLuiz Capitulino .help = "show various information about the system state", 18542b9e3576SMarc-André Lureau .cmd = hmp_info_help, 185584c44613SWenchao Xia .sub_table = info_cmds, 1856acd0a093SLuiz Capitulino }, 1857acd0a093SLuiz Capitulino 1858acd0a093SLuiz CapitulinoSTEXI 185970703344SPavel Butsykin@end table 186070703344SPavel ButsykinETEXI 1861