xref: /qemu/hmp-commands.hx (revision 6ca080453ea403959ccde661030ca16264acc181)
12313086aSBlue SwirlHXCOMM Use DEFHEADING() to define headings in both help text and texi
22313086aSBlue SwirlHXCOMM Text between STEXI and ETEXI are copied to texi version and
32313086aSBlue SwirlHXCOMM discarded from C version
42313086aSBlue SwirlHXCOMM DEF(command, args, callback, arg_string, help) is used to construct
52313086aSBlue SwirlHXCOMM monitor commands
62313086aSBlue SwirlHXCOMM HXCOMM can be used for comments, discarded from both texi and C
72313086aSBlue Swirl
82313086aSBlue SwirlSTEXI
92313086aSBlue Swirl@table @option
102313086aSBlue SwirlETEXI
112313086aSBlue Swirl
12d7f9b689SLuiz Capitulino    {
13d7f9b689SLuiz Capitulino        .name       = "help|?",
14129be006SWenchao Xia        .args_type  = "name:S?",
15d7f9b689SLuiz Capitulino        .params     = "[cmd]",
16d7f9b689SLuiz Capitulino        .help       = "show the help",
172b9e3576SMarc-André Lureau        .cmd        = do_help_cmd,
1831785f1bSDr. David Alan Gilbert        .flags      = "p",
19d7f9b689SLuiz Capitulino    },
20d7f9b689SLuiz Capitulino
212313086aSBlue SwirlSTEXI
222313086aSBlue Swirl@item help or ? [@var{cmd}]
2370fcbbe7SStefan Weil@findex help
242313086aSBlue SwirlShow the help for all commands or just for command @var{cmd}.
252313086aSBlue SwirlETEXI
262313086aSBlue Swirl
27d7f9b689SLuiz Capitulino    {
28d7f9b689SLuiz Capitulino        .name       = "commit",
29d7f9b689SLuiz Capitulino        .args_type  = "device:B",
30d7f9b689SLuiz Capitulino        .params     = "device|all",
31d7f9b689SLuiz Capitulino        .help       = "commit changes to the disk images (if -snapshot is used) or backing files",
322b9e3576SMarc-André Lureau        .cmd        = hmp_commit,
33d7f9b689SLuiz Capitulino    },
34d7f9b689SLuiz Capitulino
352313086aSBlue SwirlSTEXI
362313086aSBlue Swirl@item commit
3770fcbbe7SStefan Weil@findex commit
382313086aSBlue SwirlCommit changes to the disk images (if -snapshot is used) or backing files.
3937222900SJeff CodyIf the backing file is smaller than the snapshot, then the backing file will be
4037222900SJeff Codyresized to be the same size as the snapshot.  If the snapshot is smaller than
4137222900SJeff Codythe backing file, the backing file will not be truncated.  If you want the
4237222900SJeff Codybacking file to match the size of the smaller snapshot, you can safely truncate
4337222900SJeff Codyit yourself once the commit operation successfully completes.
442313086aSBlue SwirlETEXI
452313086aSBlue Swirl
46d7f9b689SLuiz Capitulino    {
47d7f9b689SLuiz Capitulino        .name       = "q|quit",
48d7f9b689SLuiz Capitulino        .args_type  = "",
49d7f9b689SLuiz Capitulino        .params     = "",
50d7f9b689SLuiz Capitulino        .help       = "quit the emulator",
512b9e3576SMarc-André Lureau        .cmd        = hmp_quit,
52d7f9b689SLuiz Capitulino    },
53d7f9b689SLuiz Capitulino
542313086aSBlue SwirlSTEXI
552313086aSBlue Swirl@item q or quit
5670fcbbe7SStefan Weil@findex quit
572313086aSBlue SwirlQuit the emulator.
582313086aSBlue SwirlETEXI
592313086aSBlue Swirl
60d7f9b689SLuiz Capitulino    {
618e8581e6SDr. David Alan Gilbert        .name       = "exit_preconfig",
628e8581e6SDr. David Alan Gilbert        .args_type  = "",
638e8581e6SDr. David Alan Gilbert        .params     = "",
648e8581e6SDr. David Alan Gilbert        .help       = "exit the preconfig state",
658e8581e6SDr. David Alan Gilbert        .cmd        = hmp_exit_preconfig,
668e8581e6SDr. David Alan Gilbert        .flags      = "p",
678e8581e6SDr. David Alan Gilbert    },
688e8581e6SDr. David Alan Gilbert
698e8581e6SDr. David Alan GilbertSTEXI
708e8581e6SDr. David Alan Gilbert@item exit_preconfig
718e8581e6SDr. David Alan Gilbert@findex exit_preconfig
728e8581e6SDr. David Alan GilbertThis command makes QEMU exit the preconfig state and proceed with
738e8581e6SDr. David Alan GilbertVM initialization using configuration data provided on the command line
748e8581e6SDr. David Alan Gilbertand via the QMP monitor during the preconfig state. The command is only
758e8581e6SDr. David Alan Gilbertavailable during the preconfig state (i.e. when the --preconfig command
768e8581e6SDr. David Alan Gilbertline option was in use).
778e8581e6SDr. David Alan GilbertETEXI
788e8581e6SDr. David Alan Gilbert
798e8581e6SDr. David Alan Gilbert    {
806d4a2b3aSChristoph Hellwig        .name       = "block_resize",
816d4a2b3aSChristoph Hellwig        .args_type  = "device:B,size:o",
826d4a2b3aSChristoph Hellwig        .params     = "device size",
836d4a2b3aSChristoph Hellwig        .help       = "resize a block image",
842b9e3576SMarc-André Lureau        .cmd        = hmp_block_resize,
856d4a2b3aSChristoph Hellwig    },
866d4a2b3aSChristoph Hellwig
876d4a2b3aSChristoph HellwigSTEXI
886d4a2b3aSChristoph Hellwig@item block_resize
896d4a2b3aSChristoph Hellwig@findex block_resize
906d4a2b3aSChristoph HellwigResize a block image while a guest is running.  Usually requires guest
916d4a2b3aSChristoph Hellwigaction to see the updated size.  Resize to a lower size is supported,
926d4a2b3aSChristoph Hellwigbut should be used with extreme caution.  Note that this command only
936d4a2b3aSChristoph Hellwigresizes image files, it can not resize block devices like LVM volumes.
946d4a2b3aSChristoph HellwigETEXI
956d4a2b3aSChristoph Hellwig
9612bd451fSStefan Hajnoczi    {
9712bd451fSStefan Hajnoczi        .name       = "block_stream",
98c83c66c3SStefan Hajnoczi        .args_type  = "device:B,speed:o?,base:s?",
99c83c66c3SStefan Hajnoczi        .params     = "device [speed [base]]",
10012bd451fSStefan Hajnoczi        .help       = "copy data from a backing file into a block device",
1012b9e3576SMarc-André Lureau        .cmd        = hmp_block_stream,
10212bd451fSStefan Hajnoczi    },
10312bd451fSStefan Hajnoczi
10412bd451fSStefan HajnocziSTEXI
10512bd451fSStefan Hajnoczi@item block_stream
10612bd451fSStefan Hajnoczi@findex block_stream
10712bd451fSStefan HajnocziCopy data from a backing file into a block device.
10812bd451fSStefan HajnocziETEXI
1096d4a2b3aSChristoph Hellwig
1106d4a2b3aSChristoph Hellwig    {
1112d47c6e9SStefan Hajnoczi        .name       = "block_job_set_speed",
112882ec7ceSStefan Hajnoczi        .args_type  = "device:B,speed:o",
113882ec7ceSStefan Hajnoczi        .params     = "device speed",
1142d47c6e9SStefan Hajnoczi        .help       = "set maximum speed for a background block operation",
1152b9e3576SMarc-André Lureau        .cmd        = hmp_block_job_set_speed,
1162d47c6e9SStefan Hajnoczi    },
1172d47c6e9SStefan Hajnoczi
1182d47c6e9SStefan HajnocziSTEXI
1194451b799SPaolo Bonzini@item block_job_set_speed
1204451b799SPaolo Bonzini@findex block_job_set_speed
1212d47c6e9SStefan HajnocziSet maximum speed for a background block operation.
1222d47c6e9SStefan HajnocziETEXI
1232d47c6e9SStefan Hajnoczi
1242d47c6e9SStefan Hajnoczi    {
125370521a1SStefan Hajnoczi        .name       = "block_job_cancel",
1266e37fb81SPaolo Bonzini        .args_type  = "force:-f,device:B",
1276e37fb81SPaolo Bonzini        .params     = "[-f] device",
1286e37fb81SPaolo Bonzini        .help       = "stop an active background block operation (use -f"
129b76e4458SLiang Li                      "\n\t\t\t if you want to abort the operation immediately"
130b76e4458SLiang Li                      "\n\t\t\t instead of keep running until data is in sync)",
1312b9e3576SMarc-André Lureau        .cmd        = hmp_block_job_cancel,
132370521a1SStefan Hajnoczi    },
133370521a1SStefan Hajnoczi
134370521a1SStefan HajnocziSTEXI
135370521a1SStefan Hajnoczi@item block_job_cancel
136370521a1SStefan Hajnoczi@findex block_job_cancel
137aeae883bSPaolo BonziniStop an active background block operation (streaming, mirroring).
138aeae883bSPaolo BonziniETEXI
139aeae883bSPaolo Bonzini
140aeae883bSPaolo Bonzini    {
141aeae883bSPaolo Bonzini        .name       = "block_job_complete",
142aeae883bSPaolo Bonzini        .args_type  = "device:B",
143aeae883bSPaolo Bonzini        .params     = "device",
144aeae883bSPaolo Bonzini        .help       = "stop an active background block operation",
1452b9e3576SMarc-André Lureau        .cmd        = hmp_block_job_complete,
146aeae883bSPaolo Bonzini    },
147aeae883bSPaolo Bonzini
148aeae883bSPaolo BonziniSTEXI
149aeae883bSPaolo Bonzini@item block_job_complete
150aeae883bSPaolo Bonzini@findex block_job_complete
151aeae883bSPaolo BonziniManually trigger completion of an active background block operation.
152aeae883bSPaolo BonziniFor mirroring, this will switch the device to the destination path.
153370521a1SStefan HajnocziETEXI
154370521a1SStefan Hajnoczi
155370521a1SStefan Hajnoczi    {
1566e37fb81SPaolo Bonzini        .name       = "block_job_pause",
1576e37fb81SPaolo Bonzini        .args_type  = "device:B",
1586e37fb81SPaolo Bonzini        .params     = "device",
1596e37fb81SPaolo Bonzini        .help       = "pause an active background block operation",
1602b9e3576SMarc-André Lureau        .cmd        = hmp_block_job_pause,
1616e37fb81SPaolo Bonzini    },
1626e37fb81SPaolo Bonzini
1636e37fb81SPaolo BonziniSTEXI
1646e37fb81SPaolo Bonzini@item block_job_pause
1656e37fb81SPaolo Bonzini@findex block_job_pause
1666e37fb81SPaolo BonziniPause an active block streaming operation.
1676e37fb81SPaolo BonziniETEXI
1686e37fb81SPaolo Bonzini
1696e37fb81SPaolo Bonzini    {
1706e37fb81SPaolo Bonzini        .name       = "block_job_resume",
1716e37fb81SPaolo Bonzini        .args_type  = "device:B",
1726e37fb81SPaolo Bonzini        .params     = "device",
1736e37fb81SPaolo Bonzini        .help       = "resume a paused background block operation",
1742b9e3576SMarc-André Lureau        .cmd        = hmp_block_job_resume,
1756e37fb81SPaolo Bonzini    },
1766e37fb81SPaolo Bonzini
1776e37fb81SPaolo BonziniSTEXI
1786e37fb81SPaolo Bonzini@item block_job_resume
1796e37fb81SPaolo Bonzini@findex block_job_resume
1806e37fb81SPaolo BonziniResume a paused block streaming operation.
1816e37fb81SPaolo BonziniETEXI
1826e37fb81SPaolo Bonzini
1836e37fb81SPaolo Bonzini    {
184d7f9b689SLuiz Capitulino        .name       = "eject",
18578d714e0SLuiz Capitulino        .args_type  = "force:-f,device:B",
186d7f9b689SLuiz Capitulino        .params     = "[-f] device",
187d7f9b689SLuiz Capitulino        .help       = "eject a removable medium (use -f to force it)",
1882b9e3576SMarc-André Lureau        .cmd        = hmp_eject,
189d7f9b689SLuiz Capitulino    },
190d7f9b689SLuiz Capitulino
1912313086aSBlue SwirlSTEXI
1922313086aSBlue Swirl@item eject [-f] @var{device}
19370fcbbe7SStefan Weil@findex eject
1942313086aSBlue SwirlEject a removable medium (use -f to force it).
1952313086aSBlue SwirlETEXI
1962313086aSBlue Swirl
197d7f9b689SLuiz Capitulino    {
1989063f814SRyan Harper        .name       = "drive_del",
199f7bdc41aSHani Benhabiles        .args_type  = "id:B",
2009063f814SRyan Harper        .params     = "device",
2019063f814SRyan Harper        .help       = "remove host block device",
2022b9e3576SMarc-André Lureau        .cmd        = hmp_drive_del,
2039063f814SRyan Harper    },
2049063f814SRyan Harper
2059063f814SRyan HarperSTEXI
2069063f814SRyan Harper@item drive_del @var{device}
2079063f814SRyan Harper@findex drive_del
2089063f814SRyan HarperRemove host block device.  The result is that guest generated IO is no longer
2099063f814SRyan Harpersubmitted against the host device underlying the disk.  Once a drive has
2109063f814SRyan Harperbeen deleted, the QEMU Block layer returns -EIO which results in IO
2119063f814SRyan Harpererrors in the guest for applications that are reading/writing to the device.
212293c51a6SStefan HajnocziThese errors are always reported to the guest, regardless of the drive's error
213293c51a6SStefan Hajnocziactions (drive options rerror, werror).
2149063f814SRyan HarperETEXI
2159063f814SRyan Harper
2169063f814SRyan Harper    {
217d7f9b689SLuiz Capitulino        .name       = "change",
218baead0abSMax Reitz        .args_type  = "device:B,target:F,arg:s?,read-only-mode:s?",
219baead0abSMax Reitz        .params     = "device filename [format [read-only-mode]]",
220d7f9b689SLuiz Capitulino        .help       = "change a removable medium, optional format",
2212b9e3576SMarc-André Lureau        .cmd        = hmp_change,
222d7f9b689SLuiz Capitulino    },
223d7f9b689SLuiz Capitulino
2242313086aSBlue SwirlSTEXI
2252313086aSBlue Swirl@item change @var{device} @var{setting}
22670fcbbe7SStefan Weil@findex change
2272313086aSBlue SwirlChange the configuration of a device.
2282313086aSBlue Swirl
2292313086aSBlue Swirl@table @option
230baead0abSMax Reitz@item change @var{diskdevice} @var{filename} [@var{format} [@var{read-only-mode}]]
2312313086aSBlue SwirlChange the medium for a removable disk device to point to @var{filename}. eg
2322313086aSBlue Swirl
2332313086aSBlue Swirl@example
2342313086aSBlue Swirl(qemu) change ide1-cd0 /path/to/some.iso
2352313086aSBlue Swirl@end example
2362313086aSBlue Swirl
2372313086aSBlue Swirl@var{format} is optional.
2382313086aSBlue Swirl
239baead0abSMax Reitz@var{read-only-mode} may be used to change the read-only status of the device.
240baead0abSMax ReitzIt accepts the following values:
241baead0abSMax Reitz
242baead0abSMax Reitz@table @var
243baead0abSMax Reitz@item retain
244baead0abSMax ReitzRetains the current status; this is the default.
245baead0abSMax Reitz
246baead0abSMax Reitz@item read-only
247baead0abSMax ReitzMakes the device read-only.
248baead0abSMax Reitz
249baead0abSMax Reitz@item read-write
250baead0abSMax ReitzMakes the device writable.
251baead0abSMax Reitz@end table
252baead0abSMax Reitz
2532313086aSBlue Swirl@item change vnc @var{display},@var{options}
2542313086aSBlue SwirlChange the configuration of the VNC server. The valid syntax for @var{display}
2552313086aSBlue Swirland @var{options} are described at @ref{sec_invocation}. eg
2562313086aSBlue Swirl
2572313086aSBlue Swirl@example
2582313086aSBlue Swirl(qemu) change vnc localhost:1
2592313086aSBlue Swirl@end example
2602313086aSBlue Swirl
2612313086aSBlue Swirl@item change vnc password [@var{password}]
2622313086aSBlue Swirl
2632313086aSBlue SwirlChange the password associated with the VNC server. If the new password is not
2642313086aSBlue Swirlsupplied, the monitor will prompt for it to be entered. VNC passwords are only
2652313086aSBlue Swirlsignificant up to 8 letters. eg
2662313086aSBlue Swirl
2672313086aSBlue Swirl@example
2682313086aSBlue Swirl(qemu) change vnc password
2692313086aSBlue SwirlPassword: ********
2702313086aSBlue Swirl@end example
2712313086aSBlue Swirl
2722313086aSBlue Swirl@end table
2732313086aSBlue SwirlETEXI
2742313086aSBlue Swirl
275d7f9b689SLuiz Capitulino    {
276d7f9b689SLuiz Capitulino        .name       = "screendump",
277f771c544SThomas Huth        .args_type  = "filename:F,device:s?,head:i?",
278f771c544SThomas Huth        .params     = "filename [device [head]]",
279f771c544SThomas Huth        .help       = "save screen from head 'head' of display device 'device' "
280f771c544SThomas Huth                      "into PPM image 'filename'",
2812b9e3576SMarc-André Lureau        .cmd        = hmp_screendump,
282d7f9b689SLuiz Capitulino    },
283d7f9b689SLuiz Capitulino
2842313086aSBlue SwirlSTEXI
2852313086aSBlue Swirl@item screendump @var{filename}
28670fcbbe7SStefan Weil@findex screendump
2872313086aSBlue SwirlSave screen into PPM image @var{filename}.
2882313086aSBlue SwirlETEXI
2892313086aSBlue Swirl
290d7f9b689SLuiz Capitulino    {
291d7f9b689SLuiz Capitulino        .name       = "logfile",
292d7f9b689SLuiz Capitulino        .args_type  = "filename:F",
293d7f9b689SLuiz Capitulino        .params     = "filename",
294d7f9b689SLuiz Capitulino        .help       = "output logs to 'filename'",
2952b9e3576SMarc-André Lureau        .cmd        = hmp_logfile,
296d7f9b689SLuiz Capitulino    },
297d7f9b689SLuiz Capitulino
2982313086aSBlue SwirlSTEXI
2992313086aSBlue Swirl@item logfile @var{filename}
30070fcbbe7SStefan Weil@findex logfile
3012313086aSBlue SwirlOutput logs to @var{filename}.
3022313086aSBlue SwirlETEXI
3032313086aSBlue Swirl
30422890ab5SPrerna Saxena    {
30522890ab5SPrerna Saxena        .name       = "trace-event",
30677e2b172SLluís Vilanova        .args_type  = "name:s,option:b,vcpu:i?",
30777e2b172SLluís Vilanova        .params     = "name on|off [vcpu]",
30877e2b172SLluís Vilanova        .help       = "changes status of a specific trace event "
30977e2b172SLluís Vilanova                      "(vcpu: vCPU to set, default is all)",
3102b9e3576SMarc-André Lureau        .cmd = hmp_trace_event,
311987bd270SDr. David Alan Gilbert        .command_completion = trace_event_completion,
31222890ab5SPrerna Saxena    },
31322890ab5SPrerna Saxena
31422890ab5SPrerna SaxenaSTEXI
31522890ab5SPrerna Saxena@item trace-event
31622890ab5SPrerna Saxena@findex trace-event
31722890ab5SPrerna Saxenachanges status of a trace event
31822890ab5SPrerna SaxenaETEXI
319c5ceb523SStefan Hajnoczi
320c45a8168SMichael Roth#if defined(CONFIG_TRACE_SIMPLE)
321c5ceb523SStefan Hajnoczi    {
322c5ceb523SStefan Hajnoczi        .name       = "trace-file",
323c5ceb523SStefan Hajnoczi        .args_type  = "op:s?,arg:F?",
324c5ceb523SStefan Hajnoczi        .params     = "on|off|flush|set [arg]",
325c5ceb523SStefan Hajnoczi        .help       = "open, close, or flush trace file, or set a new file name",
3262b9e3576SMarc-André Lureau        .cmd        = hmp_trace_file,
327c5ceb523SStefan Hajnoczi    },
328c5ceb523SStefan Hajnoczi
329c5ceb523SStefan HajnocziSTEXI
330c5ceb523SStefan Hajnoczi@item trace-file on|off|flush
331c5ceb523SStefan Hajnoczi@findex trace-file
332c5ceb523SStefan HajnocziOpen, close, or flush the trace file.  If no argument is given, the status of the trace file is displayed.
333c5ceb523SStefan HajnocziETEXI
33422890ab5SPrerna Saxena#endif
33522890ab5SPrerna Saxena
336d7f9b689SLuiz Capitulino    {
337d7f9b689SLuiz Capitulino        .name       = "log",
338d7f9b689SLuiz Capitulino        .args_type  = "items:s",
339d7f9b689SLuiz Capitulino        .params     = "item1[,...]",
340989b697dSPeter Maydell        .help       = "activate logging of the specified items",
3412b9e3576SMarc-André Lureau        .cmd        = hmp_log,
342d7f9b689SLuiz Capitulino    },
343d7f9b689SLuiz Capitulino
3442313086aSBlue SwirlSTEXI
3452313086aSBlue Swirl@item log @var{item1}[,...]
34670fcbbe7SStefan Weil@findex log
347989b697dSPeter MaydellActivate logging of the specified items.
3482313086aSBlue SwirlETEXI
3492313086aSBlue Swirl
350d7f9b689SLuiz Capitulino    {
351d7f9b689SLuiz Capitulino        .name       = "savevm",
352d7f9b689SLuiz Capitulino        .args_type  = "name:s?",
353*6ca08045SDaniel Henrique Barboza        .params     = "tag",
354*6ca08045SDaniel Henrique Barboza        .help       = "save a VM snapshot. If no tag is provided, a new snapshot is created",
3552b9e3576SMarc-André Lureau        .cmd        = hmp_savevm,
356d7f9b689SLuiz Capitulino    },
357d7f9b689SLuiz Capitulino
3582313086aSBlue SwirlSTEXI
359*6ca08045SDaniel Henrique Barboza@item savevm @var{tag}
36070fcbbe7SStefan Weil@findex savevm
3612313086aSBlue SwirlCreate a snapshot of the whole virtual machine. If @var{tag} is
3622313086aSBlue Swirlprovided, it is used as human readable identifier. If there is already
363*6ca08045SDaniel Henrique Barbozaa snapshot with the same tag, it is replaced. More info at
3642313086aSBlue Swirl@ref{vm_snapshots}.
365*6ca08045SDaniel Henrique Barboza
366*6ca08045SDaniel Henrique BarbozaSince 4.0, savevm stopped allowing the snapshot id to be set, accepting
367*6ca08045SDaniel Henrique Barbozaonly @var{tag} as parameter.
3682313086aSBlue SwirlETEXI
3692313086aSBlue Swirl
370d7f9b689SLuiz Capitulino    {
371d7f9b689SLuiz Capitulino        .name       = "loadvm",
372d7f9b689SLuiz Capitulino        .args_type  = "name:s",
373*6ca08045SDaniel Henrique Barboza        .params     = "tag",
374*6ca08045SDaniel Henrique Barboza        .help       = "restore a VM snapshot from its tag",
3752b9e3576SMarc-André Lureau        .cmd        = hmp_loadvm,
376b21631f3SHani Benhabiles        .command_completion = loadvm_completion,
377d7f9b689SLuiz Capitulino    },
378d7f9b689SLuiz Capitulino
3792313086aSBlue SwirlSTEXI
380*6ca08045SDaniel Henrique Barboza@item loadvm @var{tag}
38170fcbbe7SStefan Weil@findex loadvm
3822313086aSBlue SwirlSet the whole virtual machine to the snapshot identified by the tag
383*6ca08045SDaniel Henrique Barboza@var{tag}.
384*6ca08045SDaniel Henrique Barboza
385*6ca08045SDaniel Henrique BarbozaSince 4.0, loadvm stopped accepting snapshot id as parameter.
3862313086aSBlue SwirlETEXI
3872313086aSBlue Swirl
388d7f9b689SLuiz Capitulino    {
389d7f9b689SLuiz Capitulino        .name       = "delvm",
390d7f9b689SLuiz Capitulino        .args_type  = "name:s",
391*6ca08045SDaniel Henrique Barboza        .params     = "tag",
392*6ca08045SDaniel Henrique Barboza        .help       = "delete a VM snapshot from its tag",
3932b9e3576SMarc-André Lureau        .cmd        = hmp_delvm,
394b21631f3SHani Benhabiles        .command_completion = delvm_completion,
395d7f9b689SLuiz Capitulino    },
396d7f9b689SLuiz Capitulino
3972313086aSBlue SwirlSTEXI
398*6ca08045SDaniel Henrique Barboza@item delvm @var{tag}
39970fcbbe7SStefan Weil@findex delvm
400*6ca08045SDaniel Henrique BarbozaDelete the snapshot identified by @var{tag}.
401*6ca08045SDaniel Henrique Barboza
402*6ca08045SDaniel Henrique BarbozaSince 4.0, delvm stopped deleting snapshots by snapshot id, accepting
403*6ca08045SDaniel Henrique Barbozaonly @var{tag} as parameter.
4042313086aSBlue SwirlETEXI
4052313086aSBlue Swirl
406d7f9b689SLuiz Capitulino    {
407d7f9b689SLuiz Capitulino        .name       = "singlestep",
408d7f9b689SLuiz Capitulino        .args_type  = "option:s?",
409d7f9b689SLuiz Capitulino        .params     = "[on|off]",
410d7f9b689SLuiz Capitulino        .help       = "run emulation in singlestep mode or switch to normal mode",
4112b9e3576SMarc-André Lureau        .cmd        = hmp_singlestep,
412d7f9b689SLuiz Capitulino    },
413d7f9b689SLuiz Capitulino
4142313086aSBlue SwirlSTEXI
4152313086aSBlue Swirl@item singlestep [off]
41670fcbbe7SStefan Weil@findex singlestep
4172313086aSBlue SwirlRun the emulation in single step mode.
4182313086aSBlue SwirlIf called with option off, the emulation returns to normal mode.
4192313086aSBlue SwirlETEXI
4202313086aSBlue Swirl
421d7f9b689SLuiz Capitulino    {
422d7f9b689SLuiz Capitulino        .name       = "stop",
423d7f9b689SLuiz Capitulino        .args_type  = "",
424d7f9b689SLuiz Capitulino        .params     = "",
425d7f9b689SLuiz Capitulino        .help       = "stop emulation",
4262b9e3576SMarc-André Lureau        .cmd        = hmp_stop,
427d7f9b689SLuiz Capitulino    },
428d7f9b689SLuiz Capitulino
4292313086aSBlue SwirlSTEXI
4302313086aSBlue Swirl@item stop
43170fcbbe7SStefan Weil@findex stop
4322313086aSBlue SwirlStop emulation.
4332313086aSBlue SwirlETEXI
4342313086aSBlue Swirl
435d7f9b689SLuiz Capitulino    {
436d7f9b689SLuiz Capitulino        .name       = "c|cont",
437d7f9b689SLuiz Capitulino        .args_type  = "",
438d7f9b689SLuiz Capitulino        .params     = "",
439d7f9b689SLuiz Capitulino        .help       = "resume emulation",
4402b9e3576SMarc-André Lureau        .cmd        = hmp_cont,
441d7f9b689SLuiz Capitulino    },
442d7f9b689SLuiz Capitulino
4432313086aSBlue SwirlSTEXI
4442313086aSBlue Swirl@item c or cont
44570fcbbe7SStefan Weil@findex cont
4462313086aSBlue SwirlResume emulation.
4472313086aSBlue SwirlETEXI
4482313086aSBlue Swirl
449d7f9b689SLuiz Capitulino    {
4509b9df25aSGerd Hoffmann        .name       = "system_wakeup",
4519b9df25aSGerd Hoffmann        .args_type  = "",
4529b9df25aSGerd Hoffmann        .params     = "",
4539b9df25aSGerd Hoffmann        .help       = "wakeup guest from suspend",
4542b9e3576SMarc-André Lureau        .cmd        = hmp_system_wakeup,
4559b9df25aSGerd Hoffmann    },
4569b9df25aSGerd Hoffmann
4579b9df25aSGerd HoffmannSTEXI
4589b9df25aSGerd Hoffmann@item system_wakeup
4599b9df25aSGerd Hoffmann@findex system_wakeup
4609b9df25aSGerd HoffmannWakeup guest from suspend.
4619b9df25aSGerd HoffmannETEXI
4629b9df25aSGerd Hoffmann
4639b9df25aSGerd Hoffmann    {
464d7f9b689SLuiz Capitulino        .name       = "gdbserver",
465d7f9b689SLuiz Capitulino        .args_type  = "device:s?",
466d7f9b689SLuiz Capitulino        .params     = "[device]",
467d7f9b689SLuiz Capitulino        .help       = "start gdbserver on given device (default 'tcp::1234'), stop with 'none'",
4682b9e3576SMarc-André Lureau        .cmd        = hmp_gdbserver,
469d7f9b689SLuiz Capitulino    },
470d7f9b689SLuiz Capitulino
4712313086aSBlue SwirlSTEXI
4722313086aSBlue Swirl@item gdbserver [@var{port}]
47370fcbbe7SStefan Weil@findex gdbserver
4742313086aSBlue SwirlStart gdbserver session (default @var{port}=1234)
4752313086aSBlue SwirlETEXI
4762313086aSBlue Swirl
477d7f9b689SLuiz Capitulino    {
478d7f9b689SLuiz Capitulino        .name       = "x",
479d7f9b689SLuiz Capitulino        .args_type  = "fmt:/,addr:l",
480d7f9b689SLuiz Capitulino        .params     = "/fmt addr",
481d7f9b689SLuiz Capitulino        .help       = "virtual memory dump starting at 'addr'",
4822b9e3576SMarc-André Lureau        .cmd        = hmp_memory_dump,
483d7f9b689SLuiz Capitulino    },
484d7f9b689SLuiz Capitulino
4852313086aSBlue SwirlSTEXI
4862313086aSBlue Swirl@item x/fmt @var{addr}
48770fcbbe7SStefan Weil@findex x
4882313086aSBlue SwirlVirtual memory dump starting at @var{addr}.
4892313086aSBlue SwirlETEXI
4902313086aSBlue Swirl
491d7f9b689SLuiz Capitulino    {
492d7f9b689SLuiz Capitulino        .name       = "xp",
493d7f9b689SLuiz Capitulino        .args_type  = "fmt:/,addr:l",
494d7f9b689SLuiz Capitulino        .params     = "/fmt addr",
495d7f9b689SLuiz Capitulino        .help       = "physical memory dump starting at 'addr'",
4962b9e3576SMarc-André Lureau        .cmd        = hmp_physical_memory_dump,
497d7f9b689SLuiz Capitulino    },
498d7f9b689SLuiz Capitulino
4992313086aSBlue SwirlSTEXI
5002313086aSBlue Swirl@item xp /@var{fmt} @var{addr}
50170fcbbe7SStefan Weil@findex xp
5022313086aSBlue SwirlPhysical memory dump starting at @var{addr}.
5032313086aSBlue Swirl
5042313086aSBlue Swirl@var{fmt} is a format which tells the command how to format the
5052313086aSBlue Swirldata. Its syntax is: @option{/@{count@}@{format@}@{size@}}
5062313086aSBlue Swirl
5072313086aSBlue Swirl@table @var
5082313086aSBlue Swirl@item count
5092313086aSBlue Swirlis the number of items to be dumped.
5102313086aSBlue Swirl
5112313086aSBlue Swirl@item format
5122313086aSBlue Swirlcan be x (hex), d (signed decimal), u (unsigned decimal), o (octal),
5132313086aSBlue Swirlc (char) or i (asm instruction).
5142313086aSBlue Swirl
5152313086aSBlue Swirl@item size
5162313086aSBlue Swirlcan be b (8 bits), h (16 bits), w (32 bits) or g (64 bits). On x86,
5172313086aSBlue Swirl@code{h} or @code{w} can be specified with the @code{i} format to
5182313086aSBlue Swirlrespectively select 16 or 32 bit code instruction size.
5192313086aSBlue Swirl
5202313086aSBlue Swirl@end table
5212313086aSBlue Swirl
5222313086aSBlue SwirlExamples:
5232313086aSBlue Swirl@itemize
5242313086aSBlue Swirl@item
5252313086aSBlue SwirlDump 10 instructions at the current instruction pointer:
5262313086aSBlue Swirl@example
5272313086aSBlue Swirl(qemu) x/10i $eip
5282313086aSBlue Swirl0x90107063:  ret
5292313086aSBlue Swirl0x90107064:  sti
5302313086aSBlue Swirl0x90107065:  lea    0x0(%esi,1),%esi
5312313086aSBlue Swirl0x90107069:  lea    0x0(%edi,1),%edi
5322313086aSBlue Swirl0x90107070:  ret
5332313086aSBlue Swirl0x90107071:  jmp    0x90107080
5342313086aSBlue Swirl0x90107073:  nop
5352313086aSBlue Swirl0x90107074:  nop
5362313086aSBlue Swirl0x90107075:  nop
5372313086aSBlue Swirl0x90107076:  nop
5382313086aSBlue Swirl@end example
5392313086aSBlue Swirl
5402313086aSBlue Swirl@item
5412313086aSBlue SwirlDump 80 16 bit values at the start of the video memory.
5422313086aSBlue Swirl@smallexample
5432313086aSBlue Swirl(qemu) xp/80hx 0xb8000
5442313086aSBlue Swirl0x000b8000: 0x0b50 0x0b6c 0x0b65 0x0b78 0x0b38 0x0b36 0x0b2f 0x0b42
5452313086aSBlue Swirl0x000b8010: 0x0b6f 0x0b63 0x0b68 0x0b73 0x0b20 0x0b56 0x0b47 0x0b41
5462313086aSBlue Swirl0x000b8020: 0x0b42 0x0b69 0x0b6f 0x0b73 0x0b20 0x0b63 0x0b75 0x0b72
5472313086aSBlue Swirl0x000b8030: 0x0b72 0x0b65 0x0b6e 0x0b74 0x0b2d 0x0b63 0x0b76 0x0b73
5482313086aSBlue Swirl0x000b8040: 0x0b20 0x0b30 0x0b35 0x0b20 0x0b4e 0x0b6f 0x0b76 0x0b20
5492313086aSBlue Swirl0x000b8050: 0x0b32 0x0b30 0x0b30 0x0b33 0x0720 0x0720 0x0720 0x0720
5502313086aSBlue Swirl0x000b8060: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
5512313086aSBlue Swirl0x000b8070: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
5522313086aSBlue Swirl0x000b8080: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
5532313086aSBlue Swirl0x000b8090: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
5542313086aSBlue Swirl@end smallexample
5552313086aSBlue Swirl@end itemize
5562313086aSBlue SwirlETEXI
5572313086aSBlue Swirl
558d7f9b689SLuiz Capitulino    {
559e9628441SPaolo Bonzini        .name       = "gpa2hva",
560e9628441SPaolo Bonzini        .args_type  = "addr:l",
561e9628441SPaolo Bonzini        .params     = "addr",
562e9628441SPaolo Bonzini        .help       = "print the host virtual address corresponding to a guest physical address",
563e9628441SPaolo Bonzini        .cmd        = hmp_gpa2hva,
564e9628441SPaolo Bonzini    },
565e9628441SPaolo Bonzini
566e9628441SPaolo BonziniSTEXI
567e9628441SPaolo Bonzini@item gpa2hva @var{addr}
568e9628441SPaolo Bonzini@findex gpa2hva
569e9628441SPaolo BonziniPrint the host virtual address at which the guest's physical address @var{addr}
570e9628441SPaolo Bonziniis mapped.
571e9628441SPaolo BonziniETEXI
572e9628441SPaolo Bonzini
573e9628441SPaolo Bonzini#ifdef CONFIG_LINUX
574e9628441SPaolo Bonzini    {
575e9628441SPaolo Bonzini        .name       = "gpa2hpa",
576e9628441SPaolo Bonzini        .args_type  = "addr:l",
577e9628441SPaolo Bonzini        .params     = "addr",
578e9628441SPaolo Bonzini        .help       = "print the host physical address corresponding to a guest physical address",
579e9628441SPaolo Bonzini        .cmd        = hmp_gpa2hpa,
580e9628441SPaolo Bonzini    },
581e9628441SPaolo Bonzini#endif
582e9628441SPaolo Bonzini
583e9628441SPaolo BonziniSTEXI
584e9628441SPaolo Bonzini@item gpa2hpa @var{addr}
585e9628441SPaolo Bonzini@findex gpa2hpa
586e9628441SPaolo BonziniPrint the host physical address at which the guest's physical address @var{addr}
587e9628441SPaolo Bonziniis mapped.
588e9628441SPaolo BonziniETEXI
589e9628441SPaolo Bonzini
590e9628441SPaolo Bonzini    {
591d7f9b689SLuiz Capitulino        .name       = "p|print",
592d7f9b689SLuiz Capitulino        .args_type  = "fmt:/,val:l",
593d7f9b689SLuiz Capitulino        .params     = "/fmt expr",
594d7f9b689SLuiz Capitulino        .help       = "print expression value (use $reg for CPU register access)",
5952b9e3576SMarc-André Lureau        .cmd        = do_print,
596d7f9b689SLuiz Capitulino    },
597d7f9b689SLuiz Capitulino
5982313086aSBlue SwirlSTEXI
5992313086aSBlue Swirl@item p or print/@var{fmt} @var{expr}
60070fcbbe7SStefan Weil@findex print
6012313086aSBlue SwirlPrint expression value. Only the @var{format} part of @var{fmt} is
6022313086aSBlue Swirlused.
6032313086aSBlue SwirlETEXI
6042313086aSBlue Swirl
605d7f9b689SLuiz Capitulino    {
606d7f9b689SLuiz Capitulino        .name       = "i",
607d7f9b689SLuiz Capitulino        .args_type  = "fmt:/,addr:i,index:i.",
608d7f9b689SLuiz Capitulino        .params     = "/fmt addr",
609d7f9b689SLuiz Capitulino        .help       = "I/O port read",
6102b9e3576SMarc-André Lureau        .cmd        = hmp_ioport_read,
611d7f9b689SLuiz Capitulino    },
612d7f9b689SLuiz Capitulino
6132313086aSBlue SwirlSTEXI
614b76d799eSMarkus Armbruster@item i/@var{fmt} @var{addr} [.@var{index}]
615b76d799eSMarkus Armbruster@findex i
6162313086aSBlue SwirlRead I/O port.
6172313086aSBlue SwirlETEXI
6182313086aSBlue Swirl
619d7f9b689SLuiz Capitulino    {
620d7f9b689SLuiz Capitulino        .name       = "o",
621d7f9b689SLuiz Capitulino        .args_type  = "fmt:/,addr:i,val:i",
622d7f9b689SLuiz Capitulino        .params     = "/fmt addr value",
623d7f9b689SLuiz Capitulino        .help       = "I/O port write",
6242b9e3576SMarc-André Lureau        .cmd        = hmp_ioport_write,
625d7f9b689SLuiz Capitulino    },
626d7f9b689SLuiz Capitulino
627f114784fSJan KiszkaSTEXI
628b76d799eSMarkus Armbruster@item o/@var{fmt} @var{addr} @var{val}
629b76d799eSMarkus Armbruster@findex o
630f114784fSJan KiszkaWrite to I/O port.
631f114784fSJan KiszkaETEXI
6322313086aSBlue Swirl
633d7f9b689SLuiz Capitulino    {
634d7f9b689SLuiz Capitulino        .name       = "sendkey",
6352ef20c15SAmos Kong        .args_type  = "keys:s,hold-time:i?",
636d7f9b689SLuiz Capitulino        .params     = "keys [hold_ms]",
637d7f9b689SLuiz Capitulino        .help       = "send keys to the VM (e.g. 'sendkey ctrl-alt-f1', default hold time=100 ms)",
6382b9e3576SMarc-André Lureau        .cmd        = hmp_sendkey,
63929136cd8SHani Benhabiles        .command_completion = sendkey_completion,
640d7f9b689SLuiz Capitulino    },
641d7f9b689SLuiz Capitulino
6422313086aSBlue SwirlSTEXI
6432313086aSBlue Swirl@item sendkey @var{keys}
64470fcbbe7SStefan Weil@findex sendkey
645886cc706SAmos KongSend @var{keys} to the guest. @var{keys} could be the name of the
646886cc706SAmos Kongkey or the raw value in hexadecimal format. Use @code{-} to press
647886cc706SAmos Kongseveral keys simultaneously. Example:
6482313086aSBlue Swirl@example
6492313086aSBlue Swirlsendkey ctrl-alt-f1
6502313086aSBlue Swirl@end example
6512313086aSBlue Swirl
6522313086aSBlue SwirlThis command is useful to send keys that your graphical user interface
6532313086aSBlue Swirlintercepts at low level, such as @code{ctrl-alt-f1} in X Window.
6542313086aSBlue SwirlETEXI
655dd12e1bbSEmilio G. Cota    {
656dd12e1bbSEmilio G. Cota        .name       = "sync-profile",
657dd12e1bbSEmilio G. Cota        .args_type  = "op:s?",
658dd12e1bbSEmilio G. Cota        .params     = "[on|off|reset]",
659dd12e1bbSEmilio G. Cota        .help       = "enable, disable or reset synchronization profiling. "
660dd12e1bbSEmilio G. Cota                      "With no arguments, prints whether profiling is on or off.",
661dd12e1bbSEmilio G. Cota        .cmd        = hmp_sync_profile,
662dd12e1bbSEmilio G. Cota    },
663dd12e1bbSEmilio G. Cota
664dd12e1bbSEmilio G. CotaSTEXI
665dd12e1bbSEmilio G. Cota@item sync-profile [on|off|reset]
666dd12e1bbSEmilio G. Cota@findex sync-profile
667dd12e1bbSEmilio G. CotaEnable, disable or reset synchronization profiling. With no arguments, prints
668dd12e1bbSEmilio G. Cotawhether profiling is on or off.
669dd12e1bbSEmilio G. CotaETEXI
6702313086aSBlue Swirl
671d7f9b689SLuiz Capitulino    {
672d7f9b689SLuiz Capitulino        .name       = "system_reset",
673d7f9b689SLuiz Capitulino        .args_type  = "",
674d7f9b689SLuiz Capitulino        .params     = "",
675d7f9b689SLuiz Capitulino        .help       = "reset the system",
6762b9e3576SMarc-André Lureau        .cmd        = hmp_system_reset,
677d7f9b689SLuiz Capitulino    },
678d7f9b689SLuiz Capitulino
6792313086aSBlue SwirlSTEXI
6802313086aSBlue Swirl@item system_reset
68170fcbbe7SStefan Weil@findex system_reset
6822313086aSBlue SwirlReset the system.
6832313086aSBlue SwirlETEXI
6842313086aSBlue Swirl
685d7f9b689SLuiz Capitulino    {
686d7f9b689SLuiz Capitulino        .name       = "system_powerdown",
687d7f9b689SLuiz Capitulino        .args_type  = "",
688d7f9b689SLuiz Capitulino        .params     = "",
689d7f9b689SLuiz Capitulino        .help       = "send system power down event",
6902b9e3576SMarc-André Lureau        .cmd        = hmp_system_powerdown,
691d7f9b689SLuiz Capitulino    },
692d7f9b689SLuiz Capitulino
6932313086aSBlue SwirlSTEXI
6942313086aSBlue Swirl@item system_powerdown
69570fcbbe7SStefan Weil@findex system_powerdown
6962313086aSBlue SwirlPower down the system (if supported).
6972313086aSBlue SwirlETEXI
6982313086aSBlue Swirl
699d7f9b689SLuiz Capitulino    {
700d7f9b689SLuiz Capitulino        .name       = "sum",
701d7f9b689SLuiz Capitulino        .args_type  = "start:i,size:i",
702d7f9b689SLuiz Capitulino        .params     = "addr size",
703d7f9b689SLuiz Capitulino        .help       = "compute the checksum of a memory region",
7042b9e3576SMarc-André Lureau        .cmd        = hmp_sum,
705d7f9b689SLuiz Capitulino    },
706d7f9b689SLuiz Capitulino
7072313086aSBlue SwirlSTEXI
7082313086aSBlue Swirl@item sum @var{addr} @var{size}
70970fcbbe7SStefan Weil@findex sum
7102313086aSBlue SwirlCompute the checksum of a memory region.
7112313086aSBlue SwirlETEXI
7122313086aSBlue Swirl
713d7f9b689SLuiz Capitulino    {
714d7f9b689SLuiz Capitulino        .name       = "device_add",
715c7e4e8ceSMarkus Armbruster        .args_type  = "device:O",
716c7e4e8ceSMarkus Armbruster        .params     = "driver[,prop=value][,...]",
717d7f9b689SLuiz Capitulino        .help       = "add device, like -device on the command line",
7182b9e3576SMarc-André Lureau        .cmd        = hmp_device_add,
7192da1b3abSHani Benhabiles        .command_completion = device_add_completion,
720d7f9b689SLuiz Capitulino    },
721d7f9b689SLuiz Capitulino
7223418bd25SGerd HoffmannSTEXI
7233418bd25SGerd Hoffmann@item device_add @var{config}
72470fcbbe7SStefan Weil@findex device_add
7253418bd25SGerd HoffmannAdd device.
7263418bd25SGerd HoffmannETEXI
7273418bd25SGerd Hoffmann
728d7f9b689SLuiz Capitulino    {
729d7f9b689SLuiz Capitulino        .name       = "device_del",
730d7f9b689SLuiz Capitulino        .args_type  = "id:s",
731d7f9b689SLuiz Capitulino        .params     = "device",
732d7f9b689SLuiz Capitulino        .help       = "remove device",
7332b9e3576SMarc-André Lureau        .cmd        = hmp_device_del,
7342da1b3abSHani Benhabiles        .command_completion = device_del_completion,
735d7f9b689SLuiz Capitulino    },
736d7f9b689SLuiz Capitulino
7373418bd25SGerd HoffmannSTEXI
7383418bd25SGerd Hoffmann@item device_del @var{id}
73970fcbbe7SStefan Weil@findex device_del
7406287d827SDaniel P. BerrangeRemove device @var{id}. @var{id} may be a short ID
7416287d827SDaniel P. Berrangeor a QOM object path.
7423418bd25SGerd HoffmannETEXI
7433418bd25SGerd Hoffmann
744d7f9b689SLuiz Capitulino    {
745d7f9b689SLuiz Capitulino        .name       = "cpu",
746d7f9b689SLuiz Capitulino        .args_type  = "index:i",
747d7f9b689SLuiz Capitulino        .params     = "index",
748d7f9b689SLuiz Capitulino        .help       = "set the default CPU",
7492b9e3576SMarc-André Lureau        .cmd        = hmp_cpu,
750d7f9b689SLuiz Capitulino    },
7513418bd25SGerd Hoffmann
7522313086aSBlue SwirlSTEXI
753c427ea9cSMarkus Armbruster@item cpu @var{index}
754c427ea9cSMarkus Armbruster@findex cpu
7552313086aSBlue SwirlSet the default CPU.
7562313086aSBlue SwirlETEXI
7572313086aSBlue Swirl
758d7f9b689SLuiz Capitulino    {
759d7f9b689SLuiz Capitulino        .name       = "mouse_move",
760d7f9b689SLuiz Capitulino        .args_type  = "dx_str:s,dy_str:s,dz_str:s?",
761d7f9b689SLuiz Capitulino        .params     = "dx dy [dz]",
762d7f9b689SLuiz Capitulino        .help       = "send mouse move events",
7632b9e3576SMarc-André Lureau        .cmd        = hmp_mouse_move,
764d7f9b689SLuiz Capitulino    },
765d7f9b689SLuiz Capitulino
7662313086aSBlue SwirlSTEXI
7672313086aSBlue Swirl@item mouse_move @var{dx} @var{dy} [@var{dz}]
76870fcbbe7SStefan Weil@findex mouse_move
7692313086aSBlue SwirlMove the active mouse to the specified coordinates @var{dx} @var{dy}
7702313086aSBlue Swirlwith optional scroll axis @var{dz}.
7712313086aSBlue SwirlETEXI
7722313086aSBlue Swirl
773d7f9b689SLuiz Capitulino    {
774d7f9b689SLuiz Capitulino        .name       = "mouse_button",
775d7f9b689SLuiz Capitulino        .args_type  = "button_state:i",
776d7f9b689SLuiz Capitulino        .params     = "state",
777d7f9b689SLuiz Capitulino        .help       = "change mouse button state (1=L, 2=M, 4=R)",
7782b9e3576SMarc-André Lureau        .cmd        = hmp_mouse_button,
779d7f9b689SLuiz Capitulino    },
780d7f9b689SLuiz Capitulino
7812313086aSBlue SwirlSTEXI
7822313086aSBlue Swirl@item mouse_button @var{val}
78370fcbbe7SStefan Weil@findex mouse_button
7842313086aSBlue SwirlChange the active mouse button state @var{val} (1=L, 2=M, 4=R).
7852313086aSBlue SwirlETEXI
7862313086aSBlue Swirl
787d7f9b689SLuiz Capitulino    {
788d7f9b689SLuiz Capitulino        .name       = "mouse_set",
789d7f9b689SLuiz Capitulino        .args_type  = "index:i",
790d7f9b689SLuiz Capitulino        .params     = "index",
791d7f9b689SLuiz Capitulino        .help       = "set which mouse device receives events",
7922b9e3576SMarc-André Lureau        .cmd        = hmp_mouse_set,
793d7f9b689SLuiz Capitulino    },
794d7f9b689SLuiz Capitulino
7952313086aSBlue SwirlSTEXI
7962313086aSBlue Swirl@item mouse_set @var{index}
79770fcbbe7SStefan Weil@findex mouse_set
7982313086aSBlue SwirlSet which mouse device receives events at given @var{index}, index
7992313086aSBlue Swirlcan be obtained with
8002313086aSBlue Swirl@example
8012313086aSBlue Swirlinfo mice
8022313086aSBlue Swirl@end example
8032313086aSBlue SwirlETEXI
8042313086aSBlue Swirl
805d7f9b689SLuiz Capitulino    {
806d7f9b689SLuiz Capitulino        .name       = "wavcapture",
807d7f9b689SLuiz Capitulino        .args_type  = "path:F,freq:i?,bits:i?,nchannels:i?",
808d7f9b689SLuiz Capitulino        .params     = "path [frequency [bits [channels]]]",
809d7f9b689SLuiz Capitulino        .help       = "capture audio to a wave file (default frequency=44100 bits=16 channels=2)",
8102b9e3576SMarc-André Lureau        .cmd        = hmp_wavcapture,
811d7f9b689SLuiz Capitulino    },
8122313086aSBlue SwirlSTEXI
8132313086aSBlue Swirl@item wavcapture @var{filename} [@var{frequency} [@var{bits} [@var{channels}]]]
81470fcbbe7SStefan Weil@findex wavcapture
8152313086aSBlue SwirlCapture audio into @var{filename}. Using sample rate @var{frequency}
8162313086aSBlue Swirlbits per sample @var{bits} and number of channels @var{channels}.
8172313086aSBlue Swirl
8182313086aSBlue SwirlDefaults:
8192313086aSBlue Swirl@itemize @minus
8202313086aSBlue Swirl@item Sample rate = 44100 Hz - CD quality
8212313086aSBlue Swirl@item Bits = 16
8222313086aSBlue Swirl@item Number of channels = 2 - Stereo
8232313086aSBlue Swirl@end itemize
8242313086aSBlue SwirlETEXI
8252313086aSBlue Swirl
826d7f9b689SLuiz Capitulino    {
827d7f9b689SLuiz Capitulino        .name       = "stopcapture",
828d7f9b689SLuiz Capitulino        .args_type  = "n:i",
829d7f9b689SLuiz Capitulino        .params     = "capture index",
830d7f9b689SLuiz Capitulino        .help       = "stop capture",
8312b9e3576SMarc-André Lureau        .cmd        = hmp_stopcapture,
832d7f9b689SLuiz Capitulino    },
8332313086aSBlue SwirlSTEXI
8342313086aSBlue Swirl@item stopcapture @var{index}
83570fcbbe7SStefan Weil@findex stopcapture
8362313086aSBlue SwirlStop capture with a given @var{index}, index can be obtained with
8372313086aSBlue Swirl@example
8382313086aSBlue Swirlinfo capture
8392313086aSBlue Swirl@end example
8402313086aSBlue SwirlETEXI
8412313086aSBlue Swirl
842d7f9b689SLuiz Capitulino    {
843d7f9b689SLuiz Capitulino        .name       = "memsave",
844d7f9b689SLuiz Capitulino        .args_type  = "val:l,size:i,filename:s",
845d7f9b689SLuiz Capitulino        .params     = "addr size file",
846d7f9b689SLuiz Capitulino        .help       = "save to disk virtual memory dump starting at 'addr' of size 'size'",
8472b9e3576SMarc-André Lureau        .cmd        = hmp_memsave,
848d7f9b689SLuiz Capitulino    },
849d7f9b689SLuiz Capitulino
8502313086aSBlue SwirlSTEXI
8512313086aSBlue Swirl@item memsave @var{addr} @var{size} @var{file}
85270fcbbe7SStefan Weil@findex memsave
8532313086aSBlue Swirlsave to disk virtual memory dump starting at @var{addr} of size @var{size}.
8542313086aSBlue SwirlETEXI
8552313086aSBlue Swirl
856d7f9b689SLuiz Capitulino    {
857d7f9b689SLuiz Capitulino        .name       = "pmemsave",
858d7f9b689SLuiz Capitulino        .args_type  = "val:l,size:i,filename:s",
859d7f9b689SLuiz Capitulino        .params     = "addr size file",
860d7f9b689SLuiz Capitulino        .help       = "save to disk physical memory dump starting at 'addr' of size 'size'",
8612b9e3576SMarc-André Lureau        .cmd        = hmp_pmemsave,
862d7f9b689SLuiz Capitulino    },
863d7f9b689SLuiz Capitulino
8642313086aSBlue SwirlSTEXI
8652313086aSBlue Swirl@item pmemsave @var{addr} @var{size} @var{file}
86670fcbbe7SStefan Weil@findex pmemsave
8672313086aSBlue Swirlsave to disk physical memory dump starting at @var{addr} of size @var{size}.
8682313086aSBlue SwirlETEXI
8692313086aSBlue Swirl
870d7f9b689SLuiz Capitulino    {
871d7f9b689SLuiz Capitulino        .name       = "boot_set",
872d7f9b689SLuiz Capitulino        .args_type  = "bootdevice:s",
873d7f9b689SLuiz Capitulino        .params     = "bootdevice",
874d7f9b689SLuiz Capitulino        .help       = "define new values for the boot device list",
8752b9e3576SMarc-André Lureau        .cmd        = hmp_boot_set,
876d7f9b689SLuiz Capitulino    },
877d7f9b689SLuiz Capitulino
8782313086aSBlue SwirlSTEXI
8792313086aSBlue Swirl@item boot_set @var{bootdevicelist}
88070fcbbe7SStefan Weil@findex boot_set
8812313086aSBlue SwirlDefine new values for the boot device list. Those values will override
8822313086aSBlue Swirlthe values specified on the command line through the @code{-boot} option.
8832313086aSBlue Swirl
8842313086aSBlue SwirlThe values that can be specified here depend on the machine type, but are
8852313086aSBlue Swirlthe same that can be specified in the @code{-boot} command line option.
8862313086aSBlue SwirlETEXI
8872313086aSBlue Swirl
888d7f9b689SLuiz Capitulino    {
889d7f9b689SLuiz Capitulino        .name       = "nmi",
890e9b4b432SLuiz Capitulino        .args_type  = "",
891e9b4b432SLuiz Capitulino        .params     = "",
8929cb805fdSAlexey Kardashevskiy        .help       = "inject an NMI",
8932b9e3576SMarc-André Lureau        .cmd        = hmp_nmi,
894d7f9b689SLuiz Capitulino    },
8952313086aSBlue SwirlSTEXI
8962313086aSBlue Swirl@item nmi @var{cpu}
89770fcbbe7SStefan Weil@findex nmi
8989cb805fdSAlexey KardashevskiyInject an NMI on the default CPU (x86/s390) or all CPUs (ppc64).
8991f590cf9SLei Li
9001f590cf9SLei LiETEXI
9011f590cf9SLei Li
9021f590cf9SLei Li    {
9033949e594SMarkus Armbruster        .name       = "ringbuf_write",
9041f590cf9SLei Li        .args_type  = "device:s,data:s",
9051f590cf9SLei Li        .params     = "device data",
9063949e594SMarkus Armbruster        .help       = "Write to a ring buffer character device",
9072b9e3576SMarc-André Lureau        .cmd        = hmp_ringbuf_write,
9088e597779SHani Benhabiles        .command_completion = ringbuf_write_completion,
9091f590cf9SLei Li    },
9101f590cf9SLei Li
9111f590cf9SLei LiSTEXI
9123949e594SMarkus Armbruster@item ringbuf_write @var{device} @var{data}
9133949e594SMarkus Armbruster@findex ringbuf_write
9143949e594SMarkus ArmbrusterWrite @var{data} to ring buffer character device @var{device}.
9153949e594SMarkus Armbruster@var{data} must be a UTF-8 string.
9161f590cf9SLei Li
9172313086aSBlue SwirlETEXI
9182313086aSBlue Swirl
919d7f9b689SLuiz Capitulino    {
9203949e594SMarkus Armbruster        .name       = "ringbuf_read",
92149b6d722SLei Li        .args_type  = "device:s,size:i",
92249b6d722SLei Li        .params     = "device size",
9233949e594SMarkus Armbruster        .help       = "Read from a ring buffer character device",
9242b9e3576SMarc-André Lureau        .cmd        = hmp_ringbuf_read,
9258e597779SHani Benhabiles        .command_completion = ringbuf_write_completion,
92649b6d722SLei Li    },
92749b6d722SLei Li
92849b6d722SLei LiSTEXI
9293949e594SMarkus Armbruster@item ringbuf_read @var{device}
9303949e594SMarkus Armbruster@findex ringbuf_read
9313949e594SMarkus ArmbrusterRead and print up to @var{size} bytes from ring buffer character
9323949e594SMarkus Armbrusterdevice @var{device}.
933543f3412SMarkus ArmbrusterCertain non-printable characters are printed \uXXXX, where XXXX is the
934543f3412SMarkus Armbrustercharacter code in hexadecimal.  Character \ is printed \\.
9353949e594SMarkus ArmbrusterBug: can screw up when the buffer contains invalid UTF-8 sequences,
9363949e594SMarkus ArmbrusterNUL characters, after the ring buffer lost data, and when reading
9373949e594SMarkus Armbrusterstops because the size limit is reached.
93849b6d722SLei Li
93949b6d722SLei LiETEXI
94049b6d722SLei Li
94149b6d722SLei Li    {
942d7f9b689SLuiz Capitulino        .name       = "migrate",
9437a4da28bSPeter Xu        .args_type  = "detach:-d,blk:-b,inc:-i,resume:-r,uri:s",
9447a4da28bSPeter Xu        .params     = "[-d] [-b] [-i] [-r] uri",
945fbc3d96cSlirans@il.ibm.com        .help       = "migrate to URI (using -d to not wait for completion)"
946fbc3d96cSlirans@il.ibm.com		      "\n\t\t\t -b for migration without shared storage with"
947fbc3d96cSlirans@il.ibm.com		      " full copy of disk\n\t\t\t -i for migration without "
948fbc3d96cSlirans@il.ibm.com		      "shared storage with incremental copy of disk "
9497a4da28bSPeter Xu		      "(base image shared between src and destination)"
9507a4da28bSPeter Xu                      "\n\t\t\t -r to resume a paused migration",
9512b9e3576SMarc-André Lureau        .cmd        = hmp_migrate,
952d7f9b689SLuiz Capitulino    },
953d7f9b689SLuiz Capitulino
954fbc3d96cSlirans@il.ibm.com
9552313086aSBlue SwirlSTEXI
956fbc3d96cSlirans@il.ibm.com@item migrate [-d] [-b] [-i] @var{uri}
95770fcbbe7SStefan Weil@findex migrate
9582313086aSBlue SwirlMigrate to @var{uri} (using -d to not wait for completion).
959fbc3d96cSlirans@il.ibm.com	-b for migration with full copy of disk
960fbc3d96cSlirans@il.ibm.com	-i for migration with incremental copy of disk (base image is shared)
9612313086aSBlue SwirlETEXI
9622313086aSBlue Swirl
963d7f9b689SLuiz Capitulino    {
964d7f9b689SLuiz Capitulino        .name       = "migrate_cancel",
965d7f9b689SLuiz Capitulino        .args_type  = "",
966d7f9b689SLuiz Capitulino        .params     = "",
967d7f9b689SLuiz Capitulino        .help       = "cancel the current VM migration",
9682b9e3576SMarc-André Lureau        .cmd        = hmp_migrate_cancel,
969d7f9b689SLuiz Capitulino    },
970d7f9b689SLuiz Capitulino
9712313086aSBlue SwirlSTEXI
9722313086aSBlue Swirl@item migrate_cancel
97370fcbbe7SStefan Weil@findex migrate_cancel
9742313086aSBlue SwirlCancel the current VM migration.
97594ae12cbSDr. David Alan GilbertETEXI
9769e1ba4ccSOrit Wasserman
97794ae12cbSDr. David Alan Gilbert    {
97894ae12cbSDr. David Alan Gilbert        .name       = "migrate_continue",
97994ae12cbSDr. David Alan Gilbert        .args_type  = "state:s",
98094ae12cbSDr. David Alan Gilbert        .params     = "state",
98194ae12cbSDr. David Alan Gilbert        .help       = "Continue migration from the given paused state",
98294ae12cbSDr. David Alan Gilbert        .cmd        = hmp_migrate_continue,
98394ae12cbSDr. David Alan Gilbert    },
98494ae12cbSDr. David Alan GilbertSTEXI
98594ae12cbSDr. David Alan Gilbert@item migrate_continue @var{state}
98694ae12cbSDr. David Alan Gilbert@findex migrate_continue
98794ae12cbSDr. David Alan GilbertContinue migration from the paused state @var{state}
9889e1ba4ccSOrit WassermanETEXI
9899e1ba4ccSOrit Wasserman
9909e1ba4ccSOrit Wasserman    {
991bf1ae1f4SDr. David Alan Gilbert        .name       = "migrate_incoming",
992bf1ae1f4SDr. David Alan Gilbert        .args_type  = "uri:s",
993bf1ae1f4SDr. David Alan Gilbert        .params     = "uri",
994bf1ae1f4SDr. David Alan Gilbert        .help       = "Continue an incoming migration from an -incoming defer",
9952b9e3576SMarc-André Lureau        .cmd        = hmp_migrate_incoming,
996bf1ae1f4SDr. David Alan Gilbert    },
997bf1ae1f4SDr. David Alan Gilbert
998bf1ae1f4SDr. David Alan GilbertSTEXI
999bf1ae1f4SDr. David Alan Gilbert@item migrate_incoming @var{uri}
1000bf1ae1f4SDr. David Alan Gilbert@findex migrate_incoming
1001bf1ae1f4SDr. David Alan GilbertContinue an incoming migration using the @var{uri} (that has the same syntax
1002bf1ae1f4SDr. David Alan Gilbertas the -incoming option).
10033b563c4bSPeter XuETEXI
1004bf1ae1f4SDr. David Alan Gilbert
10053b563c4bSPeter Xu    {
10063b563c4bSPeter Xu        .name       = "migrate_recover",
10073b563c4bSPeter Xu        .args_type  = "uri:s",
10083b563c4bSPeter Xu        .params     = "uri",
10093b563c4bSPeter Xu        .help       = "Continue a paused incoming postcopy migration",
10103b563c4bSPeter Xu        .cmd        = hmp_migrate_recover,
10113b563c4bSPeter Xu    },
10123b563c4bSPeter Xu
10133b563c4bSPeter XuSTEXI
10143b563c4bSPeter Xu@item migrate_recover @var{uri}
10153b563c4bSPeter Xu@findex migrate_recover
10163b563c4bSPeter XuContinue a paused incoming postcopy migration using the @var{uri}.
1017bf1ae1f4SDr. David Alan GilbertETEXI
1018bf1ae1f4SDr. David Alan Gilbert
1019bf1ae1f4SDr. David Alan Gilbert    {
1020d37297dcSPeter Xu        .name       = "migrate_pause",
1021d37297dcSPeter Xu        .args_type  = "",
1022d37297dcSPeter Xu        .params     = "",
1023d37297dcSPeter Xu        .help       = "Pause an ongoing migration (postcopy-only)",
1024d37297dcSPeter Xu        .cmd        = hmp_migrate_pause,
1025d37297dcSPeter Xu    },
1026d37297dcSPeter Xu
1027d37297dcSPeter XuSTEXI
1028d37297dcSPeter Xu@item migrate_pause
1029d37297dcSPeter Xu@findex migrate_pause
1030d37297dcSPeter XuPause an ongoing migration.  Currently it only supports postcopy.
1031d37297dcSPeter XuETEXI
1032d37297dcSPeter Xu
1033d37297dcSPeter Xu    {
10349e1ba4ccSOrit Wasserman        .name       = "migrate_set_cache_size",
10359e1ba4ccSOrit Wasserman        .args_type  = "value:o",
10369e1ba4ccSOrit Wasserman        .params     = "value",
10379e1ba4ccSOrit Wasserman        .help       = "set cache size (in bytes) for XBZRLE migrations,"
10389e1ba4ccSOrit Wasserman                      "the cache size will be rounded down to the nearest "
10399e1ba4ccSOrit Wasserman                      "power of 2.\n"
10409e1ba4ccSOrit Wasserman                      "The cache size affects the number of cache misses."
10419e1ba4ccSOrit Wasserman                      "In case of a high cache miss ratio you need to increase"
10429e1ba4ccSOrit Wasserman                      " the cache size",
10432b9e3576SMarc-André Lureau        .cmd        = hmp_migrate_set_cache_size,
10449e1ba4ccSOrit Wasserman    },
10459e1ba4ccSOrit Wasserman
10469e1ba4ccSOrit WassermanSTEXI
10479e1ba4ccSOrit Wasserman@item migrate_set_cache_size @var{value}
10489e1ba4ccSOrit Wasserman@findex migrate_set_cache_size
10499e1ba4ccSOrit WassermanSet cache size to @var{value} (in bytes) for xbzrle migrations.
10502313086aSBlue SwirlETEXI
10512313086aSBlue Swirl
1052d7f9b689SLuiz Capitulino    {
1053d7f9b689SLuiz Capitulino        .name       = "migrate_set_speed",
1054ed3d4a80SJes Sorensen        .args_type  = "value:o",
1055d7f9b689SLuiz Capitulino        .params     = "value",
1056ed3d4a80SJes Sorensen        .help       = "set maximum speed (in bytes) for migrations. "
1057ed3d4a80SJes Sorensen	"Defaults to MB if no size suffix is specified, ie. B/K/M/G/T",
10582b9e3576SMarc-André Lureau        .cmd        = hmp_migrate_set_speed,
1059d7f9b689SLuiz Capitulino    },
1060d7f9b689SLuiz Capitulino
10612313086aSBlue SwirlSTEXI
10622313086aSBlue Swirl@item migrate_set_speed @var{value}
106370fcbbe7SStefan Weil@findex migrate_set_speed
10642313086aSBlue SwirlSet maximum speed to @var{value} (in bytes) for migrations.
10652313086aSBlue SwirlETEXI
10662313086aSBlue Swirl
1067d7f9b689SLuiz Capitulino    {
1068d7f9b689SLuiz Capitulino        .name       = "migrate_set_downtime",
1069b0fbf7d3SMarkus Armbruster        .args_type  = "value:T",
1070d7f9b689SLuiz Capitulino        .params     = "value",
1071d7f9b689SLuiz Capitulino        .help       = "set maximum tolerated downtime (in seconds) for migrations",
10722b9e3576SMarc-André Lureau        .cmd        = hmp_migrate_set_downtime,
1073d7f9b689SLuiz Capitulino    },
10742ea42952SGlauber Costa
10752ea42952SGlauber CostaSTEXI
10762ea42952SGlauber Costa@item migrate_set_downtime @var{second}
107770fcbbe7SStefan Weil@findex migrate_set_downtime
10782ea42952SGlauber CostaSet maximum tolerated downtime (in seconds) for migration.
10792ea42952SGlauber CostaETEXI
10802ea42952SGlauber Costa
1081f8882568SJes Sorensen    {
108200458433SOrit Wasserman        .name       = "migrate_set_capability",
108300458433SOrit Wasserman        .args_type  = "capability:s,state:b",
108400458433SOrit Wasserman        .params     = "capability state",
108500458433SOrit Wasserman        .help       = "Enable/Disable the usage of a capability for migration",
10862b9e3576SMarc-André Lureau        .cmd        = hmp_migrate_set_capability,
1087c68a0409SHani Benhabiles        .command_completion = migrate_set_capability_completion,
108800458433SOrit Wasserman    },
108900458433SOrit Wasserman
109000458433SOrit WassermanSTEXI
109100458433SOrit Wasserman@item migrate_set_capability @var{capability} @var{state}
109200458433SOrit Wasserman@findex migrate_set_capability
109300458433SOrit WassermanEnable/Disable the usage of a capability @var{capability} for migration.
109400458433SOrit WassermanETEXI
109500458433SOrit Wasserman
109600458433SOrit Wasserman    {
109750e9a629SLiang Li        .name       = "migrate_set_parameter",
109869ef1f36SDaniel P. Berrange        .args_type  = "parameter:s,value:s",
109950e9a629SLiang Li        .params     = "parameter value",
110050e9a629SLiang Li        .help       = "Set the parameter for migration",
11012b9e3576SMarc-André Lureau        .cmd        = hmp_migrate_set_parameter,
110250e9a629SLiang Li        .command_completion = migrate_set_parameter_completion,
110350e9a629SLiang Li    },
110450e9a629SLiang Li
110550e9a629SLiang LiSTEXI
110650e9a629SLiang Li@item migrate_set_parameter @var{parameter} @var{value}
110750e9a629SLiang Li@findex migrate_set_parameter
110850e9a629SLiang LiSet the parameter @var{parameter} for migration.
110950e9a629SLiang LiETEXI
111050e9a629SLiang Li
111150e9a629SLiang Li    {
11124886a1bcSDr. David Alan Gilbert        .name       = "migrate_start_postcopy",
11134886a1bcSDr. David Alan Gilbert        .args_type  = "",
11144886a1bcSDr. David Alan Gilbert        .params     = "",
1115a54d340bSDr. David Alan Gilbert        .help       = "Followup to a migration command to switch the migration"
111632c3db5bSDr. David Alan Gilbert                      " to postcopy mode. The postcopy-ram capability must "
1117c2eb7f21SGreg Kurz                      "be set on both source and destination before the "
1118c2eb7f21SGreg Kurz                      "original migration command .",
11192b9e3576SMarc-André Lureau        .cmd        = hmp_migrate_start_postcopy,
11204886a1bcSDr. David Alan Gilbert    },
11214886a1bcSDr. David Alan Gilbert
11224886a1bcSDr. David Alan GilbertSTEXI
11234886a1bcSDr. David Alan Gilbert@item migrate_start_postcopy
11244886a1bcSDr. David Alan Gilbert@findex migrate_start_postcopy
11254886a1bcSDr. David Alan GilbertSwitch in-progress migration to postcopy mode. Ignored after the end of
11264886a1bcSDr. David Alan Gilbertmigration (or once already in postcopy).
11274886a1bcSDr. David Alan GilbertETEXI
11284886a1bcSDr. David Alan Gilbert
11294886a1bcSDr. David Alan Gilbert    {
1130d89e666eSzhanghailiang        .name       = "x_colo_lost_heartbeat",
1131d89e666eSzhanghailiang        .args_type  = "",
1132d89e666eSzhanghailiang        .params     = "",
1133d89e666eSzhanghailiang        .help       = "Tell COLO that heartbeat is lost,\n\t\t\t"
1134d89e666eSzhanghailiang                      "a failover or takeover is needed.",
1135d89e666eSzhanghailiang        .cmd = hmp_x_colo_lost_heartbeat,
1136d89e666eSzhanghailiang    },
1137d89e666eSzhanghailiang
1138d89e666eSzhanghailiangSTEXI
1139d89e666eSzhanghailiang@item x_colo_lost_heartbeat
1140d89e666eSzhanghailiang@findex x_colo_lost_heartbeat
1141d89e666eSzhanghailiangTell COLO that heartbeat is lost, a failover or takeover is needed.
1142d89e666eSzhanghailiangETEXI
1143d89e666eSzhanghailiang
1144d89e666eSzhanghailiang    {
11452ea720dbSJes Sorensen        .name       = "client_migrate_info",
11462ea720dbSJes Sorensen        .args_type  = "protocol:s,hostname:s,port:i?,tls-port:i?,cert-subject:s?",
11472ea720dbSJes Sorensen        .params     = "protocol hostname port tls-port cert-subject",
114813cadefbSMarkus Armbruster        .help       = "set migration information for remote display",
11492b9e3576SMarc-André Lureau        .cmd        = hmp_client_migrate_info,
1150f8882568SJes Sorensen    },
1151f8882568SJes Sorensen
1152f8882568SJes SorensenSTEXI
1153e866e239SGerd Hoffmann@item client_migrate_info @var{protocol} @var{hostname} @var{port} @var{tls-port} @var{cert-subject}
1154e866e239SGerd Hoffmann@findex client_migrate_info
115513cadefbSMarkus ArmbrusterSet migration information for remote display.  This makes the server
115613cadefbSMarkus Armbrusterask the client to automatically reconnect using the new parameters
115713cadefbSMarkus Armbrusteronce migration finished successfully.  Only implemented for SPICE.
1158e866e239SGerd HoffmannETEXI
1159e866e239SGerd Hoffmann
1160783e9b48SWen Congyang    {
1161783e9b48SWen Congyang        .name       = "dump-guest-memory",
11622da91b54SViktor Prutyanov        .args_type  = "paging:-p,detach:-d,windmp:-w,zlib:-z,lzo:-l,snappy:-s,filename:F,begin:l?,length:l?",
11632da91b54SViktor Prutyanov        .params     = "[-p] [-d] [-z|-l|-s|-w] filename [begin length]",
1164c20499d9SQiao Nuohan        .help       = "dump guest memory into file 'filename'.\n\t\t\t"
1165c20499d9SQiao Nuohan                      "-p: do paging to get guest's memory mapping.\n\t\t\t"
1166228de9cfSPeter Xu                      "-d: return immediately (do not wait for completion).\n\t\t\t"
11671b7a0f75SQiao Nuohan                      "-z: dump in kdump-compressed format, with zlib compression.\n\t\t\t"
11681b7a0f75SQiao Nuohan                      "-l: dump in kdump-compressed format, with lzo compression.\n\t\t\t"
11691b7a0f75SQiao Nuohan                      "-s: dump in kdump-compressed format, with snappy compression.\n\t\t\t"
11702da91b54SViktor Prutyanov                      "-w: dump in Windows crashdump format (can be used instead of ELF-dump converting),\n\t\t\t"
11712da91b54SViktor Prutyanov                      "    for Windows x64 guests with vmcoreinfo driver only.\n\t\t\t"
1172c20499d9SQiao Nuohan                      "begin: the starting physical address.\n\t\t\t"
1173c20499d9SQiao Nuohan                      "length: the memory size, in bytes.",
11742b9e3576SMarc-André Lureau        .cmd        = hmp_dump_guest_memory,
1175783e9b48SWen Congyang    },
1176783e9b48SWen Congyang
1177783e9b48SWen CongyangSTEXI
1178c20499d9SQiao Nuohan@item dump-guest-memory [-p] @var{filename} @var{begin} @var{length}
11792da91b54SViktor Prutyanov@item dump-guest-memory [-z|-l|-s|-w] @var{filename}
1180783e9b48SWen Congyang@findex dump-guest-memory
1181783e9b48SWen CongyangDump guest memory to @var{protocol}. The file can be processed with crash or
11822da91b54SViktor Prutyanovgdb. Without -z|-l|-s|-w, the dump format is ELF.
1183c20499d9SQiao Nuohan        -p: do paging to get guest's memory mapping.
11841b7a0f75SQiao Nuohan        -z: dump in kdump-compressed format, with zlib compression.
11851b7a0f75SQiao Nuohan        -l: dump in kdump-compressed format, with lzo compression.
11861b7a0f75SQiao Nuohan        -s: dump in kdump-compressed format, with snappy compression.
11872da91b54SViktor Prutyanov        -w: dump in Windows crashdump format (can be used instead of ELF-dump converting),
11882da91b54SViktor Prutyanov            for Windows x64 guests with vmcoreinfo driver only
1189c20499d9SQiao Nuohan  filename: dump file name.
1190783e9b48SWen Congyang     begin: the starting physical address. It's optional, and should be
1191c20499d9SQiao Nuohan            specified together with length.
1192783e9b48SWen Congyang    length: the memory size, in bytes. It's optional, and should be specified
1193c20499d9SQiao Nuohan            together with begin.
1194783e9b48SWen CongyangETEXI
1195783e9b48SWen Congyang
1196a4538a5cSJason J. Herne#if defined(TARGET_S390X)
1197a4538a5cSJason J. Herne    {
1198a4538a5cSJason J. Herne        .name       = "dump-skeys",
1199a4538a5cSJason J. Herne        .args_type  = "filename:F",
1200a4538a5cSJason J. Herne        .params     = "",
1201a4538a5cSJason J. Herne        .help       = "Save guest storage keys into file 'filename'.\n",
12022b9e3576SMarc-André Lureau        .cmd        = hmp_dump_skeys,
1203a4538a5cSJason J. Herne    },
1204a4538a5cSJason J. Herne#endif
1205a4538a5cSJason J. Herne
1206a4538a5cSJason J. HerneSTEXI
1207a4538a5cSJason J. Herne@item dump-skeys @var{filename}
1208a4538a5cSJason J. Herne@findex dump-skeys
1209a4538a5cSJason J. HerneSave guest storage keys to a file.
1210a4538a5cSJason J. HerneETEXI
1211a4538a5cSJason J. Herne
1212f860d497SClaudio Imbrenda#if defined(TARGET_S390X)
1213f860d497SClaudio Imbrenda    {
1214f860d497SClaudio Imbrenda        .name       = "migration_mode",
1215f860d497SClaudio Imbrenda        .args_type  = "mode:i",
1216f860d497SClaudio Imbrenda        .params     = "mode",
1217f860d497SClaudio Imbrenda        .help       = "Enables or disables migration mode\n",
1218f860d497SClaudio Imbrenda        .cmd        = hmp_migrationmode,
1219f860d497SClaudio Imbrenda    },
1220f860d497SClaudio Imbrenda#endif
1221f860d497SClaudio Imbrenda
1222f860d497SClaudio ImbrendaSTEXI
1223f860d497SClaudio Imbrenda@item migration_mode @var{mode}
1224f860d497SClaudio Imbrenda@findex migration_mode
1225f860d497SClaudio ImbrendaEnables or disables migration mode.
1226f860d497SClaudio ImbrendaETEXI
1227f860d497SClaudio Imbrenda
1228e866e239SGerd Hoffmann    {
12292ea720dbSJes Sorensen        .name       = "snapshot_blkdev",
12306cc2a415SPaolo Bonzini        .args_type  = "reuse:-n,device:B,snapshot-file:s?,format:s?",
12316cc2a415SPaolo Bonzini        .params     = "[-n] device [new-image-file] [format]",
12322ea720dbSJes Sorensen        .help       = "initiates a live snapshot\n\t\t\t"
12332ea720dbSJes Sorensen                      "of device. If a new image file is specified, the\n\t\t\t"
12342ea720dbSJes Sorensen                      "new image file will become the new root image.\n\t\t\t"
12352ea720dbSJes Sorensen                      "If format is specified, the snapshot file will\n\t\t\t"
1236775ca88eSWenchao Xia                      "be created in that format.\n\t\t\t"
12376cc2a415SPaolo Bonzini                      "The default format is qcow2.  The -n flag requests QEMU\n\t\t\t"
12386cc2a415SPaolo Bonzini                      "to reuse the image found in new-image-file, instead of\n\t\t\t"
12396cc2a415SPaolo Bonzini                      "recreating it from scratch.",
12402b9e3576SMarc-André Lureau        .cmd        = hmp_snapshot_blkdev,
1241e866e239SGerd Hoffmann    },
1242e866e239SGerd Hoffmann
1243e866e239SGerd HoffmannSTEXI
1244f8882568SJes Sorensen@item snapshot_blkdev
1245f8882568SJes Sorensen@findex snapshot_blkdev
1246f8882568SJes SorensenSnapshot device, using snapshot file as target if provided
1247f8882568SJes SorensenETEXI
1248f8882568SJes Sorensen
1249d7f9b689SLuiz Capitulino    {
1250775ca88eSWenchao Xia        .name       = "snapshot_blkdev_internal",
1251775ca88eSWenchao Xia        .args_type  = "device:B,name:s",
1252775ca88eSWenchao Xia        .params     = "device name",
1253775ca88eSWenchao Xia        .help       = "take an internal snapshot of device.\n\t\t\t"
1254775ca88eSWenchao Xia                      "The format of the image used by device must\n\t\t\t"
1255775ca88eSWenchao Xia                      "support it, such as qcow2.\n\t\t\t",
12562b9e3576SMarc-André Lureau        .cmd        = hmp_snapshot_blkdev_internal,
1257775ca88eSWenchao Xia    },
1258775ca88eSWenchao Xia
1259775ca88eSWenchao XiaSTEXI
1260775ca88eSWenchao Xia@item snapshot_blkdev_internal
1261775ca88eSWenchao Xia@findex snapshot_blkdev_internal
1262775ca88eSWenchao XiaTake an internal snapshot on device if it support
1263775ca88eSWenchao XiaETEXI
1264775ca88eSWenchao Xia
1265775ca88eSWenchao Xia    {
12667a4ed2eeSWenchao Xia        .name       = "snapshot_delete_blkdev_internal",
12677a4ed2eeSWenchao Xia        .args_type  = "device:B,name:s,id:s?",
12687a4ed2eeSWenchao Xia        .params     = "device name [id]",
12697a4ed2eeSWenchao Xia        .help       = "delete an internal snapshot of device.\n\t\t\t"
12707a4ed2eeSWenchao Xia                      "If id is specified, qemu will try delete\n\t\t\t"
12717a4ed2eeSWenchao Xia                      "the snapshot matching both id and name.\n\t\t\t"
12727a4ed2eeSWenchao Xia                      "The format of the image used by device must\n\t\t\t"
12737a4ed2eeSWenchao Xia                      "support it, such as qcow2.\n\t\t\t",
12742b9e3576SMarc-André Lureau        .cmd        = hmp_snapshot_delete_blkdev_internal,
12757a4ed2eeSWenchao Xia    },
12767a4ed2eeSWenchao Xia
12777a4ed2eeSWenchao XiaSTEXI
12787a4ed2eeSWenchao Xia@item snapshot_delete_blkdev_internal
12797a4ed2eeSWenchao Xia@findex snapshot_delete_blkdev_internal
12807a4ed2eeSWenchao XiaDelete an internal snapshot on device if it support
12817a4ed2eeSWenchao XiaETEXI
12827a4ed2eeSWenchao Xia
12837a4ed2eeSWenchao Xia    {
1284d9b902dbSPaolo Bonzini        .name       = "drive_mirror",
1285d9b902dbSPaolo Bonzini        .args_type  = "reuse:-n,full:-f,device:B,target:s,format:s?",
1286d9b902dbSPaolo Bonzini        .params     = "[-n] [-f] device target [format]",
1287d9b902dbSPaolo Bonzini        .help       = "initiates live storage\n\t\t\t"
1288d9b902dbSPaolo Bonzini                      "migration for a device. The device's contents are\n\t\t\t"
1289d9b902dbSPaolo Bonzini                      "copied to the new image file, including data that\n\t\t\t"
1290d9b902dbSPaolo Bonzini                      "is written after the command is started.\n\t\t\t"
1291d9b902dbSPaolo Bonzini                      "The -n flag requests QEMU to reuse the image found\n\t\t\t"
1292d9b902dbSPaolo Bonzini                      "in new-image-file, instead of recreating it from scratch.\n\t\t\t"
1293d9b902dbSPaolo Bonzini                      "The -f flag requests QEMU to copy the whole disk,\n\t\t\t"
1294d9b902dbSPaolo Bonzini                      "so that the result does not need a backing file.\n\t\t\t",
12952b9e3576SMarc-André Lureau        .cmd        = hmp_drive_mirror,
1296d9b902dbSPaolo Bonzini    },
1297d9b902dbSPaolo BonziniSTEXI
1298d9b902dbSPaolo Bonzini@item drive_mirror
1299d9b902dbSPaolo Bonzini@findex drive_mirror
1300d9b902dbSPaolo BonziniStart mirroring a block device's writes to a new destination,
1301d9b902dbSPaolo Bonziniusing the specified target.
1302d9b902dbSPaolo BonziniETEXI
1303d9b902dbSPaolo Bonzini
1304d9b902dbSPaolo Bonzini    {
1305de90930aSStefan Hajnoczi        .name       = "drive_backup",
130613b9414bSPavel Butsykin        .args_type  = "reuse:-n,full:-f,compress:-c,device:B,target:s,format:s?",
130713b9414bSPavel Butsykin        .params     = "[-n] [-f] [-c] device target [format]",
1308de90930aSStefan Hajnoczi        .help       = "initiates a point-in-time\n\t\t\t"
1309de90930aSStefan Hajnoczi                      "copy for a device. The device's contents are\n\t\t\t"
1310de90930aSStefan Hajnoczi                      "copied to the new image file, excluding data that\n\t\t\t"
1311de90930aSStefan Hajnoczi                      "is written after the command is started.\n\t\t\t"
1312de90930aSStefan Hajnoczi                      "The -n flag requests QEMU to reuse the image found\n\t\t\t"
1313de90930aSStefan Hajnoczi                      "in new-image-file, instead of recreating it from scratch.\n\t\t\t"
1314de90930aSStefan Hajnoczi                      "The -f flag requests QEMU to copy the whole disk,\n\t\t\t"
131513b9414bSPavel Butsykin                      "so that the result does not need a backing file.\n\t\t\t"
131613b9414bSPavel Butsykin                      "The -c flag requests QEMU to compress backup data\n\t\t\t"
131713b9414bSPavel Butsykin                      "(if the target format supports it).\n\t\t\t",
13182b9e3576SMarc-André Lureau        .cmd        = hmp_drive_backup,
1319de90930aSStefan Hajnoczi    },
1320de90930aSStefan HajnocziSTEXI
1321de90930aSStefan Hajnoczi@item drive_backup
1322de90930aSStefan Hajnoczi@findex drive_backup
1323de90930aSStefan HajnocziStart a point-in-time copy of a block device to a specificed target.
1324de90930aSStefan HajnocziETEXI
1325de90930aSStefan Hajnoczi
1326de90930aSStefan Hajnoczi    {
1327d7f9b689SLuiz Capitulino        .name       = "drive_add",
1328abb21ac3SKevin Wolf        .args_type  = "node:-n,pci_addr:s,opts:s",
1329abb21ac3SKevin Wolf        .params     = "[-n] [[<domain>:]<bus>:]<slot>\n"
13302313086aSBlue Swirl                      "[file=file][,if=type][,bus=n]\n"
1331fb0490f6SStefan Hajnoczi                      "[,unit=m][,media=d][,index=i]\n"
1332fb0490f6SStefan Hajnoczi                      "[,snapshot=on|off][,cache=on|off]\n"
1333fb0490f6SStefan Hajnoczi                      "[,readonly=on|off][,copy-on-read=on|off]",
1334d7f9b689SLuiz Capitulino        .help       = "add drive to PCI storage controller",
13352b9e3576SMarc-André Lureau        .cmd        = hmp_drive_add,
1336d7f9b689SLuiz Capitulino    },
1337d7f9b689SLuiz Capitulino
13382313086aSBlue SwirlSTEXI
13392313086aSBlue Swirl@item drive_add
134070fcbbe7SStefan Weil@findex drive_add
13412313086aSBlue SwirlAdd drive to PCI storage controller.
13422313086aSBlue SwirlETEXI
13432313086aSBlue Swirl
1344d7f9b689SLuiz Capitulino    {
13452ae63bdaSIsaku Yamahata        .name       = "pcie_aer_inject_error",
13462ae63bdaSIsaku Yamahata        .args_type  = "advisory_non_fatal:-a,correctable:-c,"
13472ae63bdaSIsaku Yamahata	              "id:s,error_status:s,"
13482ae63bdaSIsaku Yamahata	              "header0:i?,header1:i?,header2:i?,header3:i?,"
13492ae63bdaSIsaku Yamahata	              "prefix0:i?,prefix1:i?,prefix2:i?,prefix3:i?",
13502ae63bdaSIsaku Yamahata        .params     = "[-a] [-c] id "
13512ae63bdaSIsaku Yamahata                      "<error_status> [<tlp header> [<tlp header prefix>]]",
13522ae63bdaSIsaku Yamahata        .help       = "inject pcie aer error\n\t\t\t"
13532ae63bdaSIsaku Yamahata	              " -a for advisory non fatal error\n\t\t\t"
13542ae63bdaSIsaku Yamahata	              " -c for correctable error\n\t\t\t"
13552ae63bdaSIsaku Yamahata                      "<id> = qdev device id\n\t\t\t"
13562ae63bdaSIsaku Yamahata                      "<error_status> = error string or 32bit\n\t\t\t"
13572ae63bdaSIsaku Yamahata                      "<tlb header> = 32bit x 4\n\t\t\t"
13582ae63bdaSIsaku Yamahata                      "<tlb header prefix> = 32bit x 4",
13592b9e3576SMarc-André Lureau        .cmd        = hmp_pcie_aer_inject_error,
13602ae63bdaSIsaku Yamahata    },
13612ae63bdaSIsaku Yamahata
13622ae63bdaSIsaku YamahataSTEXI
13632ae63bdaSIsaku Yamahata@item pcie_aer_inject_error
13642ae63bdaSIsaku Yamahata@findex pcie_aer_inject_error
13652ae63bdaSIsaku YamahataInject PCIe AER error
13662ae63bdaSIsaku YamahataETEXI
13672ae63bdaSIsaku Yamahata
13682ae63bdaSIsaku Yamahata    {
1369ae82d324SMarkus Armbruster        .name       = "netdev_add",
1370ae82d324SMarkus Armbruster        .args_type  = "netdev:O",
137103ce5744SNikolay Nikolaev        .params     = "[user|tap|socket|vde|bridge|hubport|netmap|vhost-user],id=str[,prop=value][,...]",
1372ae82d324SMarkus Armbruster        .help       = "add host network device",
13732b9e3576SMarc-André Lureau        .cmd        = hmp_netdev_add,
1374b162b49aSHani Benhabiles        .command_completion = netdev_add_completion,
1375ae82d324SMarkus Armbruster    },
1376ae82d324SMarkus Armbruster
1377ae82d324SMarkus ArmbrusterSTEXI
1378ae82d324SMarkus Armbruster@item netdev_add
1379ae82d324SMarkus Armbruster@findex netdev_add
1380ae82d324SMarkus ArmbrusterAdd host network device.
1381ae82d324SMarkus ArmbrusterETEXI
1382ae82d324SMarkus Armbruster
1383ae82d324SMarkus Armbruster    {
1384ae82d324SMarkus Armbruster        .name       = "netdev_del",
1385ae82d324SMarkus Armbruster        .args_type  = "id:s",
1386ae82d324SMarkus Armbruster        .params     = "id",
1387ae82d324SMarkus Armbruster        .help       = "remove host network device",
13882b9e3576SMarc-André Lureau        .cmd        = hmp_netdev_del,
138911b389f2SHani Benhabiles        .command_completion = netdev_del_completion,
1390ae82d324SMarkus Armbruster    },
1391ae82d324SMarkus Armbruster
1392ae82d324SMarkus ArmbrusterSTEXI
1393ae82d324SMarkus Armbruster@item netdev_del
1394ae82d324SMarkus Armbruster@findex netdev_del
1395ae82d324SMarkus ArmbrusterRemove host network device.
1396ae82d324SMarkus ArmbrusterETEXI
1397ae82d324SMarkus Armbruster
1398ab2d0531SPaolo Bonzini    {
1399cff8b2c6SPaolo Bonzini        .name       = "object_add",
1400cff8b2c6SPaolo Bonzini        .args_type  = "object:O",
1401cff8b2c6SPaolo Bonzini        .params     = "[qom-type=]type,id=str[,prop=value][,...]",
1402cff8b2c6SPaolo Bonzini        .help       = "create QOM object",
14032b9e3576SMarc-André Lureau        .cmd        = hmp_object_add,
1404bfa40f77SHani Benhabiles        .command_completion = object_add_completion,
1405cff8b2c6SPaolo Bonzini    },
1406cff8b2c6SPaolo Bonzini
1407cff8b2c6SPaolo BonziniSTEXI
1408cff8b2c6SPaolo Bonzini@item object_add
1409cff8b2c6SPaolo Bonzini@findex object_add
1410cff8b2c6SPaolo BonziniCreate QOM object.
1411cff8b2c6SPaolo BonziniETEXI
1412cff8b2c6SPaolo Bonzini
1413cff8b2c6SPaolo Bonzini    {
1414ab2d0531SPaolo Bonzini        .name       = "object_del",
1415ab2d0531SPaolo Bonzini        .args_type  = "id:s",
1416ab2d0531SPaolo Bonzini        .params     = "id",
1417ab2d0531SPaolo Bonzini        .help       = "destroy QOM object",
14182b9e3576SMarc-André Lureau        .cmd        = hmp_object_del,
1419bfa40f77SHani Benhabiles        .command_completion = object_del_completion,
1420ab2d0531SPaolo Bonzini    },
1421ab2d0531SPaolo Bonzini
1422ab2d0531SPaolo BonziniSTEXI
1423ab2d0531SPaolo Bonzini@item object_del
1424ab2d0531SPaolo Bonzini@findex object_del
1425ab2d0531SPaolo BonziniDestroy QOM object.
1426ab2d0531SPaolo BonziniETEXI
1427ab2d0531SPaolo Bonzini
14282313086aSBlue Swirl#ifdef CONFIG_SLIRP
1429d7f9b689SLuiz Capitulino    {
1430d7f9b689SLuiz Capitulino        .name       = "hostfwd_add",
1431d7f9b689SLuiz Capitulino        .args_type  = "arg1:s,arg2:s?,arg3:s?",
143293653066SThomas Huth        .params     = "[hub_id name]|[netdev_id] [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport",
1433d7f9b689SLuiz Capitulino        .help       = "redirect TCP or UDP connections from host to guest (requires -net user)",
14342b9e3576SMarc-André Lureau        .cmd        = hmp_hostfwd_add,
1435d7f9b689SLuiz Capitulino    },
143621413d68SMarkus Armbruster#endif
143721413d68SMarkus ArmbrusterSTEXI
143821413d68SMarkus Armbruster@item hostfwd_add
143921413d68SMarkus Armbruster@findex hostfwd_add
144021413d68SMarkus ArmbrusterRedirect TCP or UDP connections from host to guest (requires -net user).
144121413d68SMarkus ArmbrusterETEXI
1442d7f9b689SLuiz Capitulino
144321413d68SMarkus Armbruster#ifdef CONFIG_SLIRP
1444d7f9b689SLuiz Capitulino    {
1445d7f9b689SLuiz Capitulino        .name       = "hostfwd_remove",
1446d7f9b689SLuiz Capitulino        .args_type  = "arg1:s,arg2:s?,arg3:s?",
144793653066SThomas Huth        .params     = "[hub_id name]|[netdev_id] [tcp|udp]:[hostaddr]:hostport",
1448d7f9b689SLuiz Capitulino        .help       = "remove host-to-guest TCP or UDP redirection",
14492b9e3576SMarc-André Lureau        .cmd        = hmp_hostfwd_remove,
1450d7f9b689SLuiz Capitulino    },
1451d7f9b689SLuiz Capitulino
14522313086aSBlue Swirl#endif
14532313086aSBlue SwirlSTEXI
145421413d68SMarkus Armbruster@item hostfwd_remove
145521413d68SMarkus Armbruster@findex hostfwd_remove
145621413d68SMarkus ArmbrusterRemove host-to-guest TCP or UDP redirection.
14572313086aSBlue SwirlETEXI
14582313086aSBlue Swirl
1459d7f9b689SLuiz Capitulino    {
1460d7f9b689SLuiz Capitulino        .name       = "balloon",
14613b0bd6ecSLuiz Capitulino        .args_type  = "value:M",
1462d7f9b689SLuiz Capitulino        .params     = "target",
14633c05613aSRiccardo Magliocchetti        .help       = "request VM to change its memory allocation (in MB)",
14642b9e3576SMarc-André Lureau        .cmd        = hmp_balloon,
1465d7f9b689SLuiz Capitulino    },
1466d7f9b689SLuiz Capitulino
14672313086aSBlue SwirlSTEXI
14682313086aSBlue Swirl@item balloon @var{value}
146970fcbbe7SStefan Weil@findex balloon
14702313086aSBlue SwirlRequest VM to change its memory allocation to @var{value} (in MB).
14712313086aSBlue SwirlETEXI
14722313086aSBlue Swirl
1473d7f9b689SLuiz Capitulino    {
1474d7f9b689SLuiz Capitulino        .name       = "set_link",
1475c9b26a4cSMarkus Armbruster        .args_type  = "name:s,up:b",
1476c9b26a4cSMarkus Armbruster        .params     = "name on|off",
1477d7f9b689SLuiz Capitulino        .help       = "change the link status of a network adapter",
14782b9e3576SMarc-André Lureau        .cmd        = hmp_set_link,
147940d19394SHani Benhabiles        .command_completion = set_link_completion,
1480d7f9b689SLuiz Capitulino    },
1481d7f9b689SLuiz Capitulino
14822313086aSBlue SwirlSTEXI
1483c9b26a4cSMarkus Armbruster@item set_link @var{name} [on|off]
148470fcbbe7SStefan Weil@findex set_link
1485c9b26a4cSMarkus ArmbrusterSwitch link @var{name} on (i.e. up) or off (i.e. down).
14862313086aSBlue SwirlETEXI
14872313086aSBlue Swirl
1488d7f9b689SLuiz Capitulino    {
1489d7f9b689SLuiz Capitulino        .name       = "watchdog_action",
1490d7f9b689SLuiz Capitulino        .args_type  = "action:s",
1491d7f9b689SLuiz Capitulino        .params     = "[reset|shutdown|poweroff|pause|debug|none]",
1492d7f9b689SLuiz Capitulino        .help       = "change watchdog action",
14932b9e3576SMarc-André Lureau        .cmd        = hmp_watchdog_action,
1494d0ece345SHani Benhabiles        .command_completion = watchdog_action_completion,
1495d7f9b689SLuiz Capitulino    },
1496d7f9b689SLuiz Capitulino
14972313086aSBlue SwirlSTEXI
14982313086aSBlue Swirl@item watchdog_action
149970fcbbe7SStefan Weil@findex watchdog_action
15002313086aSBlue SwirlChange watchdog action.
15012313086aSBlue SwirlETEXI
15022313086aSBlue Swirl
1503d7f9b689SLuiz Capitulino    {
1504d7f9b689SLuiz Capitulino        .name       = "acl_show",
1505d7f9b689SLuiz Capitulino        .args_type  = "aclname:s",
1506d7f9b689SLuiz Capitulino        .params     = "aclname",
1507d7f9b689SLuiz Capitulino        .help       = "list rules in the access control list",
15082b9e3576SMarc-André Lureau        .cmd        = hmp_acl_show,
1509d7f9b689SLuiz Capitulino    },
1510d7f9b689SLuiz Capitulino
15112313086aSBlue SwirlSTEXI
151215dfcd45SJan Kiszka@item acl_show @var{aclname}
151370fcbbe7SStefan Weil@findex acl_show
151415dfcd45SJan KiszkaList all the matching rules in the access control list, and the default
151515dfcd45SJan Kiszkapolicy. There are currently two named access control lists,
151615dfcd45SJan Kiszka@var{vnc.x509dname} and @var{vnc.username} matching on the x509 client
151715dfcd45SJan Kiszkacertificate distinguished name, and SASL username respectively.
151815dfcd45SJan KiszkaETEXI
15192313086aSBlue Swirl
1520d7f9b689SLuiz Capitulino    {
1521d7f9b689SLuiz Capitulino        .name       = "acl_policy",
1522d7f9b689SLuiz Capitulino        .args_type  = "aclname:s,policy:s",
1523d7f9b689SLuiz Capitulino        .params     = "aclname allow|deny",
1524d7f9b689SLuiz Capitulino        .help       = "set default access control list policy",
15252b9e3576SMarc-André Lureau        .cmd        = hmp_acl_policy,
1526d7f9b689SLuiz Capitulino    },
1527d7f9b689SLuiz Capitulino
152815dfcd45SJan KiszkaSTEXI
1529cbbfacc6SJan Kiszka@item acl_policy @var{aclname} @code{allow|deny}
153070fcbbe7SStefan Weil@findex acl_policy
153115dfcd45SJan KiszkaSet the default access control list policy, used in the event that
15322313086aSBlue Swirlnone of the explicit rules match. The default policy at startup is
153315dfcd45SJan Kiszkaalways @code{deny}.
153415dfcd45SJan KiszkaETEXI
153515dfcd45SJan Kiszka
1536d7f9b689SLuiz Capitulino    {
1537d7f9b689SLuiz Capitulino        .name       = "acl_add",
1538d7f9b689SLuiz Capitulino        .args_type  = "aclname:s,match:s,policy:s,index:i?",
1539d7f9b689SLuiz Capitulino        .params     = "aclname match allow|deny [index]",
1540d7f9b689SLuiz Capitulino        .help       = "add a match rule to the access control list",
15412b9e3576SMarc-André Lureau        .cmd        = hmp_acl_add,
1542d7f9b689SLuiz Capitulino    },
1543d7f9b689SLuiz Capitulino
154415dfcd45SJan KiszkaSTEXI
15450e4aec98SMarkus Armbruster@item acl_add @var{aclname} @var{match} @code{allow|deny} [@var{index}]
15460e4aec98SMarkus Armbruster@findex acl_add
154715dfcd45SJan KiszkaAdd a match rule to the access control list, allowing or denying access.
154815dfcd45SJan KiszkaThe match will normally be an exact username or x509 distinguished name,
154915dfcd45SJan Kiszkabut can optionally include wildcard globs. eg @code{*@@EXAMPLE.COM} to
155015dfcd45SJan Kiszkaallow all users in the @code{EXAMPLE.COM} kerberos realm. The match will
15512313086aSBlue Swirlnormally be appended to the end of the ACL, but can be inserted
155215dfcd45SJan Kiszkaearlier in the list if the optional @var{index} parameter is supplied.
155315dfcd45SJan KiszkaETEXI
155415dfcd45SJan Kiszka
1555d7f9b689SLuiz Capitulino    {
1556d7f9b689SLuiz Capitulino        .name       = "acl_remove",
1557d7f9b689SLuiz Capitulino        .args_type  = "aclname:s,match:s",
1558d7f9b689SLuiz Capitulino        .params     = "aclname match",
1559d7f9b689SLuiz Capitulino        .help       = "remove a match rule from the access control list",
15602b9e3576SMarc-André Lureau        .cmd        = hmp_acl_remove,
1561d7f9b689SLuiz Capitulino    },
1562d7f9b689SLuiz Capitulino
156315dfcd45SJan KiszkaSTEXI
156415dfcd45SJan Kiszka@item acl_remove @var{aclname} @var{match}
156570fcbbe7SStefan Weil@findex acl_remove
156615dfcd45SJan KiszkaRemove the specified match rule from the access control list.
156715dfcd45SJan KiszkaETEXI
156815dfcd45SJan Kiszka
1569d7f9b689SLuiz Capitulino    {
1570d7f9b689SLuiz Capitulino        .name       = "acl_reset",
1571d7f9b689SLuiz Capitulino        .args_type  = "aclname:s",
1572d7f9b689SLuiz Capitulino        .params     = "aclname",
1573d7f9b689SLuiz Capitulino        .help       = "reset the access control list",
15742b9e3576SMarc-André Lureau        .cmd        = hmp_acl_reset,
1575d7f9b689SLuiz Capitulino    },
1576d7f9b689SLuiz Capitulino
157715dfcd45SJan KiszkaSTEXI
15780e4aec98SMarkus Armbruster@item acl_reset @var{aclname}
15790e4aec98SMarkus Armbruster@findex acl_reset
158015dfcd45SJan KiszkaRemove all matches from the access control list, and set the default
15812313086aSBlue Swirlpolicy back to @code{deny}.
15822313086aSBlue SwirlETEXI
15832313086aSBlue Swirl
15844057725fSPaolo Bonzini    {
15854057725fSPaolo Bonzini        .name       = "nbd_server_start",
15864057725fSPaolo Bonzini        .args_type  = "all:-a,writable:-w,uri:s",
15874057725fSPaolo Bonzini        .params     = "nbd_server_start [-a] [-w] host:port",
15884057725fSPaolo Bonzini        .help       = "serve block devices on the given host and port",
15892b9e3576SMarc-André Lureau        .cmd        = hmp_nbd_server_start,
15904057725fSPaolo Bonzini    },
15914057725fSPaolo BonziniSTEXI
15924057725fSPaolo Bonzini@item nbd_server_start @var{host}:@var{port}
15934057725fSPaolo Bonzini@findex nbd_server_start
15944057725fSPaolo BonziniStart an NBD server on the given host and/or port.  If the @option{-a}
15954057725fSPaolo Bonzinioption is included, all of the virtual machine's block devices that
15964057725fSPaolo Bonzinihave an inserted media on them are automatically exported; in this case,
15974057725fSPaolo Bonzinithe @option{-w} option makes the devices writable too.
15984057725fSPaolo BonziniETEXI
15994057725fSPaolo Bonzini
16004057725fSPaolo Bonzini    {
16014057725fSPaolo Bonzini        .name       = "nbd_server_add",
1602dba49323SEric Blake        .args_type  = "writable:-w,device:B,name:s?",
1603dba49323SEric Blake        .params     = "nbd_server_add [-w] device [name]",
16044057725fSPaolo Bonzini        .help       = "export a block device via NBD",
16052b9e3576SMarc-André Lureau        .cmd        = hmp_nbd_server_add,
16064057725fSPaolo Bonzini    },
16074057725fSPaolo BonziniSTEXI
1608dba49323SEric Blake@item nbd_server_add @var{device} [ @var{name} ]
16094057725fSPaolo Bonzini@findex nbd_server_add
16104057725fSPaolo BonziniExport a block device through QEMU's NBD server, which must be started
16114057725fSPaolo Bonzinibeforehand with @command{nbd_server_start}.  The @option{-w} option makes the
1612dba49323SEric Blakeexported device writable too.  The export name is controlled by @var{name},
1613dba49323SEric Blakedefaulting to @var{device}.
16144057725fSPaolo BonziniETEXI
16154057725fSPaolo Bonzini
16164057725fSPaolo Bonzini    {
161708fb10a7SEric Blake        .name       = "nbd_server_remove",
161808fb10a7SEric Blake        .args_type  = "force:-f,name:s",
161908fb10a7SEric Blake        .params     = "nbd_server_remove [-f] name",
162008fb10a7SEric Blake        .help       = "remove an export previously exposed via NBD",
162108fb10a7SEric Blake        .cmd        = hmp_nbd_server_remove,
162208fb10a7SEric Blake    },
162308fb10a7SEric BlakeSTEXI
162408fb10a7SEric Blake@item nbd_server_remove [-f] @var{name}
162508fb10a7SEric Blake@findex nbd_server_remove
162608fb10a7SEric BlakeStop exporting a block device through QEMU's NBD server, which was
162708fb10a7SEric Blakepreviously started with @command{nbd_server_add}.  The @option{-f}
162808fb10a7SEric Blakeoption forces the server to drop the export immediately even if
162908fb10a7SEric Blakeclients are connected; otherwise the command fails unless there are no
163008fb10a7SEric Blakeclients.
163108fb10a7SEric BlakeETEXI
163208fb10a7SEric Blake
163308fb10a7SEric Blake    {
16344057725fSPaolo Bonzini        .name       = "nbd_server_stop",
16354057725fSPaolo Bonzini        .args_type  = "",
16364057725fSPaolo Bonzini        .params     = "nbd_server_stop",
16374057725fSPaolo Bonzini        .help       = "stop serving block devices using the NBD protocol",
16382b9e3576SMarc-André Lureau        .cmd        = hmp_nbd_server_stop,
16394057725fSPaolo Bonzini    },
16404057725fSPaolo BonziniSTEXI
16414057725fSPaolo Bonzini@item nbd_server_stop
16424057725fSPaolo Bonzini@findex nbd_server_stop
16434057725fSPaolo BonziniStop the QEMU embedded NBD server.
16444057725fSPaolo BonziniETEXI
16454057725fSPaolo Bonzini
16464057725fSPaolo Bonzini
164779c4f6b0SHuang Ying#if defined(TARGET_I386)
1648d7f9b689SLuiz Capitulino
1649d7f9b689SLuiz Capitulino    {
1650d7f9b689SLuiz Capitulino        .name       = "mce",
165131ce5e0cSJin Dongming        .args_type  = "broadcast:-b,cpu_index:i,bank:i,status:l,mcg_status:l,addr:l,misc:l",
165231ce5e0cSJin Dongming        .params     = "[-b] cpu bank status mcgstatus addr misc",
165331ce5e0cSJin Dongming        .help       = "inject a MCE on the given CPU [and broadcast to other CPUs with -b option]",
16542b9e3576SMarc-André Lureau        .cmd        = hmp_mce,
1655d7f9b689SLuiz Capitulino    },
1656d7f9b689SLuiz Capitulino
165779c4f6b0SHuang Ying#endif
165879c4f6b0SHuang YingSTEXI
165979c4f6b0SHuang Ying@item mce @var{cpu} @var{bank} @var{status} @var{mcgstatus} @var{addr} @var{misc}
166070fcbbe7SStefan Weil@findex mce (x86)
166179c4f6b0SHuang YingInject an MCE on the given CPU (x86 only).
166279c4f6b0SHuang YingETEXI
166379c4f6b0SHuang Ying
1664d7f9b689SLuiz Capitulino    {
1665d7f9b689SLuiz Capitulino        .name       = "getfd",
1666d7f9b689SLuiz Capitulino        .args_type  = "fdname:s",
1667d7f9b689SLuiz Capitulino        .params     = "getfd name",
1668d7f9b689SLuiz Capitulino        .help       = "receive a file descriptor via SCM rights and assign it a name",
16692b9e3576SMarc-André Lureau        .cmd        = hmp_getfd,
1670d7f9b689SLuiz Capitulino    },
1671d7f9b689SLuiz Capitulino
1672f07918fdSMark McLoughlinSTEXI
1673f07918fdSMark McLoughlin@item getfd @var{fdname}
167470fcbbe7SStefan Weil@findex getfd
1675f07918fdSMark McLoughlinIf a file descriptor is passed alongside this command using the SCM_RIGHTS
1676f07918fdSMark McLoughlinmechanism on unix sockets, it is stored using the name @var{fdname} for
1677f07918fdSMark McLoughlinlater use by other monitor commands.
1678f07918fdSMark McLoughlinETEXI
1679f07918fdSMark McLoughlin
1680d7f9b689SLuiz Capitulino    {
1681d7f9b689SLuiz Capitulino        .name       = "closefd",
1682d7f9b689SLuiz Capitulino        .args_type  = "fdname:s",
1683d7f9b689SLuiz Capitulino        .params     = "closefd name",
1684d7f9b689SLuiz Capitulino        .help       = "close a file descriptor previously passed via SCM rights",
16852b9e3576SMarc-André Lureau        .cmd        = hmp_closefd,
1686d7f9b689SLuiz Capitulino    },
1687d7f9b689SLuiz Capitulino
1688f07918fdSMark McLoughlinSTEXI
1689f07918fdSMark McLoughlin@item closefd @var{fdname}
169070fcbbe7SStefan Weil@findex closefd
1691f07918fdSMark McLoughlinClose the file descriptor previously assigned to @var{fdname} using the
1692f07918fdSMark McLoughlin@code{getfd} command. This is only needed if the file descriptor was never
1693f07918fdSMark McLoughlinused by another monitor command.
1694f07918fdSMark McLoughlinETEXI
1695f07918fdSMark McLoughlin
1696a3a55a2eSLuiz Capitulino    {
1697a3a55a2eSLuiz Capitulino        .name       = "block_passwd",
1698a3a55a2eSLuiz Capitulino        .args_type  = "device:B,password:s",
1699a3a55a2eSLuiz Capitulino        .params     = "block_passwd device password",
1700a3a55a2eSLuiz Capitulino        .help       = "set the password of encrypted block devices",
17012b9e3576SMarc-André Lureau        .cmd        = hmp_block_passwd,
1702a3a55a2eSLuiz Capitulino    },
1703a3a55a2eSLuiz Capitulino
1704a3a55a2eSLuiz CapitulinoSTEXI
1705b76d799eSMarkus Armbruster@item block_passwd @var{device} @var{password}
1706b76d799eSMarkus Armbruster@findex block_passwd
1707b76d799eSMarkus ArmbrusterSet the encrypted device @var{device} password to @var{password}
1708c01c214bSDaniel P. Berrange
1709c01c214bSDaniel P. BerrangeThis command is now obsolete and will always return an error since 2.10
1710727f005eSZhi Yong WuETEXI
1711727f005eSZhi Yong Wu
1712727f005eSZhi Yong Wu    {
1713727f005eSZhi Yong Wu        .name       = "block_set_io_throttle",
1714727f005eSZhi Yong Wu        .args_type  = "device:B,bps:l,bps_rd:l,bps_wr:l,iops:l,iops_rd:l,iops_wr:l",
1715727f005eSZhi Yong Wu        .params     = "device bps bps_rd bps_wr iops iops_rd iops_wr",
1716727f005eSZhi Yong Wu        .help       = "change I/O throttle limits for a block drive",
17172b9e3576SMarc-André Lureau        .cmd        = hmp_block_set_io_throttle,
1718727f005eSZhi Yong Wu    },
1719727f005eSZhi Yong Wu
1720727f005eSZhi Yong WuSTEXI
1721b76d799eSMarkus Armbruster@item block_set_io_throttle @var{device} @var{bps} @var{bps_rd} @var{bps_wr} @var{iops} @var{iops_rd} @var{iops_wr}
1722b76d799eSMarkus Armbruster@findex block_set_io_throttle
172383592184SAlberto GarciaChange I/O throttle limits for a block drive to @var{bps} @var{bps_rd} @var{bps_wr} @var{iops} @var{iops_rd} @var{iops_wr}.
172483592184SAlberto Garcia@var{device} can be a block device name, a qdev ID or a QOM path.
1725a3a55a2eSLuiz CapitulinoETEXI
1726b40292e7SJan Kiszka
172733572eceSJan Kiszka    {
17287572150cSGerd Hoffmann        .name       = "set_password",
17297572150cSGerd Hoffmann        .args_type  = "protocol:s,password:s,connected:s?",
17307572150cSGerd Hoffmann        .params     = "protocol password action-if-connected",
17317572150cSGerd Hoffmann        .help       = "set spice/vnc password",
17322b9e3576SMarc-André Lureau        .cmd        = hmp_set_password,
17337572150cSGerd Hoffmann    },
17347572150cSGerd Hoffmann
17357572150cSGerd HoffmannSTEXI
17367572150cSGerd Hoffmann@item set_password [ vnc | spice ] password [ action-if-connected ]
17377572150cSGerd Hoffmann@findex set_password
17387572150cSGerd HoffmannChange spice/vnc password.  Use zero to make the password stay valid
17397572150cSGerd Hoffmannforever.  @var{action-if-connected} specifies what should happen in
17407572150cSGerd Hoffmanncase a connection is established: @var{fail} makes the password change
17417572150cSGerd Hoffmannfail.  @var{disconnect} changes the password and disconnects the
17427572150cSGerd Hoffmannclient.  @var{keep} changes the password and keeps the connection up.
17437572150cSGerd Hoffmann@var{keep} is the default.
17447572150cSGerd HoffmannETEXI
17457572150cSGerd Hoffmann
17467572150cSGerd Hoffmann    {
17477572150cSGerd Hoffmann        .name       = "expire_password",
17487572150cSGerd Hoffmann        .args_type  = "protocol:s,time:s",
17497572150cSGerd Hoffmann        .params     = "protocol time",
17507572150cSGerd Hoffmann        .help       = "set spice/vnc password expire-time",
17512b9e3576SMarc-André Lureau        .cmd        = hmp_expire_password,
17527572150cSGerd Hoffmann    },
17537572150cSGerd Hoffmann
17547572150cSGerd HoffmannSTEXI
17557572150cSGerd Hoffmann@item expire_password [ vnc | spice ] expire-time
17567572150cSGerd Hoffmann@findex expire_password
17577572150cSGerd HoffmannSpecify when a password for spice/vnc becomes
17587572150cSGerd Hoffmanninvalid. @var{expire-time} accepts:
17597572150cSGerd Hoffmann
17607572150cSGerd Hoffmann@table @var
17617572150cSGerd Hoffmann@item now
17627572150cSGerd HoffmannInvalidate password instantly.
17637572150cSGerd Hoffmann
17647572150cSGerd Hoffmann@item never
17657572150cSGerd HoffmannPassword stays valid forever.
17667572150cSGerd Hoffmann
17677572150cSGerd Hoffmann@item +nsec
17687572150cSGerd HoffmannPassword stays valid for @var{nsec} seconds starting now.
17697572150cSGerd Hoffmann
17707572150cSGerd Hoffmann@item nsec
17717572150cSGerd HoffmannPassword is invalidated at the given time.  @var{nsec} are the seconds
17727572150cSGerd Hoffmannpassed since 1970, i.e. unix epoch.
17737572150cSGerd Hoffmann
17747572150cSGerd Hoffmann@end table
17757572150cSGerd HoffmannETEXI
17767572150cSGerd Hoffmann
177746920825SGerd Hoffmann    {
177846920825SGerd Hoffmann        .name       = "chardev-add",
177946920825SGerd Hoffmann        .args_type  = "args:s",
178046920825SGerd Hoffmann        .params     = "args",
178146920825SGerd Hoffmann        .help       = "add chardev",
17822b9e3576SMarc-André Lureau        .cmd        = hmp_chardev_add,
178313e315daSHani Benhabiles        .command_completion = chardev_add_completion,
178446920825SGerd Hoffmann    },
178546920825SGerd Hoffmann
178646920825SGerd HoffmannSTEXI
1787b76d799eSMarkus Armbruster@item chardev-add args
1788b76d799eSMarkus Armbruster@findex chardev-add
178975b60160SAnton Nefedovchardev-add accepts the same parameters as the -chardev command line switch.
179075b60160SAnton Nefedov
179175b60160SAnton NefedovETEXI
179275b60160SAnton Nefedov
179375b60160SAnton Nefedov    {
179475b60160SAnton Nefedov        .name       = "chardev-change",
179575b60160SAnton Nefedov        .args_type  = "id:s,args:s",
179675b60160SAnton Nefedov        .params     = "id args",
179775b60160SAnton Nefedov        .help       = "change chardev",
179875b60160SAnton Nefedov        .cmd        = hmp_chardev_change,
179975b60160SAnton Nefedov    },
180075b60160SAnton Nefedov
180175b60160SAnton NefedovSTEXI
180275b60160SAnton Nefedov@item chardev-change args
180375b60160SAnton Nefedov@findex chardev-change
180475b60160SAnton Nefedovchardev-change accepts existing chardev @var{id} and then the same arguments
180575b60160SAnton Nefedovas the -chardev command line switch (except for "id").
180646920825SGerd Hoffmann
180746920825SGerd HoffmannETEXI
180846920825SGerd Hoffmann
180946920825SGerd Hoffmann    {
181046920825SGerd Hoffmann        .name       = "chardev-remove",
181146920825SGerd Hoffmann        .args_type  = "id:s",
181246920825SGerd Hoffmann        .params     = "id",
181346920825SGerd Hoffmann        .help       = "remove chardev",
18142b9e3576SMarc-André Lureau        .cmd        = hmp_chardev_remove,
18156297d9a2SHani Benhabiles        .command_completion = chardev_remove_completion,
181646920825SGerd Hoffmann    },
181746920825SGerd Hoffmann
181846920825SGerd HoffmannSTEXI
1819b76d799eSMarkus Armbruster@item chardev-remove id
1820b76d799eSMarkus Armbruster@findex chardev-remove
182146920825SGerd HoffmannRemoves the chardev @var{id}.
182246920825SGerd Hoffmann
182346920825SGerd HoffmannETEXI
1824f1088908SGerd Hoffmann
1825f1088908SGerd Hoffmann    {
1826bd1d5ad9SStefan Fritsch        .name       = "chardev-send-break",
1827bd1d5ad9SStefan Fritsch        .args_type  = "id:s",
1828bd1d5ad9SStefan Fritsch        .params     = "id",
1829bd1d5ad9SStefan Fritsch        .help       = "send a break on chardev",
1830bd1d5ad9SStefan Fritsch        .cmd        = hmp_chardev_send_break,
1831bd1d5ad9SStefan Fritsch        .command_completion = chardev_remove_completion,
1832bd1d5ad9SStefan Fritsch    },
1833bd1d5ad9SStefan Fritsch
1834bd1d5ad9SStefan FritschSTEXI
1835bd1d5ad9SStefan Fritsch@item chardev-send-break id
1836bd1d5ad9SStefan Fritsch@findex chardev-send-break
1837bd1d5ad9SStefan FritschSend a break on the chardev @var{id}.
1838bd1d5ad9SStefan Fritsch
1839bd1d5ad9SStefan FritschETEXI
1840bd1d5ad9SStefan Fritsch
1841bd1d5ad9SStefan Fritsch    {
1842587da2c3SKevin Wolf        .name       = "qemu-io",
1843587da2c3SKevin Wolf        .args_type  = "device:B,command:s",
1844587da2c3SKevin Wolf        .params     = "[device] \"[command]\"",
1845587da2c3SKevin Wolf        .help       = "run a qemu-io command on a block device",
18462b9e3576SMarc-André Lureau        .cmd        = hmp_qemu_io,
1847587da2c3SKevin Wolf    },
1848587da2c3SKevin Wolf
1849587da2c3SKevin WolfSTEXI
1850587da2c3SKevin Wolf@item qemu-io @var{device} @var{command}
1851587da2c3SKevin Wolf@findex qemu-io
1852587da2c3SKevin WolfExecutes a qemu-io command on the given block device.
1853587da2c3SKevin Wolf
1854587da2c3SKevin WolfETEXI
1855587da2c3SKevin Wolf
1856587da2c3SKevin Wolf    {
1857abf23329SJason J. Herne        .name       = "cpu-add",
1858abf23329SJason J. Herne        .args_type  = "id:i",
1859abf23329SJason J. Herne        .params     = "id",
1860e25701b7SKashyap Chamarthy        .help       = "add cpu (deprecated, use device_add instead)",
18612b9e3576SMarc-André Lureau        .cmd        = hmp_cpu_add,
1862abf23329SJason J. Herne    },
1863abf23329SJason J. Herne
1864abf23329SJason J. HerneSTEXI
1865abf23329SJason J. Herne@item cpu-add @var{id}
1866b76d799eSMarkus Armbruster@findex cpu-add
1867e25701b7SKashyap ChamarthyAdd CPU with id @var{id}.  This command is deprecated, please
1868e25701b7SKashyap Chamarthy+use @code{device_add} instead. For details, refer to
1869e25701b7SKashyap Chamarthy'docs/cpu-hotplug.rst'.
1870abf23329SJason J. HerneETEXI
1871abf23329SJason J. Herne
1872abf23329SJason J. Herne    {
187389d7fa9eSAndreas Färber        .name       = "qom-list",
187489d7fa9eSAndreas Färber        .args_type  = "path:s?",
187589d7fa9eSAndreas Färber        .params     = "path",
187689d7fa9eSAndreas Färber        .help       = "list QOM properties",
18772b9e3576SMarc-André Lureau        .cmd        = hmp_qom_list,
18788c7c7ecbSDr. David Alan Gilbert        .flags      = "p",
187989d7fa9eSAndreas Färber    },
188089d7fa9eSAndreas Färber
188189d7fa9eSAndreas FärberSTEXI
188289d7fa9eSAndreas Färber@item qom-list [@var{path}]
188389d7fa9eSAndreas FärberPrint QOM properties of object at location @var{path}
188489d7fa9eSAndreas FärberETEXI
188589d7fa9eSAndreas Färber
188689d7fa9eSAndreas Färber    {
1887c0e6ee9eSAndreas Färber        .name       = "qom-set",
1888c0e6ee9eSAndreas Färber        .args_type  = "path:s,property:s,value:s",
1889c0e6ee9eSAndreas Färber        .params     = "path property value",
1890c0e6ee9eSAndreas Färber        .help       = "set QOM property",
18912b9e3576SMarc-André Lureau        .cmd        = hmp_qom_set,
18928c7c7ecbSDr. David Alan Gilbert        .flags      = "p",
1893c0e6ee9eSAndreas Färber    },
1894c0e6ee9eSAndreas Färber
1895c0e6ee9eSAndreas FärberSTEXI
1896c0e6ee9eSAndreas Färber@item qom-set @var{path} @var{property} @var{value}
1897c0e6ee9eSAndreas FärberSet QOM property @var{property} of object at location @var{path} to value @var{value}
1898c0e6ee9eSAndreas FärberETEXI
1899c0e6ee9eSAndreas Färber
1900c0e6ee9eSAndreas Färber    {
190133572eceSJan Kiszka        .name       = "info",
190233572eceSJan Kiszka        .args_type  = "item:s?",
190333572eceSJan Kiszka        .params     = "[subcommand]",
190433572eceSJan Kiszka        .help       = "show various information about the system state",
19052b9e3576SMarc-André Lureau        .cmd        = hmp_info_help,
190684c44613SWenchao Xia        .sub_table  = info_cmds,
19078c7c7ecbSDr. David Alan Gilbert        .flags      = "p",
190833572eceSJan Kiszka    },
190933572eceSJan Kiszka
191033572eceSJan KiszkaSTEXI
191170703344SPavel Butsykin@end table
191270703344SPavel ButsykinETEXI
1913