xref: /qemu/hmp-commands.hx (revision dd12e1bbf2a41b0f6ce450a5449e536df0909520)
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?",
353d7f9b689SLuiz Capitulino        .params     = "[tag|id]",
354d7f9b689SLuiz Capitulino        .help       = "save a VM snapshot. If no tag or id are provided, a new snapshot is created",
3552b9e3576SMarc-André Lureau        .cmd        = hmp_savevm,
356d7f9b689SLuiz Capitulino    },
357d7f9b689SLuiz Capitulino
3582313086aSBlue SwirlSTEXI
3592313086aSBlue Swirl@item savevm [@var{tag}|@var{id}]
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
3632313086aSBlue Swirla snapshot with the same tag or ID, it is replaced. More info at
3642313086aSBlue Swirl@ref{vm_snapshots}.
3652313086aSBlue SwirlETEXI
3662313086aSBlue Swirl
367d7f9b689SLuiz Capitulino    {
368d7f9b689SLuiz Capitulino        .name       = "loadvm",
369d7f9b689SLuiz Capitulino        .args_type  = "name:s",
370d7f9b689SLuiz Capitulino        .params     = "tag|id",
371d7f9b689SLuiz Capitulino        .help       = "restore a VM snapshot from its tag or id",
3722b9e3576SMarc-André Lureau        .cmd        = hmp_loadvm,
373b21631f3SHani Benhabiles        .command_completion = loadvm_completion,
374d7f9b689SLuiz Capitulino    },
375d7f9b689SLuiz Capitulino
3762313086aSBlue SwirlSTEXI
3772313086aSBlue Swirl@item loadvm @var{tag}|@var{id}
37870fcbbe7SStefan Weil@findex loadvm
3792313086aSBlue SwirlSet the whole virtual machine to the snapshot identified by the tag
3802313086aSBlue Swirl@var{tag} or the unique snapshot ID @var{id}.
3812313086aSBlue SwirlETEXI
3822313086aSBlue Swirl
383d7f9b689SLuiz Capitulino    {
384d7f9b689SLuiz Capitulino        .name       = "delvm",
385d7f9b689SLuiz Capitulino        .args_type  = "name:s",
386d7f9b689SLuiz Capitulino        .params     = "tag|id",
387d7f9b689SLuiz Capitulino        .help       = "delete a VM snapshot from its tag or id",
3882b9e3576SMarc-André Lureau        .cmd        = hmp_delvm,
389b21631f3SHani Benhabiles        .command_completion = delvm_completion,
390d7f9b689SLuiz Capitulino    },
391d7f9b689SLuiz Capitulino
3922313086aSBlue SwirlSTEXI
3932313086aSBlue Swirl@item delvm @var{tag}|@var{id}
39470fcbbe7SStefan Weil@findex delvm
3952313086aSBlue SwirlDelete the snapshot identified by @var{tag} or @var{id}.
3962313086aSBlue SwirlETEXI
3972313086aSBlue Swirl
398d7f9b689SLuiz Capitulino    {
399d7f9b689SLuiz Capitulino        .name       = "singlestep",
400d7f9b689SLuiz Capitulino        .args_type  = "option:s?",
401d7f9b689SLuiz Capitulino        .params     = "[on|off]",
402d7f9b689SLuiz Capitulino        .help       = "run emulation in singlestep mode or switch to normal mode",
4032b9e3576SMarc-André Lureau        .cmd        = hmp_singlestep,
404d7f9b689SLuiz Capitulino    },
405d7f9b689SLuiz Capitulino
4062313086aSBlue SwirlSTEXI
4072313086aSBlue Swirl@item singlestep [off]
40870fcbbe7SStefan Weil@findex singlestep
4092313086aSBlue SwirlRun the emulation in single step mode.
4102313086aSBlue SwirlIf called with option off, the emulation returns to normal mode.
4112313086aSBlue SwirlETEXI
4122313086aSBlue Swirl
413d7f9b689SLuiz Capitulino    {
414d7f9b689SLuiz Capitulino        .name       = "stop",
415d7f9b689SLuiz Capitulino        .args_type  = "",
416d7f9b689SLuiz Capitulino        .params     = "",
417d7f9b689SLuiz Capitulino        .help       = "stop emulation",
4182b9e3576SMarc-André Lureau        .cmd        = hmp_stop,
419d7f9b689SLuiz Capitulino    },
420d7f9b689SLuiz Capitulino
4212313086aSBlue SwirlSTEXI
4222313086aSBlue Swirl@item stop
42370fcbbe7SStefan Weil@findex stop
4242313086aSBlue SwirlStop emulation.
4252313086aSBlue SwirlETEXI
4262313086aSBlue Swirl
427d7f9b689SLuiz Capitulino    {
428d7f9b689SLuiz Capitulino        .name       = "c|cont",
429d7f9b689SLuiz Capitulino        .args_type  = "",
430d7f9b689SLuiz Capitulino        .params     = "",
431d7f9b689SLuiz Capitulino        .help       = "resume emulation",
4322b9e3576SMarc-André Lureau        .cmd        = hmp_cont,
433d7f9b689SLuiz Capitulino    },
434d7f9b689SLuiz Capitulino
4352313086aSBlue SwirlSTEXI
4362313086aSBlue Swirl@item c or cont
43770fcbbe7SStefan Weil@findex cont
4382313086aSBlue SwirlResume emulation.
4392313086aSBlue SwirlETEXI
4402313086aSBlue Swirl
441d7f9b689SLuiz Capitulino    {
4429b9df25aSGerd Hoffmann        .name       = "system_wakeup",
4439b9df25aSGerd Hoffmann        .args_type  = "",
4449b9df25aSGerd Hoffmann        .params     = "",
4459b9df25aSGerd Hoffmann        .help       = "wakeup guest from suspend",
4462b9e3576SMarc-André Lureau        .cmd        = hmp_system_wakeup,
4479b9df25aSGerd Hoffmann    },
4489b9df25aSGerd Hoffmann
4499b9df25aSGerd HoffmannSTEXI
4509b9df25aSGerd Hoffmann@item system_wakeup
4519b9df25aSGerd Hoffmann@findex system_wakeup
4529b9df25aSGerd HoffmannWakeup guest from suspend.
4539b9df25aSGerd HoffmannETEXI
4549b9df25aSGerd Hoffmann
4559b9df25aSGerd Hoffmann    {
456d7f9b689SLuiz Capitulino        .name       = "gdbserver",
457d7f9b689SLuiz Capitulino        .args_type  = "device:s?",
458d7f9b689SLuiz Capitulino        .params     = "[device]",
459d7f9b689SLuiz Capitulino        .help       = "start gdbserver on given device (default 'tcp::1234'), stop with 'none'",
4602b9e3576SMarc-André Lureau        .cmd        = hmp_gdbserver,
461d7f9b689SLuiz Capitulino    },
462d7f9b689SLuiz Capitulino
4632313086aSBlue SwirlSTEXI
4642313086aSBlue Swirl@item gdbserver [@var{port}]
46570fcbbe7SStefan Weil@findex gdbserver
4662313086aSBlue SwirlStart gdbserver session (default @var{port}=1234)
4672313086aSBlue SwirlETEXI
4682313086aSBlue Swirl
469d7f9b689SLuiz Capitulino    {
470d7f9b689SLuiz Capitulino        .name       = "x",
471d7f9b689SLuiz Capitulino        .args_type  = "fmt:/,addr:l",
472d7f9b689SLuiz Capitulino        .params     = "/fmt addr",
473d7f9b689SLuiz Capitulino        .help       = "virtual memory dump starting at 'addr'",
4742b9e3576SMarc-André Lureau        .cmd        = hmp_memory_dump,
475d7f9b689SLuiz Capitulino    },
476d7f9b689SLuiz Capitulino
4772313086aSBlue SwirlSTEXI
4782313086aSBlue Swirl@item x/fmt @var{addr}
47970fcbbe7SStefan Weil@findex x
4802313086aSBlue SwirlVirtual memory dump starting at @var{addr}.
4812313086aSBlue SwirlETEXI
4822313086aSBlue Swirl
483d7f9b689SLuiz Capitulino    {
484d7f9b689SLuiz Capitulino        .name       = "xp",
485d7f9b689SLuiz Capitulino        .args_type  = "fmt:/,addr:l",
486d7f9b689SLuiz Capitulino        .params     = "/fmt addr",
487d7f9b689SLuiz Capitulino        .help       = "physical memory dump starting at 'addr'",
4882b9e3576SMarc-André Lureau        .cmd        = hmp_physical_memory_dump,
489d7f9b689SLuiz Capitulino    },
490d7f9b689SLuiz Capitulino
4912313086aSBlue SwirlSTEXI
4922313086aSBlue Swirl@item xp /@var{fmt} @var{addr}
49370fcbbe7SStefan Weil@findex xp
4942313086aSBlue SwirlPhysical memory dump starting at @var{addr}.
4952313086aSBlue Swirl
4962313086aSBlue Swirl@var{fmt} is a format which tells the command how to format the
4972313086aSBlue Swirldata. Its syntax is: @option{/@{count@}@{format@}@{size@}}
4982313086aSBlue Swirl
4992313086aSBlue Swirl@table @var
5002313086aSBlue Swirl@item count
5012313086aSBlue Swirlis the number of items to be dumped.
5022313086aSBlue Swirl
5032313086aSBlue Swirl@item format
5042313086aSBlue Swirlcan be x (hex), d (signed decimal), u (unsigned decimal), o (octal),
5052313086aSBlue Swirlc (char) or i (asm instruction).
5062313086aSBlue Swirl
5072313086aSBlue Swirl@item size
5082313086aSBlue Swirlcan be b (8 bits), h (16 bits), w (32 bits) or g (64 bits). On x86,
5092313086aSBlue Swirl@code{h} or @code{w} can be specified with the @code{i} format to
5102313086aSBlue Swirlrespectively select 16 or 32 bit code instruction size.
5112313086aSBlue Swirl
5122313086aSBlue Swirl@end table
5132313086aSBlue Swirl
5142313086aSBlue SwirlExamples:
5152313086aSBlue Swirl@itemize
5162313086aSBlue Swirl@item
5172313086aSBlue SwirlDump 10 instructions at the current instruction pointer:
5182313086aSBlue Swirl@example
5192313086aSBlue Swirl(qemu) x/10i $eip
5202313086aSBlue Swirl0x90107063:  ret
5212313086aSBlue Swirl0x90107064:  sti
5222313086aSBlue Swirl0x90107065:  lea    0x0(%esi,1),%esi
5232313086aSBlue Swirl0x90107069:  lea    0x0(%edi,1),%edi
5242313086aSBlue Swirl0x90107070:  ret
5252313086aSBlue Swirl0x90107071:  jmp    0x90107080
5262313086aSBlue Swirl0x90107073:  nop
5272313086aSBlue Swirl0x90107074:  nop
5282313086aSBlue Swirl0x90107075:  nop
5292313086aSBlue Swirl0x90107076:  nop
5302313086aSBlue Swirl@end example
5312313086aSBlue Swirl
5322313086aSBlue Swirl@item
5332313086aSBlue SwirlDump 80 16 bit values at the start of the video memory.
5342313086aSBlue Swirl@smallexample
5352313086aSBlue Swirl(qemu) xp/80hx 0xb8000
5362313086aSBlue Swirl0x000b8000: 0x0b50 0x0b6c 0x0b65 0x0b78 0x0b38 0x0b36 0x0b2f 0x0b42
5372313086aSBlue Swirl0x000b8010: 0x0b6f 0x0b63 0x0b68 0x0b73 0x0b20 0x0b56 0x0b47 0x0b41
5382313086aSBlue Swirl0x000b8020: 0x0b42 0x0b69 0x0b6f 0x0b73 0x0b20 0x0b63 0x0b75 0x0b72
5392313086aSBlue Swirl0x000b8030: 0x0b72 0x0b65 0x0b6e 0x0b74 0x0b2d 0x0b63 0x0b76 0x0b73
5402313086aSBlue Swirl0x000b8040: 0x0b20 0x0b30 0x0b35 0x0b20 0x0b4e 0x0b6f 0x0b76 0x0b20
5412313086aSBlue Swirl0x000b8050: 0x0b32 0x0b30 0x0b30 0x0b33 0x0720 0x0720 0x0720 0x0720
5422313086aSBlue Swirl0x000b8060: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
5432313086aSBlue Swirl0x000b8070: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
5442313086aSBlue Swirl0x000b8080: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
5452313086aSBlue Swirl0x000b8090: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
5462313086aSBlue Swirl@end smallexample
5472313086aSBlue Swirl@end itemize
5482313086aSBlue SwirlETEXI
5492313086aSBlue Swirl
550d7f9b689SLuiz Capitulino    {
551e9628441SPaolo Bonzini        .name       = "gpa2hva",
552e9628441SPaolo Bonzini        .args_type  = "addr:l",
553e9628441SPaolo Bonzini        .params     = "addr",
554e9628441SPaolo Bonzini        .help       = "print the host virtual address corresponding to a guest physical address",
555e9628441SPaolo Bonzini        .cmd        = hmp_gpa2hva,
556e9628441SPaolo Bonzini    },
557e9628441SPaolo Bonzini
558e9628441SPaolo BonziniSTEXI
559e9628441SPaolo Bonzini@item gpa2hva @var{addr}
560e9628441SPaolo Bonzini@findex gpa2hva
561e9628441SPaolo BonziniPrint the host virtual address at which the guest's physical address @var{addr}
562e9628441SPaolo Bonziniis mapped.
563e9628441SPaolo BonziniETEXI
564e9628441SPaolo Bonzini
565e9628441SPaolo Bonzini#ifdef CONFIG_LINUX
566e9628441SPaolo Bonzini    {
567e9628441SPaolo Bonzini        .name       = "gpa2hpa",
568e9628441SPaolo Bonzini        .args_type  = "addr:l",
569e9628441SPaolo Bonzini        .params     = "addr",
570e9628441SPaolo Bonzini        .help       = "print the host physical address corresponding to a guest physical address",
571e9628441SPaolo Bonzini        .cmd        = hmp_gpa2hpa,
572e9628441SPaolo Bonzini    },
573e9628441SPaolo Bonzini#endif
574e9628441SPaolo Bonzini
575e9628441SPaolo BonziniSTEXI
576e9628441SPaolo Bonzini@item gpa2hpa @var{addr}
577e9628441SPaolo Bonzini@findex gpa2hpa
578e9628441SPaolo BonziniPrint the host physical address at which the guest's physical address @var{addr}
579e9628441SPaolo Bonziniis mapped.
580e9628441SPaolo BonziniETEXI
581e9628441SPaolo Bonzini
582e9628441SPaolo Bonzini    {
583d7f9b689SLuiz Capitulino        .name       = "p|print",
584d7f9b689SLuiz Capitulino        .args_type  = "fmt:/,val:l",
585d7f9b689SLuiz Capitulino        .params     = "/fmt expr",
586d7f9b689SLuiz Capitulino        .help       = "print expression value (use $reg for CPU register access)",
5872b9e3576SMarc-André Lureau        .cmd        = do_print,
588d7f9b689SLuiz Capitulino    },
589d7f9b689SLuiz Capitulino
5902313086aSBlue SwirlSTEXI
5912313086aSBlue Swirl@item p or print/@var{fmt} @var{expr}
59270fcbbe7SStefan Weil@findex print
5932313086aSBlue SwirlPrint expression value. Only the @var{format} part of @var{fmt} is
5942313086aSBlue Swirlused.
5952313086aSBlue SwirlETEXI
5962313086aSBlue Swirl
597d7f9b689SLuiz Capitulino    {
598d7f9b689SLuiz Capitulino        .name       = "i",
599d7f9b689SLuiz Capitulino        .args_type  = "fmt:/,addr:i,index:i.",
600d7f9b689SLuiz Capitulino        .params     = "/fmt addr",
601d7f9b689SLuiz Capitulino        .help       = "I/O port read",
6022b9e3576SMarc-André Lureau        .cmd        = hmp_ioport_read,
603d7f9b689SLuiz Capitulino    },
604d7f9b689SLuiz Capitulino
6052313086aSBlue SwirlSTEXI
606b76d799eSMarkus Armbruster@item i/@var{fmt} @var{addr} [.@var{index}]
607b76d799eSMarkus Armbruster@findex i
6082313086aSBlue SwirlRead I/O port.
6092313086aSBlue SwirlETEXI
6102313086aSBlue Swirl
611d7f9b689SLuiz Capitulino    {
612d7f9b689SLuiz Capitulino        .name       = "o",
613d7f9b689SLuiz Capitulino        .args_type  = "fmt:/,addr:i,val:i",
614d7f9b689SLuiz Capitulino        .params     = "/fmt addr value",
615d7f9b689SLuiz Capitulino        .help       = "I/O port write",
6162b9e3576SMarc-André Lureau        .cmd        = hmp_ioport_write,
617d7f9b689SLuiz Capitulino    },
618d7f9b689SLuiz Capitulino
619f114784fSJan KiszkaSTEXI
620b76d799eSMarkus Armbruster@item o/@var{fmt} @var{addr} @var{val}
621b76d799eSMarkus Armbruster@findex o
622f114784fSJan KiszkaWrite to I/O port.
623f114784fSJan KiszkaETEXI
6242313086aSBlue Swirl
625d7f9b689SLuiz Capitulino    {
626d7f9b689SLuiz Capitulino        .name       = "sendkey",
6272ef20c15SAmos Kong        .args_type  = "keys:s,hold-time:i?",
628d7f9b689SLuiz Capitulino        .params     = "keys [hold_ms]",
629d7f9b689SLuiz Capitulino        .help       = "send keys to the VM (e.g. 'sendkey ctrl-alt-f1', default hold time=100 ms)",
6302b9e3576SMarc-André Lureau        .cmd        = hmp_sendkey,
63129136cd8SHani Benhabiles        .command_completion = sendkey_completion,
632d7f9b689SLuiz Capitulino    },
633d7f9b689SLuiz Capitulino
6342313086aSBlue SwirlSTEXI
6352313086aSBlue Swirl@item sendkey @var{keys}
63670fcbbe7SStefan Weil@findex sendkey
637886cc706SAmos KongSend @var{keys} to the guest. @var{keys} could be the name of the
638886cc706SAmos Kongkey or the raw value in hexadecimal format. Use @code{-} to press
639886cc706SAmos Kongseveral keys simultaneously. Example:
6402313086aSBlue Swirl@example
6412313086aSBlue Swirlsendkey ctrl-alt-f1
6422313086aSBlue Swirl@end example
6432313086aSBlue Swirl
6442313086aSBlue SwirlThis command is useful to send keys that your graphical user interface
6452313086aSBlue Swirlintercepts at low level, such as @code{ctrl-alt-f1} in X Window.
6462313086aSBlue SwirlETEXI
647*dd12e1bbSEmilio G. Cota    {
648*dd12e1bbSEmilio G. Cota        .name       = "sync-profile",
649*dd12e1bbSEmilio G. Cota        .args_type  = "op:s?",
650*dd12e1bbSEmilio G. Cota        .params     = "[on|off|reset]",
651*dd12e1bbSEmilio G. Cota        .help       = "enable, disable or reset synchronization profiling. "
652*dd12e1bbSEmilio G. Cota                      "With no arguments, prints whether profiling is on or off.",
653*dd12e1bbSEmilio G. Cota        .cmd        = hmp_sync_profile,
654*dd12e1bbSEmilio G. Cota    },
655*dd12e1bbSEmilio G. Cota
656*dd12e1bbSEmilio G. CotaSTEXI
657*dd12e1bbSEmilio G. Cota@item sync-profile [on|off|reset]
658*dd12e1bbSEmilio G. Cota@findex sync-profile
659*dd12e1bbSEmilio G. CotaEnable, disable or reset synchronization profiling. With no arguments, prints
660*dd12e1bbSEmilio G. Cotawhether profiling is on or off.
661*dd12e1bbSEmilio G. CotaETEXI
6622313086aSBlue Swirl
663d7f9b689SLuiz Capitulino    {
664d7f9b689SLuiz Capitulino        .name       = "system_reset",
665d7f9b689SLuiz Capitulino        .args_type  = "",
666d7f9b689SLuiz Capitulino        .params     = "",
667d7f9b689SLuiz Capitulino        .help       = "reset the system",
6682b9e3576SMarc-André Lureau        .cmd        = hmp_system_reset,
669d7f9b689SLuiz Capitulino    },
670d7f9b689SLuiz Capitulino
6712313086aSBlue SwirlSTEXI
6722313086aSBlue Swirl@item system_reset
67370fcbbe7SStefan Weil@findex system_reset
6742313086aSBlue SwirlReset the system.
6752313086aSBlue SwirlETEXI
6762313086aSBlue Swirl
677d7f9b689SLuiz Capitulino    {
678d7f9b689SLuiz Capitulino        .name       = "system_powerdown",
679d7f9b689SLuiz Capitulino        .args_type  = "",
680d7f9b689SLuiz Capitulino        .params     = "",
681d7f9b689SLuiz Capitulino        .help       = "send system power down event",
6822b9e3576SMarc-André Lureau        .cmd        = hmp_system_powerdown,
683d7f9b689SLuiz Capitulino    },
684d7f9b689SLuiz Capitulino
6852313086aSBlue SwirlSTEXI
6862313086aSBlue Swirl@item system_powerdown
68770fcbbe7SStefan Weil@findex system_powerdown
6882313086aSBlue SwirlPower down the system (if supported).
6892313086aSBlue SwirlETEXI
6902313086aSBlue Swirl
691d7f9b689SLuiz Capitulino    {
692d7f9b689SLuiz Capitulino        .name       = "sum",
693d7f9b689SLuiz Capitulino        .args_type  = "start:i,size:i",
694d7f9b689SLuiz Capitulino        .params     = "addr size",
695d7f9b689SLuiz Capitulino        .help       = "compute the checksum of a memory region",
6962b9e3576SMarc-André Lureau        .cmd        = hmp_sum,
697d7f9b689SLuiz Capitulino    },
698d7f9b689SLuiz Capitulino
6992313086aSBlue SwirlSTEXI
7002313086aSBlue Swirl@item sum @var{addr} @var{size}
70170fcbbe7SStefan Weil@findex sum
7022313086aSBlue SwirlCompute the checksum of a memory region.
7032313086aSBlue SwirlETEXI
7042313086aSBlue Swirl
705d7f9b689SLuiz Capitulino    {
706d7f9b689SLuiz Capitulino        .name       = "device_add",
707c7e4e8ceSMarkus Armbruster        .args_type  = "device:O",
708c7e4e8ceSMarkus Armbruster        .params     = "driver[,prop=value][,...]",
709d7f9b689SLuiz Capitulino        .help       = "add device, like -device on the command line",
7102b9e3576SMarc-André Lureau        .cmd        = hmp_device_add,
7112da1b3abSHani Benhabiles        .command_completion = device_add_completion,
712d7f9b689SLuiz Capitulino    },
713d7f9b689SLuiz Capitulino
7143418bd25SGerd HoffmannSTEXI
7153418bd25SGerd Hoffmann@item device_add @var{config}
71670fcbbe7SStefan Weil@findex device_add
7173418bd25SGerd HoffmannAdd device.
7183418bd25SGerd HoffmannETEXI
7193418bd25SGerd Hoffmann
720d7f9b689SLuiz Capitulino    {
721d7f9b689SLuiz Capitulino        .name       = "device_del",
722d7f9b689SLuiz Capitulino        .args_type  = "id:s",
723d7f9b689SLuiz Capitulino        .params     = "device",
724d7f9b689SLuiz Capitulino        .help       = "remove device",
7252b9e3576SMarc-André Lureau        .cmd        = hmp_device_del,
7262da1b3abSHani Benhabiles        .command_completion = device_del_completion,
727d7f9b689SLuiz Capitulino    },
728d7f9b689SLuiz Capitulino
7293418bd25SGerd HoffmannSTEXI
7303418bd25SGerd Hoffmann@item device_del @var{id}
73170fcbbe7SStefan Weil@findex device_del
7326287d827SDaniel P. BerrangeRemove device @var{id}. @var{id} may be a short ID
7336287d827SDaniel P. Berrangeor a QOM object path.
7343418bd25SGerd HoffmannETEXI
7353418bd25SGerd Hoffmann
736d7f9b689SLuiz Capitulino    {
737d7f9b689SLuiz Capitulino        .name       = "cpu",
738d7f9b689SLuiz Capitulino        .args_type  = "index:i",
739d7f9b689SLuiz Capitulino        .params     = "index",
740d7f9b689SLuiz Capitulino        .help       = "set the default CPU",
7412b9e3576SMarc-André Lureau        .cmd        = hmp_cpu,
742d7f9b689SLuiz Capitulino    },
7433418bd25SGerd Hoffmann
7442313086aSBlue SwirlSTEXI
745c427ea9cSMarkus Armbruster@item cpu @var{index}
746c427ea9cSMarkus Armbruster@findex cpu
7472313086aSBlue SwirlSet the default CPU.
7482313086aSBlue SwirlETEXI
7492313086aSBlue Swirl
750d7f9b689SLuiz Capitulino    {
751d7f9b689SLuiz Capitulino        .name       = "mouse_move",
752d7f9b689SLuiz Capitulino        .args_type  = "dx_str:s,dy_str:s,dz_str:s?",
753d7f9b689SLuiz Capitulino        .params     = "dx dy [dz]",
754d7f9b689SLuiz Capitulino        .help       = "send mouse move events",
7552b9e3576SMarc-André Lureau        .cmd        = hmp_mouse_move,
756d7f9b689SLuiz Capitulino    },
757d7f9b689SLuiz Capitulino
7582313086aSBlue SwirlSTEXI
7592313086aSBlue Swirl@item mouse_move @var{dx} @var{dy} [@var{dz}]
76070fcbbe7SStefan Weil@findex mouse_move
7612313086aSBlue SwirlMove the active mouse to the specified coordinates @var{dx} @var{dy}
7622313086aSBlue Swirlwith optional scroll axis @var{dz}.
7632313086aSBlue SwirlETEXI
7642313086aSBlue Swirl
765d7f9b689SLuiz Capitulino    {
766d7f9b689SLuiz Capitulino        .name       = "mouse_button",
767d7f9b689SLuiz Capitulino        .args_type  = "button_state:i",
768d7f9b689SLuiz Capitulino        .params     = "state",
769d7f9b689SLuiz Capitulino        .help       = "change mouse button state (1=L, 2=M, 4=R)",
7702b9e3576SMarc-André Lureau        .cmd        = hmp_mouse_button,
771d7f9b689SLuiz Capitulino    },
772d7f9b689SLuiz Capitulino
7732313086aSBlue SwirlSTEXI
7742313086aSBlue Swirl@item mouse_button @var{val}
77570fcbbe7SStefan Weil@findex mouse_button
7762313086aSBlue SwirlChange the active mouse button state @var{val} (1=L, 2=M, 4=R).
7772313086aSBlue SwirlETEXI
7782313086aSBlue Swirl
779d7f9b689SLuiz Capitulino    {
780d7f9b689SLuiz Capitulino        .name       = "mouse_set",
781d7f9b689SLuiz Capitulino        .args_type  = "index:i",
782d7f9b689SLuiz Capitulino        .params     = "index",
783d7f9b689SLuiz Capitulino        .help       = "set which mouse device receives events",
7842b9e3576SMarc-André Lureau        .cmd        = hmp_mouse_set,
785d7f9b689SLuiz Capitulino    },
786d7f9b689SLuiz Capitulino
7872313086aSBlue SwirlSTEXI
7882313086aSBlue Swirl@item mouse_set @var{index}
78970fcbbe7SStefan Weil@findex mouse_set
7902313086aSBlue SwirlSet which mouse device receives events at given @var{index}, index
7912313086aSBlue Swirlcan be obtained with
7922313086aSBlue Swirl@example
7932313086aSBlue Swirlinfo mice
7942313086aSBlue Swirl@end example
7952313086aSBlue SwirlETEXI
7962313086aSBlue Swirl
797d7f9b689SLuiz Capitulino    {
798d7f9b689SLuiz Capitulino        .name       = "wavcapture",
799d7f9b689SLuiz Capitulino        .args_type  = "path:F,freq:i?,bits:i?,nchannels:i?",
800d7f9b689SLuiz Capitulino        .params     = "path [frequency [bits [channels]]]",
801d7f9b689SLuiz Capitulino        .help       = "capture audio to a wave file (default frequency=44100 bits=16 channels=2)",
8022b9e3576SMarc-André Lureau        .cmd        = hmp_wavcapture,
803d7f9b689SLuiz Capitulino    },
8042313086aSBlue SwirlSTEXI
8052313086aSBlue Swirl@item wavcapture @var{filename} [@var{frequency} [@var{bits} [@var{channels}]]]
80670fcbbe7SStefan Weil@findex wavcapture
8072313086aSBlue SwirlCapture audio into @var{filename}. Using sample rate @var{frequency}
8082313086aSBlue Swirlbits per sample @var{bits} and number of channels @var{channels}.
8092313086aSBlue Swirl
8102313086aSBlue SwirlDefaults:
8112313086aSBlue Swirl@itemize @minus
8122313086aSBlue Swirl@item Sample rate = 44100 Hz - CD quality
8132313086aSBlue Swirl@item Bits = 16
8142313086aSBlue Swirl@item Number of channels = 2 - Stereo
8152313086aSBlue Swirl@end itemize
8162313086aSBlue SwirlETEXI
8172313086aSBlue Swirl
818d7f9b689SLuiz Capitulino    {
819d7f9b689SLuiz Capitulino        .name       = "stopcapture",
820d7f9b689SLuiz Capitulino        .args_type  = "n:i",
821d7f9b689SLuiz Capitulino        .params     = "capture index",
822d7f9b689SLuiz Capitulino        .help       = "stop capture",
8232b9e3576SMarc-André Lureau        .cmd        = hmp_stopcapture,
824d7f9b689SLuiz Capitulino    },
8252313086aSBlue SwirlSTEXI
8262313086aSBlue Swirl@item stopcapture @var{index}
82770fcbbe7SStefan Weil@findex stopcapture
8282313086aSBlue SwirlStop capture with a given @var{index}, index can be obtained with
8292313086aSBlue Swirl@example
8302313086aSBlue Swirlinfo capture
8312313086aSBlue Swirl@end example
8322313086aSBlue SwirlETEXI
8332313086aSBlue Swirl
834d7f9b689SLuiz Capitulino    {
835d7f9b689SLuiz Capitulino        .name       = "memsave",
836d7f9b689SLuiz Capitulino        .args_type  = "val:l,size:i,filename:s",
837d7f9b689SLuiz Capitulino        .params     = "addr size file",
838d7f9b689SLuiz Capitulino        .help       = "save to disk virtual memory dump starting at 'addr' of size 'size'",
8392b9e3576SMarc-André Lureau        .cmd        = hmp_memsave,
840d7f9b689SLuiz Capitulino    },
841d7f9b689SLuiz Capitulino
8422313086aSBlue SwirlSTEXI
8432313086aSBlue Swirl@item memsave @var{addr} @var{size} @var{file}
84470fcbbe7SStefan Weil@findex memsave
8452313086aSBlue Swirlsave to disk virtual memory dump starting at @var{addr} of size @var{size}.
8462313086aSBlue SwirlETEXI
8472313086aSBlue Swirl
848d7f9b689SLuiz Capitulino    {
849d7f9b689SLuiz Capitulino        .name       = "pmemsave",
850d7f9b689SLuiz Capitulino        .args_type  = "val:l,size:i,filename:s",
851d7f9b689SLuiz Capitulino        .params     = "addr size file",
852d7f9b689SLuiz Capitulino        .help       = "save to disk physical memory dump starting at 'addr' of size 'size'",
8532b9e3576SMarc-André Lureau        .cmd        = hmp_pmemsave,
854d7f9b689SLuiz Capitulino    },
855d7f9b689SLuiz Capitulino
8562313086aSBlue SwirlSTEXI
8572313086aSBlue Swirl@item pmemsave @var{addr} @var{size} @var{file}
85870fcbbe7SStefan Weil@findex pmemsave
8592313086aSBlue Swirlsave to disk physical memory dump starting at @var{addr} of size @var{size}.
8602313086aSBlue SwirlETEXI
8612313086aSBlue Swirl
862d7f9b689SLuiz Capitulino    {
863d7f9b689SLuiz Capitulino        .name       = "boot_set",
864d7f9b689SLuiz Capitulino        .args_type  = "bootdevice:s",
865d7f9b689SLuiz Capitulino        .params     = "bootdevice",
866d7f9b689SLuiz Capitulino        .help       = "define new values for the boot device list",
8672b9e3576SMarc-André Lureau        .cmd        = hmp_boot_set,
868d7f9b689SLuiz Capitulino    },
869d7f9b689SLuiz Capitulino
8702313086aSBlue SwirlSTEXI
8712313086aSBlue Swirl@item boot_set @var{bootdevicelist}
87270fcbbe7SStefan Weil@findex boot_set
8732313086aSBlue SwirlDefine new values for the boot device list. Those values will override
8742313086aSBlue Swirlthe values specified on the command line through the @code{-boot} option.
8752313086aSBlue Swirl
8762313086aSBlue SwirlThe values that can be specified here depend on the machine type, but are
8772313086aSBlue Swirlthe same that can be specified in the @code{-boot} command line option.
8782313086aSBlue SwirlETEXI
8792313086aSBlue Swirl
880d7f9b689SLuiz Capitulino    {
881d7f9b689SLuiz Capitulino        .name       = "nmi",
882e9b4b432SLuiz Capitulino        .args_type  = "",
883e9b4b432SLuiz Capitulino        .params     = "",
8849cb805fdSAlexey Kardashevskiy        .help       = "inject an NMI",
8852b9e3576SMarc-André Lureau        .cmd        = hmp_nmi,
886d7f9b689SLuiz Capitulino    },
8872313086aSBlue SwirlSTEXI
8882313086aSBlue Swirl@item nmi @var{cpu}
88970fcbbe7SStefan Weil@findex nmi
8909cb805fdSAlexey KardashevskiyInject an NMI on the default CPU (x86/s390) or all CPUs (ppc64).
8911f590cf9SLei Li
8921f590cf9SLei LiETEXI
8931f590cf9SLei Li
8941f590cf9SLei Li    {
8953949e594SMarkus Armbruster        .name       = "ringbuf_write",
8961f590cf9SLei Li        .args_type  = "device:s,data:s",
8971f590cf9SLei Li        .params     = "device data",
8983949e594SMarkus Armbruster        .help       = "Write to a ring buffer character device",
8992b9e3576SMarc-André Lureau        .cmd        = hmp_ringbuf_write,
9008e597779SHani Benhabiles        .command_completion = ringbuf_write_completion,
9011f590cf9SLei Li    },
9021f590cf9SLei Li
9031f590cf9SLei LiSTEXI
9043949e594SMarkus Armbruster@item ringbuf_write @var{device} @var{data}
9053949e594SMarkus Armbruster@findex ringbuf_write
9063949e594SMarkus ArmbrusterWrite @var{data} to ring buffer character device @var{device}.
9073949e594SMarkus Armbruster@var{data} must be a UTF-8 string.
9081f590cf9SLei Li
9092313086aSBlue SwirlETEXI
9102313086aSBlue Swirl
911d7f9b689SLuiz Capitulino    {
9123949e594SMarkus Armbruster        .name       = "ringbuf_read",
91349b6d722SLei Li        .args_type  = "device:s,size:i",
91449b6d722SLei Li        .params     = "device size",
9153949e594SMarkus Armbruster        .help       = "Read from a ring buffer character device",
9162b9e3576SMarc-André Lureau        .cmd        = hmp_ringbuf_read,
9178e597779SHani Benhabiles        .command_completion = ringbuf_write_completion,
91849b6d722SLei Li    },
91949b6d722SLei Li
92049b6d722SLei LiSTEXI
9213949e594SMarkus Armbruster@item ringbuf_read @var{device}
9223949e594SMarkus Armbruster@findex ringbuf_read
9233949e594SMarkus ArmbrusterRead and print up to @var{size} bytes from ring buffer character
9243949e594SMarkus Armbrusterdevice @var{device}.
925543f3412SMarkus ArmbrusterCertain non-printable characters are printed \uXXXX, where XXXX is the
926543f3412SMarkus Armbrustercharacter code in hexadecimal.  Character \ is printed \\.
9273949e594SMarkus ArmbrusterBug: can screw up when the buffer contains invalid UTF-8 sequences,
9283949e594SMarkus ArmbrusterNUL characters, after the ring buffer lost data, and when reading
9293949e594SMarkus Armbrusterstops because the size limit is reached.
93049b6d722SLei Li
93149b6d722SLei LiETEXI
93249b6d722SLei Li
93349b6d722SLei Li    {
934d7f9b689SLuiz Capitulino        .name       = "migrate",
9357a4da28bSPeter Xu        .args_type  = "detach:-d,blk:-b,inc:-i,resume:-r,uri:s",
9367a4da28bSPeter Xu        .params     = "[-d] [-b] [-i] [-r] uri",
937fbc3d96cSlirans@il.ibm.com        .help       = "migrate to URI (using -d to not wait for completion)"
938fbc3d96cSlirans@il.ibm.com		      "\n\t\t\t -b for migration without shared storage with"
939fbc3d96cSlirans@il.ibm.com		      " full copy of disk\n\t\t\t -i for migration without "
940fbc3d96cSlirans@il.ibm.com		      "shared storage with incremental copy of disk "
9417a4da28bSPeter Xu		      "(base image shared between src and destination)"
9427a4da28bSPeter Xu                      "\n\t\t\t -r to resume a paused migration",
9432b9e3576SMarc-André Lureau        .cmd        = hmp_migrate,
944d7f9b689SLuiz Capitulino    },
945d7f9b689SLuiz Capitulino
946fbc3d96cSlirans@il.ibm.com
9472313086aSBlue SwirlSTEXI
948fbc3d96cSlirans@il.ibm.com@item migrate [-d] [-b] [-i] @var{uri}
94970fcbbe7SStefan Weil@findex migrate
9502313086aSBlue SwirlMigrate to @var{uri} (using -d to not wait for completion).
951fbc3d96cSlirans@il.ibm.com	-b for migration with full copy of disk
952fbc3d96cSlirans@il.ibm.com	-i for migration with incremental copy of disk (base image is shared)
9532313086aSBlue SwirlETEXI
9542313086aSBlue Swirl
955d7f9b689SLuiz Capitulino    {
956d7f9b689SLuiz Capitulino        .name       = "migrate_cancel",
957d7f9b689SLuiz Capitulino        .args_type  = "",
958d7f9b689SLuiz Capitulino        .params     = "",
959d7f9b689SLuiz Capitulino        .help       = "cancel the current VM migration",
9602b9e3576SMarc-André Lureau        .cmd        = hmp_migrate_cancel,
961d7f9b689SLuiz Capitulino    },
962d7f9b689SLuiz Capitulino
9632313086aSBlue SwirlSTEXI
9642313086aSBlue Swirl@item migrate_cancel
96570fcbbe7SStefan Weil@findex migrate_cancel
9662313086aSBlue SwirlCancel the current VM migration.
96794ae12cbSDr. David Alan GilbertETEXI
9689e1ba4ccSOrit Wasserman
96994ae12cbSDr. David Alan Gilbert    {
97094ae12cbSDr. David Alan Gilbert        .name       = "migrate_continue",
97194ae12cbSDr. David Alan Gilbert        .args_type  = "state:s",
97294ae12cbSDr. David Alan Gilbert        .params     = "state",
97394ae12cbSDr. David Alan Gilbert        .help       = "Continue migration from the given paused state",
97494ae12cbSDr. David Alan Gilbert        .cmd        = hmp_migrate_continue,
97594ae12cbSDr. David Alan Gilbert    },
97694ae12cbSDr. David Alan GilbertSTEXI
97794ae12cbSDr. David Alan Gilbert@item migrate_continue @var{state}
97894ae12cbSDr. David Alan Gilbert@findex migrate_continue
97994ae12cbSDr. David Alan GilbertContinue migration from the paused state @var{state}
9809e1ba4ccSOrit WassermanETEXI
9819e1ba4ccSOrit Wasserman
9829e1ba4ccSOrit Wasserman    {
983bf1ae1f4SDr. David Alan Gilbert        .name       = "migrate_incoming",
984bf1ae1f4SDr. David Alan Gilbert        .args_type  = "uri:s",
985bf1ae1f4SDr. David Alan Gilbert        .params     = "uri",
986bf1ae1f4SDr. David Alan Gilbert        .help       = "Continue an incoming migration from an -incoming defer",
9872b9e3576SMarc-André Lureau        .cmd        = hmp_migrate_incoming,
988bf1ae1f4SDr. David Alan Gilbert    },
989bf1ae1f4SDr. David Alan Gilbert
990bf1ae1f4SDr. David Alan GilbertSTEXI
991bf1ae1f4SDr. David Alan Gilbert@item migrate_incoming @var{uri}
992bf1ae1f4SDr. David Alan Gilbert@findex migrate_incoming
993bf1ae1f4SDr. David Alan GilbertContinue an incoming migration using the @var{uri} (that has the same syntax
994bf1ae1f4SDr. David Alan Gilbertas the -incoming option).
9953b563c4bSPeter XuETEXI
996bf1ae1f4SDr. David Alan Gilbert
9973b563c4bSPeter Xu    {
9983b563c4bSPeter Xu        .name       = "migrate_recover",
9993b563c4bSPeter Xu        .args_type  = "uri:s",
10003b563c4bSPeter Xu        .params     = "uri",
10013b563c4bSPeter Xu        .help       = "Continue a paused incoming postcopy migration",
10023b563c4bSPeter Xu        .cmd        = hmp_migrate_recover,
10033b563c4bSPeter Xu    },
10043b563c4bSPeter Xu
10053b563c4bSPeter XuSTEXI
10063b563c4bSPeter Xu@item migrate_recover @var{uri}
10073b563c4bSPeter Xu@findex migrate_recover
10083b563c4bSPeter XuContinue a paused incoming postcopy migration using the @var{uri}.
1009bf1ae1f4SDr. David Alan GilbertETEXI
1010bf1ae1f4SDr. David Alan Gilbert
1011bf1ae1f4SDr. David Alan Gilbert    {
1012d37297dcSPeter Xu        .name       = "migrate_pause",
1013d37297dcSPeter Xu        .args_type  = "",
1014d37297dcSPeter Xu        .params     = "",
1015d37297dcSPeter Xu        .help       = "Pause an ongoing migration (postcopy-only)",
1016d37297dcSPeter Xu        .cmd        = hmp_migrate_pause,
1017d37297dcSPeter Xu    },
1018d37297dcSPeter Xu
1019d37297dcSPeter XuSTEXI
1020d37297dcSPeter Xu@item migrate_pause
1021d37297dcSPeter Xu@findex migrate_pause
1022d37297dcSPeter XuPause an ongoing migration.  Currently it only supports postcopy.
1023d37297dcSPeter XuETEXI
1024d37297dcSPeter Xu
1025d37297dcSPeter Xu    {
10269e1ba4ccSOrit Wasserman        .name       = "migrate_set_cache_size",
10279e1ba4ccSOrit Wasserman        .args_type  = "value:o",
10289e1ba4ccSOrit Wasserman        .params     = "value",
10299e1ba4ccSOrit Wasserman        .help       = "set cache size (in bytes) for XBZRLE migrations,"
10309e1ba4ccSOrit Wasserman                      "the cache size will be rounded down to the nearest "
10319e1ba4ccSOrit Wasserman                      "power of 2.\n"
10329e1ba4ccSOrit Wasserman                      "The cache size affects the number of cache misses."
10339e1ba4ccSOrit Wasserman                      "In case of a high cache miss ratio you need to increase"
10349e1ba4ccSOrit Wasserman                      " the cache size",
10352b9e3576SMarc-André Lureau        .cmd        = hmp_migrate_set_cache_size,
10369e1ba4ccSOrit Wasserman    },
10379e1ba4ccSOrit Wasserman
10389e1ba4ccSOrit WassermanSTEXI
10399e1ba4ccSOrit Wasserman@item migrate_set_cache_size @var{value}
10409e1ba4ccSOrit Wasserman@findex migrate_set_cache_size
10419e1ba4ccSOrit WassermanSet cache size to @var{value} (in bytes) for xbzrle migrations.
10422313086aSBlue SwirlETEXI
10432313086aSBlue Swirl
1044d7f9b689SLuiz Capitulino    {
1045d7f9b689SLuiz Capitulino        .name       = "migrate_set_speed",
1046ed3d4a80SJes Sorensen        .args_type  = "value:o",
1047d7f9b689SLuiz Capitulino        .params     = "value",
1048ed3d4a80SJes Sorensen        .help       = "set maximum speed (in bytes) for migrations. "
1049ed3d4a80SJes Sorensen	"Defaults to MB if no size suffix is specified, ie. B/K/M/G/T",
10502b9e3576SMarc-André Lureau        .cmd        = hmp_migrate_set_speed,
1051d7f9b689SLuiz Capitulino    },
1052d7f9b689SLuiz Capitulino
10532313086aSBlue SwirlSTEXI
10542313086aSBlue Swirl@item migrate_set_speed @var{value}
105570fcbbe7SStefan Weil@findex migrate_set_speed
10562313086aSBlue SwirlSet maximum speed to @var{value} (in bytes) for migrations.
10572313086aSBlue SwirlETEXI
10582313086aSBlue Swirl
1059d7f9b689SLuiz Capitulino    {
1060d7f9b689SLuiz Capitulino        .name       = "migrate_set_downtime",
1061b0fbf7d3SMarkus Armbruster        .args_type  = "value:T",
1062d7f9b689SLuiz Capitulino        .params     = "value",
1063d7f9b689SLuiz Capitulino        .help       = "set maximum tolerated downtime (in seconds) for migrations",
10642b9e3576SMarc-André Lureau        .cmd        = hmp_migrate_set_downtime,
1065d7f9b689SLuiz Capitulino    },
10662ea42952SGlauber Costa
10672ea42952SGlauber CostaSTEXI
10682ea42952SGlauber Costa@item migrate_set_downtime @var{second}
106970fcbbe7SStefan Weil@findex migrate_set_downtime
10702ea42952SGlauber CostaSet maximum tolerated downtime (in seconds) for migration.
10712ea42952SGlauber CostaETEXI
10722ea42952SGlauber Costa
1073f8882568SJes Sorensen    {
107400458433SOrit Wasserman        .name       = "migrate_set_capability",
107500458433SOrit Wasserman        .args_type  = "capability:s,state:b",
107600458433SOrit Wasserman        .params     = "capability state",
107700458433SOrit Wasserman        .help       = "Enable/Disable the usage of a capability for migration",
10782b9e3576SMarc-André Lureau        .cmd        = hmp_migrate_set_capability,
1079c68a0409SHani Benhabiles        .command_completion = migrate_set_capability_completion,
108000458433SOrit Wasserman    },
108100458433SOrit Wasserman
108200458433SOrit WassermanSTEXI
108300458433SOrit Wasserman@item migrate_set_capability @var{capability} @var{state}
108400458433SOrit Wasserman@findex migrate_set_capability
108500458433SOrit WassermanEnable/Disable the usage of a capability @var{capability} for migration.
108600458433SOrit WassermanETEXI
108700458433SOrit Wasserman
108800458433SOrit Wasserman    {
108950e9a629SLiang Li        .name       = "migrate_set_parameter",
109069ef1f36SDaniel P. Berrange        .args_type  = "parameter:s,value:s",
109150e9a629SLiang Li        .params     = "parameter value",
109250e9a629SLiang Li        .help       = "Set the parameter for migration",
10932b9e3576SMarc-André Lureau        .cmd        = hmp_migrate_set_parameter,
109450e9a629SLiang Li        .command_completion = migrate_set_parameter_completion,
109550e9a629SLiang Li    },
109650e9a629SLiang Li
109750e9a629SLiang LiSTEXI
109850e9a629SLiang Li@item migrate_set_parameter @var{parameter} @var{value}
109950e9a629SLiang Li@findex migrate_set_parameter
110050e9a629SLiang LiSet the parameter @var{parameter} for migration.
110150e9a629SLiang LiETEXI
110250e9a629SLiang Li
110350e9a629SLiang Li    {
11044886a1bcSDr. David Alan Gilbert        .name       = "migrate_start_postcopy",
11054886a1bcSDr. David Alan Gilbert        .args_type  = "",
11064886a1bcSDr. David Alan Gilbert        .params     = "",
1107a54d340bSDr. David Alan Gilbert        .help       = "Followup to a migration command to switch the migration"
110832c3db5bSDr. David Alan Gilbert                      " to postcopy mode. The postcopy-ram capability must "
1109c2eb7f21SGreg Kurz                      "be set on both source and destination before the "
1110c2eb7f21SGreg Kurz                      "original migration command .",
11112b9e3576SMarc-André Lureau        .cmd        = hmp_migrate_start_postcopy,
11124886a1bcSDr. David Alan Gilbert    },
11134886a1bcSDr. David Alan Gilbert
11144886a1bcSDr. David Alan GilbertSTEXI
11154886a1bcSDr. David Alan Gilbert@item migrate_start_postcopy
11164886a1bcSDr. David Alan Gilbert@findex migrate_start_postcopy
11174886a1bcSDr. David Alan GilbertSwitch in-progress migration to postcopy mode. Ignored after the end of
11184886a1bcSDr. David Alan Gilbertmigration (or once already in postcopy).
11194886a1bcSDr. David Alan GilbertETEXI
11204886a1bcSDr. David Alan Gilbert
11214886a1bcSDr. David Alan Gilbert    {
1122d89e666eSzhanghailiang        .name       = "x_colo_lost_heartbeat",
1123d89e666eSzhanghailiang        .args_type  = "",
1124d89e666eSzhanghailiang        .params     = "",
1125d89e666eSzhanghailiang        .help       = "Tell COLO that heartbeat is lost,\n\t\t\t"
1126d89e666eSzhanghailiang                      "a failover or takeover is needed.",
1127d89e666eSzhanghailiang        .cmd = hmp_x_colo_lost_heartbeat,
1128d89e666eSzhanghailiang    },
1129d89e666eSzhanghailiang
1130d89e666eSzhanghailiangSTEXI
1131d89e666eSzhanghailiang@item x_colo_lost_heartbeat
1132d89e666eSzhanghailiang@findex x_colo_lost_heartbeat
1133d89e666eSzhanghailiangTell COLO that heartbeat is lost, a failover or takeover is needed.
1134d89e666eSzhanghailiangETEXI
1135d89e666eSzhanghailiang
1136d89e666eSzhanghailiang    {
11372ea720dbSJes Sorensen        .name       = "client_migrate_info",
11382ea720dbSJes Sorensen        .args_type  = "protocol:s,hostname:s,port:i?,tls-port:i?,cert-subject:s?",
11392ea720dbSJes Sorensen        .params     = "protocol hostname port tls-port cert-subject",
114013cadefbSMarkus Armbruster        .help       = "set migration information for remote display",
11412b9e3576SMarc-André Lureau        .cmd        = hmp_client_migrate_info,
1142f8882568SJes Sorensen    },
1143f8882568SJes Sorensen
1144f8882568SJes SorensenSTEXI
1145e866e239SGerd Hoffmann@item client_migrate_info @var{protocol} @var{hostname} @var{port} @var{tls-port} @var{cert-subject}
1146e866e239SGerd Hoffmann@findex client_migrate_info
114713cadefbSMarkus ArmbrusterSet migration information for remote display.  This makes the server
114813cadefbSMarkus Armbrusterask the client to automatically reconnect using the new parameters
114913cadefbSMarkus Armbrusteronce migration finished successfully.  Only implemented for SPICE.
1150e866e239SGerd HoffmannETEXI
1151e866e239SGerd Hoffmann
1152783e9b48SWen Congyang    {
1153783e9b48SWen Congyang        .name       = "dump-guest-memory",
11542da91b54SViktor Prutyanov        .args_type  = "paging:-p,detach:-d,windmp:-w,zlib:-z,lzo:-l,snappy:-s,filename:F,begin:l?,length:l?",
11552da91b54SViktor Prutyanov        .params     = "[-p] [-d] [-z|-l|-s|-w] filename [begin length]",
1156c20499d9SQiao Nuohan        .help       = "dump guest memory into file 'filename'.\n\t\t\t"
1157c20499d9SQiao Nuohan                      "-p: do paging to get guest's memory mapping.\n\t\t\t"
1158228de9cfSPeter Xu                      "-d: return immediately (do not wait for completion).\n\t\t\t"
11591b7a0f75SQiao Nuohan                      "-z: dump in kdump-compressed format, with zlib compression.\n\t\t\t"
11601b7a0f75SQiao Nuohan                      "-l: dump in kdump-compressed format, with lzo compression.\n\t\t\t"
11611b7a0f75SQiao Nuohan                      "-s: dump in kdump-compressed format, with snappy compression.\n\t\t\t"
11622da91b54SViktor Prutyanov                      "-w: dump in Windows crashdump format (can be used instead of ELF-dump converting),\n\t\t\t"
11632da91b54SViktor Prutyanov                      "    for Windows x64 guests with vmcoreinfo driver only.\n\t\t\t"
1164c20499d9SQiao Nuohan                      "begin: the starting physical address.\n\t\t\t"
1165c20499d9SQiao Nuohan                      "length: the memory size, in bytes.",
11662b9e3576SMarc-André Lureau        .cmd        = hmp_dump_guest_memory,
1167783e9b48SWen Congyang    },
1168783e9b48SWen Congyang
1169783e9b48SWen CongyangSTEXI
1170c20499d9SQiao Nuohan@item dump-guest-memory [-p] @var{filename} @var{begin} @var{length}
11712da91b54SViktor Prutyanov@item dump-guest-memory [-z|-l|-s|-w] @var{filename}
1172783e9b48SWen Congyang@findex dump-guest-memory
1173783e9b48SWen CongyangDump guest memory to @var{protocol}. The file can be processed with crash or
11742da91b54SViktor Prutyanovgdb. Without -z|-l|-s|-w, the dump format is ELF.
1175c20499d9SQiao Nuohan        -p: do paging to get guest's memory mapping.
11761b7a0f75SQiao Nuohan        -z: dump in kdump-compressed format, with zlib compression.
11771b7a0f75SQiao Nuohan        -l: dump in kdump-compressed format, with lzo compression.
11781b7a0f75SQiao Nuohan        -s: dump in kdump-compressed format, with snappy compression.
11792da91b54SViktor Prutyanov        -w: dump in Windows crashdump format (can be used instead of ELF-dump converting),
11802da91b54SViktor Prutyanov            for Windows x64 guests with vmcoreinfo driver only
1181c20499d9SQiao Nuohan  filename: dump file name.
1182783e9b48SWen Congyang     begin: the starting physical address. It's optional, and should be
1183c20499d9SQiao Nuohan            specified together with length.
1184783e9b48SWen Congyang    length: the memory size, in bytes. It's optional, and should be specified
1185c20499d9SQiao Nuohan            together with begin.
1186783e9b48SWen CongyangETEXI
1187783e9b48SWen Congyang
1188a4538a5cSJason J. Herne#if defined(TARGET_S390X)
1189a4538a5cSJason J. Herne    {
1190a4538a5cSJason J. Herne        .name       = "dump-skeys",
1191a4538a5cSJason J. Herne        .args_type  = "filename:F",
1192a4538a5cSJason J. Herne        .params     = "",
1193a4538a5cSJason J. Herne        .help       = "Save guest storage keys into file 'filename'.\n",
11942b9e3576SMarc-André Lureau        .cmd        = hmp_dump_skeys,
1195a4538a5cSJason J. Herne    },
1196a4538a5cSJason J. Herne#endif
1197a4538a5cSJason J. Herne
1198a4538a5cSJason J. HerneSTEXI
1199a4538a5cSJason J. Herne@item dump-skeys @var{filename}
1200a4538a5cSJason J. Herne@findex dump-skeys
1201a4538a5cSJason J. HerneSave guest storage keys to a file.
1202a4538a5cSJason J. HerneETEXI
1203a4538a5cSJason J. Herne
1204f860d497SClaudio Imbrenda#if defined(TARGET_S390X)
1205f860d497SClaudio Imbrenda    {
1206f860d497SClaudio Imbrenda        .name       = "migration_mode",
1207f860d497SClaudio Imbrenda        .args_type  = "mode:i",
1208f860d497SClaudio Imbrenda        .params     = "mode",
1209f860d497SClaudio Imbrenda        .help       = "Enables or disables migration mode\n",
1210f860d497SClaudio Imbrenda        .cmd        = hmp_migrationmode,
1211f860d497SClaudio Imbrenda    },
1212f860d497SClaudio Imbrenda#endif
1213f860d497SClaudio Imbrenda
1214f860d497SClaudio ImbrendaSTEXI
1215f860d497SClaudio Imbrenda@item migration_mode @var{mode}
1216f860d497SClaudio Imbrenda@findex migration_mode
1217f860d497SClaudio ImbrendaEnables or disables migration mode.
1218f860d497SClaudio ImbrendaETEXI
1219f860d497SClaudio Imbrenda
1220e866e239SGerd Hoffmann    {
12212ea720dbSJes Sorensen        .name       = "snapshot_blkdev",
12226cc2a415SPaolo Bonzini        .args_type  = "reuse:-n,device:B,snapshot-file:s?,format:s?",
12236cc2a415SPaolo Bonzini        .params     = "[-n] device [new-image-file] [format]",
12242ea720dbSJes Sorensen        .help       = "initiates a live snapshot\n\t\t\t"
12252ea720dbSJes Sorensen                      "of device. If a new image file is specified, the\n\t\t\t"
12262ea720dbSJes Sorensen                      "new image file will become the new root image.\n\t\t\t"
12272ea720dbSJes Sorensen                      "If format is specified, the snapshot file will\n\t\t\t"
1228775ca88eSWenchao Xia                      "be created in that format.\n\t\t\t"
12296cc2a415SPaolo Bonzini                      "The default format is qcow2.  The -n flag requests QEMU\n\t\t\t"
12306cc2a415SPaolo Bonzini                      "to reuse the image found in new-image-file, instead of\n\t\t\t"
12316cc2a415SPaolo Bonzini                      "recreating it from scratch.",
12322b9e3576SMarc-André Lureau        .cmd        = hmp_snapshot_blkdev,
1233e866e239SGerd Hoffmann    },
1234e866e239SGerd Hoffmann
1235e866e239SGerd HoffmannSTEXI
1236f8882568SJes Sorensen@item snapshot_blkdev
1237f8882568SJes Sorensen@findex snapshot_blkdev
1238f8882568SJes SorensenSnapshot device, using snapshot file as target if provided
1239f8882568SJes SorensenETEXI
1240f8882568SJes Sorensen
1241d7f9b689SLuiz Capitulino    {
1242775ca88eSWenchao Xia        .name       = "snapshot_blkdev_internal",
1243775ca88eSWenchao Xia        .args_type  = "device:B,name:s",
1244775ca88eSWenchao Xia        .params     = "device name",
1245775ca88eSWenchao Xia        .help       = "take an internal snapshot of device.\n\t\t\t"
1246775ca88eSWenchao Xia                      "The format of the image used by device must\n\t\t\t"
1247775ca88eSWenchao Xia                      "support it, such as qcow2.\n\t\t\t",
12482b9e3576SMarc-André Lureau        .cmd        = hmp_snapshot_blkdev_internal,
1249775ca88eSWenchao Xia    },
1250775ca88eSWenchao Xia
1251775ca88eSWenchao XiaSTEXI
1252775ca88eSWenchao Xia@item snapshot_blkdev_internal
1253775ca88eSWenchao Xia@findex snapshot_blkdev_internal
1254775ca88eSWenchao XiaTake an internal snapshot on device if it support
1255775ca88eSWenchao XiaETEXI
1256775ca88eSWenchao Xia
1257775ca88eSWenchao Xia    {
12587a4ed2eeSWenchao Xia        .name       = "snapshot_delete_blkdev_internal",
12597a4ed2eeSWenchao Xia        .args_type  = "device:B,name:s,id:s?",
12607a4ed2eeSWenchao Xia        .params     = "device name [id]",
12617a4ed2eeSWenchao Xia        .help       = "delete an internal snapshot of device.\n\t\t\t"
12627a4ed2eeSWenchao Xia                      "If id is specified, qemu will try delete\n\t\t\t"
12637a4ed2eeSWenchao Xia                      "the snapshot matching both id and name.\n\t\t\t"
12647a4ed2eeSWenchao Xia                      "The format of the image used by device must\n\t\t\t"
12657a4ed2eeSWenchao Xia                      "support it, such as qcow2.\n\t\t\t",
12662b9e3576SMarc-André Lureau        .cmd        = hmp_snapshot_delete_blkdev_internal,
12677a4ed2eeSWenchao Xia    },
12687a4ed2eeSWenchao Xia
12697a4ed2eeSWenchao XiaSTEXI
12707a4ed2eeSWenchao Xia@item snapshot_delete_blkdev_internal
12717a4ed2eeSWenchao Xia@findex snapshot_delete_blkdev_internal
12727a4ed2eeSWenchao XiaDelete an internal snapshot on device if it support
12737a4ed2eeSWenchao XiaETEXI
12747a4ed2eeSWenchao Xia
12757a4ed2eeSWenchao Xia    {
1276d9b902dbSPaolo Bonzini        .name       = "drive_mirror",
1277d9b902dbSPaolo Bonzini        .args_type  = "reuse:-n,full:-f,device:B,target:s,format:s?",
1278d9b902dbSPaolo Bonzini        .params     = "[-n] [-f] device target [format]",
1279d9b902dbSPaolo Bonzini        .help       = "initiates live storage\n\t\t\t"
1280d9b902dbSPaolo Bonzini                      "migration for a device. The device's contents are\n\t\t\t"
1281d9b902dbSPaolo Bonzini                      "copied to the new image file, including data that\n\t\t\t"
1282d9b902dbSPaolo Bonzini                      "is written after the command is started.\n\t\t\t"
1283d9b902dbSPaolo Bonzini                      "The -n flag requests QEMU to reuse the image found\n\t\t\t"
1284d9b902dbSPaolo Bonzini                      "in new-image-file, instead of recreating it from scratch.\n\t\t\t"
1285d9b902dbSPaolo Bonzini                      "The -f flag requests QEMU to copy the whole disk,\n\t\t\t"
1286d9b902dbSPaolo Bonzini                      "so that the result does not need a backing file.\n\t\t\t",
12872b9e3576SMarc-André Lureau        .cmd        = hmp_drive_mirror,
1288d9b902dbSPaolo Bonzini    },
1289d9b902dbSPaolo BonziniSTEXI
1290d9b902dbSPaolo Bonzini@item drive_mirror
1291d9b902dbSPaolo Bonzini@findex drive_mirror
1292d9b902dbSPaolo BonziniStart mirroring a block device's writes to a new destination,
1293d9b902dbSPaolo Bonziniusing the specified target.
1294d9b902dbSPaolo BonziniETEXI
1295d9b902dbSPaolo Bonzini
1296d9b902dbSPaolo Bonzini    {
1297de90930aSStefan Hajnoczi        .name       = "drive_backup",
129813b9414bSPavel Butsykin        .args_type  = "reuse:-n,full:-f,compress:-c,device:B,target:s,format:s?",
129913b9414bSPavel Butsykin        .params     = "[-n] [-f] [-c] device target [format]",
1300de90930aSStefan Hajnoczi        .help       = "initiates a point-in-time\n\t\t\t"
1301de90930aSStefan Hajnoczi                      "copy for a device. The device's contents are\n\t\t\t"
1302de90930aSStefan Hajnoczi                      "copied to the new image file, excluding data that\n\t\t\t"
1303de90930aSStefan Hajnoczi                      "is written after the command is started.\n\t\t\t"
1304de90930aSStefan Hajnoczi                      "The -n flag requests QEMU to reuse the image found\n\t\t\t"
1305de90930aSStefan Hajnoczi                      "in new-image-file, instead of recreating it from scratch.\n\t\t\t"
1306de90930aSStefan Hajnoczi                      "The -f flag requests QEMU to copy the whole disk,\n\t\t\t"
130713b9414bSPavel Butsykin                      "so that the result does not need a backing file.\n\t\t\t"
130813b9414bSPavel Butsykin                      "The -c flag requests QEMU to compress backup data\n\t\t\t"
130913b9414bSPavel Butsykin                      "(if the target format supports it).\n\t\t\t",
13102b9e3576SMarc-André Lureau        .cmd        = hmp_drive_backup,
1311de90930aSStefan Hajnoczi    },
1312de90930aSStefan HajnocziSTEXI
1313de90930aSStefan Hajnoczi@item drive_backup
1314de90930aSStefan Hajnoczi@findex drive_backup
1315de90930aSStefan HajnocziStart a point-in-time copy of a block device to a specificed target.
1316de90930aSStefan HajnocziETEXI
1317de90930aSStefan Hajnoczi
1318de90930aSStefan Hajnoczi    {
1319d7f9b689SLuiz Capitulino        .name       = "drive_add",
1320abb21ac3SKevin Wolf        .args_type  = "node:-n,pci_addr:s,opts:s",
1321abb21ac3SKevin Wolf        .params     = "[-n] [[<domain>:]<bus>:]<slot>\n"
13222313086aSBlue Swirl                      "[file=file][,if=type][,bus=n]\n"
1323fb0490f6SStefan Hajnoczi                      "[,unit=m][,media=d][,index=i]\n"
1324fb0490f6SStefan Hajnoczi                      "[,snapshot=on|off][,cache=on|off]\n"
1325fb0490f6SStefan Hajnoczi                      "[,readonly=on|off][,copy-on-read=on|off]",
1326d7f9b689SLuiz Capitulino        .help       = "add drive to PCI storage controller",
13272b9e3576SMarc-André Lureau        .cmd        = hmp_drive_add,
1328d7f9b689SLuiz Capitulino    },
1329d7f9b689SLuiz Capitulino
13302313086aSBlue SwirlSTEXI
13312313086aSBlue Swirl@item drive_add
133270fcbbe7SStefan Weil@findex drive_add
13332313086aSBlue SwirlAdd drive to PCI storage controller.
13342313086aSBlue SwirlETEXI
13352313086aSBlue Swirl
1336d7f9b689SLuiz Capitulino    {
13372ae63bdaSIsaku Yamahata        .name       = "pcie_aer_inject_error",
13382ae63bdaSIsaku Yamahata        .args_type  = "advisory_non_fatal:-a,correctable:-c,"
13392ae63bdaSIsaku Yamahata	              "id:s,error_status:s,"
13402ae63bdaSIsaku Yamahata	              "header0:i?,header1:i?,header2:i?,header3:i?,"
13412ae63bdaSIsaku Yamahata	              "prefix0:i?,prefix1:i?,prefix2:i?,prefix3:i?",
13422ae63bdaSIsaku Yamahata        .params     = "[-a] [-c] id "
13432ae63bdaSIsaku Yamahata                      "<error_status> [<tlp header> [<tlp header prefix>]]",
13442ae63bdaSIsaku Yamahata        .help       = "inject pcie aer error\n\t\t\t"
13452ae63bdaSIsaku Yamahata	              " -a for advisory non fatal error\n\t\t\t"
13462ae63bdaSIsaku Yamahata	              " -c for correctable error\n\t\t\t"
13472ae63bdaSIsaku Yamahata                      "<id> = qdev device id\n\t\t\t"
13482ae63bdaSIsaku Yamahata                      "<error_status> = error string or 32bit\n\t\t\t"
13492ae63bdaSIsaku Yamahata                      "<tlb header> = 32bit x 4\n\t\t\t"
13502ae63bdaSIsaku Yamahata                      "<tlb header prefix> = 32bit x 4",
13512b9e3576SMarc-André Lureau        .cmd        = hmp_pcie_aer_inject_error,
13522ae63bdaSIsaku Yamahata    },
13532ae63bdaSIsaku Yamahata
13542ae63bdaSIsaku YamahataSTEXI
13552ae63bdaSIsaku Yamahata@item pcie_aer_inject_error
13562ae63bdaSIsaku Yamahata@findex pcie_aer_inject_error
13572ae63bdaSIsaku YamahataInject PCIe AER error
13582ae63bdaSIsaku YamahataETEXI
13592ae63bdaSIsaku Yamahata
13602ae63bdaSIsaku Yamahata    {
1361ae82d324SMarkus Armbruster        .name       = "netdev_add",
1362ae82d324SMarkus Armbruster        .args_type  = "netdev:O",
136303ce5744SNikolay Nikolaev        .params     = "[user|tap|socket|vde|bridge|hubport|netmap|vhost-user],id=str[,prop=value][,...]",
1364ae82d324SMarkus Armbruster        .help       = "add host network device",
13652b9e3576SMarc-André Lureau        .cmd        = hmp_netdev_add,
1366b162b49aSHani Benhabiles        .command_completion = netdev_add_completion,
1367ae82d324SMarkus Armbruster    },
1368ae82d324SMarkus Armbruster
1369ae82d324SMarkus ArmbrusterSTEXI
1370ae82d324SMarkus Armbruster@item netdev_add
1371ae82d324SMarkus Armbruster@findex netdev_add
1372ae82d324SMarkus ArmbrusterAdd host network device.
1373ae82d324SMarkus ArmbrusterETEXI
1374ae82d324SMarkus Armbruster
1375ae82d324SMarkus Armbruster    {
1376ae82d324SMarkus Armbruster        .name       = "netdev_del",
1377ae82d324SMarkus Armbruster        .args_type  = "id:s",
1378ae82d324SMarkus Armbruster        .params     = "id",
1379ae82d324SMarkus Armbruster        .help       = "remove host network device",
13802b9e3576SMarc-André Lureau        .cmd        = hmp_netdev_del,
138111b389f2SHani Benhabiles        .command_completion = netdev_del_completion,
1382ae82d324SMarkus Armbruster    },
1383ae82d324SMarkus Armbruster
1384ae82d324SMarkus ArmbrusterSTEXI
1385ae82d324SMarkus Armbruster@item netdev_del
1386ae82d324SMarkus Armbruster@findex netdev_del
1387ae82d324SMarkus ArmbrusterRemove host network device.
1388ae82d324SMarkus ArmbrusterETEXI
1389ae82d324SMarkus Armbruster
1390ab2d0531SPaolo Bonzini    {
1391cff8b2c6SPaolo Bonzini        .name       = "object_add",
1392cff8b2c6SPaolo Bonzini        .args_type  = "object:O",
1393cff8b2c6SPaolo Bonzini        .params     = "[qom-type=]type,id=str[,prop=value][,...]",
1394cff8b2c6SPaolo Bonzini        .help       = "create QOM object",
13952b9e3576SMarc-André Lureau        .cmd        = hmp_object_add,
1396bfa40f77SHani Benhabiles        .command_completion = object_add_completion,
1397cff8b2c6SPaolo Bonzini    },
1398cff8b2c6SPaolo Bonzini
1399cff8b2c6SPaolo BonziniSTEXI
1400cff8b2c6SPaolo Bonzini@item object_add
1401cff8b2c6SPaolo Bonzini@findex object_add
1402cff8b2c6SPaolo BonziniCreate QOM object.
1403cff8b2c6SPaolo BonziniETEXI
1404cff8b2c6SPaolo Bonzini
1405cff8b2c6SPaolo Bonzini    {
1406ab2d0531SPaolo Bonzini        .name       = "object_del",
1407ab2d0531SPaolo Bonzini        .args_type  = "id:s",
1408ab2d0531SPaolo Bonzini        .params     = "id",
1409ab2d0531SPaolo Bonzini        .help       = "destroy QOM object",
14102b9e3576SMarc-André Lureau        .cmd        = hmp_object_del,
1411bfa40f77SHani Benhabiles        .command_completion = object_del_completion,
1412ab2d0531SPaolo Bonzini    },
1413ab2d0531SPaolo Bonzini
1414ab2d0531SPaolo BonziniSTEXI
1415ab2d0531SPaolo Bonzini@item object_del
1416ab2d0531SPaolo Bonzini@findex object_del
1417ab2d0531SPaolo BonziniDestroy QOM object.
1418ab2d0531SPaolo BonziniETEXI
1419ab2d0531SPaolo Bonzini
14202313086aSBlue Swirl#ifdef CONFIG_SLIRP
1421d7f9b689SLuiz Capitulino    {
1422d7f9b689SLuiz Capitulino        .name       = "hostfwd_add",
1423d7f9b689SLuiz Capitulino        .args_type  = "arg1:s,arg2:s?,arg3:s?",
142493653066SThomas Huth        .params     = "[hub_id name]|[netdev_id] [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport",
1425d7f9b689SLuiz Capitulino        .help       = "redirect TCP or UDP connections from host to guest (requires -net user)",
14262b9e3576SMarc-André Lureau        .cmd        = hmp_hostfwd_add,
1427d7f9b689SLuiz Capitulino    },
142821413d68SMarkus Armbruster#endif
142921413d68SMarkus ArmbrusterSTEXI
143021413d68SMarkus Armbruster@item hostfwd_add
143121413d68SMarkus Armbruster@findex hostfwd_add
143221413d68SMarkus ArmbrusterRedirect TCP or UDP connections from host to guest (requires -net user).
143321413d68SMarkus ArmbrusterETEXI
1434d7f9b689SLuiz Capitulino
143521413d68SMarkus Armbruster#ifdef CONFIG_SLIRP
1436d7f9b689SLuiz Capitulino    {
1437d7f9b689SLuiz Capitulino        .name       = "hostfwd_remove",
1438d7f9b689SLuiz Capitulino        .args_type  = "arg1:s,arg2:s?,arg3:s?",
143993653066SThomas Huth        .params     = "[hub_id name]|[netdev_id] [tcp|udp]:[hostaddr]:hostport",
1440d7f9b689SLuiz Capitulino        .help       = "remove host-to-guest TCP or UDP redirection",
14412b9e3576SMarc-André Lureau        .cmd        = hmp_hostfwd_remove,
1442d7f9b689SLuiz Capitulino    },
1443d7f9b689SLuiz Capitulino
14442313086aSBlue Swirl#endif
14452313086aSBlue SwirlSTEXI
144621413d68SMarkus Armbruster@item hostfwd_remove
144721413d68SMarkus Armbruster@findex hostfwd_remove
144821413d68SMarkus ArmbrusterRemove host-to-guest TCP or UDP redirection.
14492313086aSBlue SwirlETEXI
14502313086aSBlue Swirl
1451d7f9b689SLuiz Capitulino    {
1452d7f9b689SLuiz Capitulino        .name       = "balloon",
14533b0bd6ecSLuiz Capitulino        .args_type  = "value:M",
1454d7f9b689SLuiz Capitulino        .params     = "target",
14553c05613aSRiccardo Magliocchetti        .help       = "request VM to change its memory allocation (in MB)",
14562b9e3576SMarc-André Lureau        .cmd        = hmp_balloon,
1457d7f9b689SLuiz Capitulino    },
1458d7f9b689SLuiz Capitulino
14592313086aSBlue SwirlSTEXI
14602313086aSBlue Swirl@item balloon @var{value}
146170fcbbe7SStefan Weil@findex balloon
14622313086aSBlue SwirlRequest VM to change its memory allocation to @var{value} (in MB).
14632313086aSBlue SwirlETEXI
14642313086aSBlue Swirl
1465d7f9b689SLuiz Capitulino    {
1466d7f9b689SLuiz Capitulino        .name       = "set_link",
1467c9b26a4cSMarkus Armbruster        .args_type  = "name:s,up:b",
1468c9b26a4cSMarkus Armbruster        .params     = "name on|off",
1469d7f9b689SLuiz Capitulino        .help       = "change the link status of a network adapter",
14702b9e3576SMarc-André Lureau        .cmd        = hmp_set_link,
147140d19394SHani Benhabiles        .command_completion = set_link_completion,
1472d7f9b689SLuiz Capitulino    },
1473d7f9b689SLuiz Capitulino
14742313086aSBlue SwirlSTEXI
1475c9b26a4cSMarkus Armbruster@item set_link @var{name} [on|off]
147670fcbbe7SStefan Weil@findex set_link
1477c9b26a4cSMarkus ArmbrusterSwitch link @var{name} on (i.e. up) or off (i.e. down).
14782313086aSBlue SwirlETEXI
14792313086aSBlue Swirl
1480d7f9b689SLuiz Capitulino    {
1481d7f9b689SLuiz Capitulino        .name       = "watchdog_action",
1482d7f9b689SLuiz Capitulino        .args_type  = "action:s",
1483d7f9b689SLuiz Capitulino        .params     = "[reset|shutdown|poweroff|pause|debug|none]",
1484d7f9b689SLuiz Capitulino        .help       = "change watchdog action",
14852b9e3576SMarc-André Lureau        .cmd        = hmp_watchdog_action,
1486d0ece345SHani Benhabiles        .command_completion = watchdog_action_completion,
1487d7f9b689SLuiz Capitulino    },
1488d7f9b689SLuiz Capitulino
14892313086aSBlue SwirlSTEXI
14902313086aSBlue Swirl@item watchdog_action
149170fcbbe7SStefan Weil@findex watchdog_action
14922313086aSBlue SwirlChange watchdog action.
14932313086aSBlue SwirlETEXI
14942313086aSBlue Swirl
1495d7f9b689SLuiz Capitulino    {
1496d7f9b689SLuiz Capitulino        .name       = "acl_show",
1497d7f9b689SLuiz Capitulino        .args_type  = "aclname:s",
1498d7f9b689SLuiz Capitulino        .params     = "aclname",
1499d7f9b689SLuiz Capitulino        .help       = "list rules in the access control list",
15002b9e3576SMarc-André Lureau        .cmd        = hmp_acl_show,
1501d7f9b689SLuiz Capitulino    },
1502d7f9b689SLuiz Capitulino
15032313086aSBlue SwirlSTEXI
150415dfcd45SJan Kiszka@item acl_show @var{aclname}
150570fcbbe7SStefan Weil@findex acl_show
150615dfcd45SJan KiszkaList all the matching rules in the access control list, and the default
150715dfcd45SJan Kiszkapolicy. There are currently two named access control lists,
150815dfcd45SJan Kiszka@var{vnc.x509dname} and @var{vnc.username} matching on the x509 client
150915dfcd45SJan Kiszkacertificate distinguished name, and SASL username respectively.
151015dfcd45SJan KiszkaETEXI
15112313086aSBlue Swirl
1512d7f9b689SLuiz Capitulino    {
1513d7f9b689SLuiz Capitulino        .name       = "acl_policy",
1514d7f9b689SLuiz Capitulino        .args_type  = "aclname:s,policy:s",
1515d7f9b689SLuiz Capitulino        .params     = "aclname allow|deny",
1516d7f9b689SLuiz Capitulino        .help       = "set default access control list policy",
15172b9e3576SMarc-André Lureau        .cmd        = hmp_acl_policy,
1518d7f9b689SLuiz Capitulino    },
1519d7f9b689SLuiz Capitulino
152015dfcd45SJan KiszkaSTEXI
1521cbbfacc6SJan Kiszka@item acl_policy @var{aclname} @code{allow|deny}
152270fcbbe7SStefan Weil@findex acl_policy
152315dfcd45SJan KiszkaSet the default access control list policy, used in the event that
15242313086aSBlue Swirlnone of the explicit rules match. The default policy at startup is
152515dfcd45SJan Kiszkaalways @code{deny}.
152615dfcd45SJan KiszkaETEXI
152715dfcd45SJan Kiszka
1528d7f9b689SLuiz Capitulino    {
1529d7f9b689SLuiz Capitulino        .name       = "acl_add",
1530d7f9b689SLuiz Capitulino        .args_type  = "aclname:s,match:s,policy:s,index:i?",
1531d7f9b689SLuiz Capitulino        .params     = "aclname match allow|deny [index]",
1532d7f9b689SLuiz Capitulino        .help       = "add a match rule to the access control list",
15332b9e3576SMarc-André Lureau        .cmd        = hmp_acl_add,
1534d7f9b689SLuiz Capitulino    },
1535d7f9b689SLuiz Capitulino
153615dfcd45SJan KiszkaSTEXI
15370e4aec98SMarkus Armbruster@item acl_add @var{aclname} @var{match} @code{allow|deny} [@var{index}]
15380e4aec98SMarkus Armbruster@findex acl_add
153915dfcd45SJan KiszkaAdd a match rule to the access control list, allowing or denying access.
154015dfcd45SJan KiszkaThe match will normally be an exact username or x509 distinguished name,
154115dfcd45SJan Kiszkabut can optionally include wildcard globs. eg @code{*@@EXAMPLE.COM} to
154215dfcd45SJan Kiszkaallow all users in the @code{EXAMPLE.COM} kerberos realm. The match will
15432313086aSBlue Swirlnormally be appended to the end of the ACL, but can be inserted
154415dfcd45SJan Kiszkaearlier in the list if the optional @var{index} parameter is supplied.
154515dfcd45SJan KiszkaETEXI
154615dfcd45SJan Kiszka
1547d7f9b689SLuiz Capitulino    {
1548d7f9b689SLuiz Capitulino        .name       = "acl_remove",
1549d7f9b689SLuiz Capitulino        .args_type  = "aclname:s,match:s",
1550d7f9b689SLuiz Capitulino        .params     = "aclname match",
1551d7f9b689SLuiz Capitulino        .help       = "remove a match rule from the access control list",
15522b9e3576SMarc-André Lureau        .cmd        = hmp_acl_remove,
1553d7f9b689SLuiz Capitulino    },
1554d7f9b689SLuiz Capitulino
155515dfcd45SJan KiszkaSTEXI
155615dfcd45SJan Kiszka@item acl_remove @var{aclname} @var{match}
155770fcbbe7SStefan Weil@findex acl_remove
155815dfcd45SJan KiszkaRemove the specified match rule from the access control list.
155915dfcd45SJan KiszkaETEXI
156015dfcd45SJan Kiszka
1561d7f9b689SLuiz Capitulino    {
1562d7f9b689SLuiz Capitulino        .name       = "acl_reset",
1563d7f9b689SLuiz Capitulino        .args_type  = "aclname:s",
1564d7f9b689SLuiz Capitulino        .params     = "aclname",
1565d7f9b689SLuiz Capitulino        .help       = "reset the access control list",
15662b9e3576SMarc-André Lureau        .cmd        = hmp_acl_reset,
1567d7f9b689SLuiz Capitulino    },
1568d7f9b689SLuiz Capitulino
156915dfcd45SJan KiszkaSTEXI
15700e4aec98SMarkus Armbruster@item acl_reset @var{aclname}
15710e4aec98SMarkus Armbruster@findex acl_reset
157215dfcd45SJan KiszkaRemove all matches from the access control list, and set the default
15732313086aSBlue Swirlpolicy back to @code{deny}.
15742313086aSBlue SwirlETEXI
15752313086aSBlue Swirl
15764057725fSPaolo Bonzini    {
15774057725fSPaolo Bonzini        .name       = "nbd_server_start",
15784057725fSPaolo Bonzini        .args_type  = "all:-a,writable:-w,uri:s",
15794057725fSPaolo Bonzini        .params     = "nbd_server_start [-a] [-w] host:port",
15804057725fSPaolo Bonzini        .help       = "serve block devices on the given host and port",
15812b9e3576SMarc-André Lureau        .cmd        = hmp_nbd_server_start,
15824057725fSPaolo Bonzini    },
15834057725fSPaolo BonziniSTEXI
15844057725fSPaolo Bonzini@item nbd_server_start @var{host}:@var{port}
15854057725fSPaolo Bonzini@findex nbd_server_start
15864057725fSPaolo BonziniStart an NBD server on the given host and/or port.  If the @option{-a}
15874057725fSPaolo Bonzinioption is included, all of the virtual machine's block devices that
15884057725fSPaolo Bonzinihave an inserted media on them are automatically exported; in this case,
15894057725fSPaolo Bonzinithe @option{-w} option makes the devices writable too.
15904057725fSPaolo BonziniETEXI
15914057725fSPaolo Bonzini
15924057725fSPaolo Bonzini    {
15934057725fSPaolo Bonzini        .name       = "nbd_server_add",
1594dba49323SEric Blake        .args_type  = "writable:-w,device:B,name:s?",
1595dba49323SEric Blake        .params     = "nbd_server_add [-w] device [name]",
15964057725fSPaolo Bonzini        .help       = "export a block device via NBD",
15972b9e3576SMarc-André Lureau        .cmd        = hmp_nbd_server_add,
15984057725fSPaolo Bonzini    },
15994057725fSPaolo BonziniSTEXI
1600dba49323SEric Blake@item nbd_server_add @var{device} [ @var{name} ]
16014057725fSPaolo Bonzini@findex nbd_server_add
16024057725fSPaolo BonziniExport a block device through QEMU's NBD server, which must be started
16034057725fSPaolo Bonzinibeforehand with @command{nbd_server_start}.  The @option{-w} option makes the
1604dba49323SEric Blakeexported device writable too.  The export name is controlled by @var{name},
1605dba49323SEric Blakedefaulting to @var{device}.
16064057725fSPaolo BonziniETEXI
16074057725fSPaolo Bonzini
16084057725fSPaolo Bonzini    {
160908fb10a7SEric Blake        .name       = "nbd_server_remove",
161008fb10a7SEric Blake        .args_type  = "force:-f,name:s",
161108fb10a7SEric Blake        .params     = "nbd_server_remove [-f] name",
161208fb10a7SEric Blake        .help       = "remove an export previously exposed via NBD",
161308fb10a7SEric Blake        .cmd        = hmp_nbd_server_remove,
161408fb10a7SEric Blake    },
161508fb10a7SEric BlakeSTEXI
161608fb10a7SEric Blake@item nbd_server_remove [-f] @var{name}
161708fb10a7SEric Blake@findex nbd_server_remove
161808fb10a7SEric BlakeStop exporting a block device through QEMU's NBD server, which was
161908fb10a7SEric Blakepreviously started with @command{nbd_server_add}.  The @option{-f}
162008fb10a7SEric Blakeoption forces the server to drop the export immediately even if
162108fb10a7SEric Blakeclients are connected; otherwise the command fails unless there are no
162208fb10a7SEric Blakeclients.
162308fb10a7SEric BlakeETEXI
162408fb10a7SEric Blake
162508fb10a7SEric Blake    {
16264057725fSPaolo Bonzini        .name       = "nbd_server_stop",
16274057725fSPaolo Bonzini        .args_type  = "",
16284057725fSPaolo Bonzini        .params     = "nbd_server_stop",
16294057725fSPaolo Bonzini        .help       = "stop serving block devices using the NBD protocol",
16302b9e3576SMarc-André Lureau        .cmd        = hmp_nbd_server_stop,
16314057725fSPaolo Bonzini    },
16324057725fSPaolo BonziniSTEXI
16334057725fSPaolo Bonzini@item nbd_server_stop
16344057725fSPaolo Bonzini@findex nbd_server_stop
16354057725fSPaolo BonziniStop the QEMU embedded NBD server.
16364057725fSPaolo BonziniETEXI
16374057725fSPaolo Bonzini
16384057725fSPaolo Bonzini
163979c4f6b0SHuang Ying#if defined(TARGET_I386)
1640d7f9b689SLuiz Capitulino
1641d7f9b689SLuiz Capitulino    {
1642d7f9b689SLuiz Capitulino        .name       = "mce",
164331ce5e0cSJin Dongming        .args_type  = "broadcast:-b,cpu_index:i,bank:i,status:l,mcg_status:l,addr:l,misc:l",
164431ce5e0cSJin Dongming        .params     = "[-b] cpu bank status mcgstatus addr misc",
164531ce5e0cSJin Dongming        .help       = "inject a MCE on the given CPU [and broadcast to other CPUs with -b option]",
16462b9e3576SMarc-André Lureau        .cmd        = hmp_mce,
1647d7f9b689SLuiz Capitulino    },
1648d7f9b689SLuiz Capitulino
164979c4f6b0SHuang Ying#endif
165079c4f6b0SHuang YingSTEXI
165179c4f6b0SHuang Ying@item mce @var{cpu} @var{bank} @var{status} @var{mcgstatus} @var{addr} @var{misc}
165270fcbbe7SStefan Weil@findex mce (x86)
165379c4f6b0SHuang YingInject an MCE on the given CPU (x86 only).
165479c4f6b0SHuang YingETEXI
165579c4f6b0SHuang Ying
1656d7f9b689SLuiz Capitulino    {
1657d7f9b689SLuiz Capitulino        .name       = "getfd",
1658d7f9b689SLuiz Capitulino        .args_type  = "fdname:s",
1659d7f9b689SLuiz Capitulino        .params     = "getfd name",
1660d7f9b689SLuiz Capitulino        .help       = "receive a file descriptor via SCM rights and assign it a name",
16612b9e3576SMarc-André Lureau        .cmd        = hmp_getfd,
1662d7f9b689SLuiz Capitulino    },
1663d7f9b689SLuiz Capitulino
1664f07918fdSMark McLoughlinSTEXI
1665f07918fdSMark McLoughlin@item getfd @var{fdname}
166670fcbbe7SStefan Weil@findex getfd
1667f07918fdSMark McLoughlinIf a file descriptor is passed alongside this command using the SCM_RIGHTS
1668f07918fdSMark McLoughlinmechanism on unix sockets, it is stored using the name @var{fdname} for
1669f07918fdSMark McLoughlinlater use by other monitor commands.
1670f07918fdSMark McLoughlinETEXI
1671f07918fdSMark McLoughlin
1672d7f9b689SLuiz Capitulino    {
1673d7f9b689SLuiz Capitulino        .name       = "closefd",
1674d7f9b689SLuiz Capitulino        .args_type  = "fdname:s",
1675d7f9b689SLuiz Capitulino        .params     = "closefd name",
1676d7f9b689SLuiz Capitulino        .help       = "close a file descriptor previously passed via SCM rights",
16772b9e3576SMarc-André Lureau        .cmd        = hmp_closefd,
1678d7f9b689SLuiz Capitulino    },
1679d7f9b689SLuiz Capitulino
1680f07918fdSMark McLoughlinSTEXI
1681f07918fdSMark McLoughlin@item closefd @var{fdname}
168270fcbbe7SStefan Weil@findex closefd
1683f07918fdSMark McLoughlinClose the file descriptor previously assigned to @var{fdname} using the
1684f07918fdSMark McLoughlin@code{getfd} command. This is only needed if the file descriptor was never
1685f07918fdSMark McLoughlinused by another monitor command.
1686f07918fdSMark McLoughlinETEXI
1687f07918fdSMark McLoughlin
1688a3a55a2eSLuiz Capitulino    {
1689a3a55a2eSLuiz Capitulino        .name       = "block_passwd",
1690a3a55a2eSLuiz Capitulino        .args_type  = "device:B,password:s",
1691a3a55a2eSLuiz Capitulino        .params     = "block_passwd device password",
1692a3a55a2eSLuiz Capitulino        .help       = "set the password of encrypted block devices",
16932b9e3576SMarc-André Lureau        .cmd        = hmp_block_passwd,
1694a3a55a2eSLuiz Capitulino    },
1695a3a55a2eSLuiz Capitulino
1696a3a55a2eSLuiz CapitulinoSTEXI
1697b76d799eSMarkus Armbruster@item block_passwd @var{device} @var{password}
1698b76d799eSMarkus Armbruster@findex block_passwd
1699b76d799eSMarkus ArmbrusterSet the encrypted device @var{device} password to @var{password}
1700c01c214bSDaniel P. Berrange
1701c01c214bSDaniel P. BerrangeThis command is now obsolete and will always return an error since 2.10
1702727f005eSZhi Yong WuETEXI
1703727f005eSZhi Yong Wu
1704727f005eSZhi Yong Wu    {
1705727f005eSZhi Yong Wu        .name       = "block_set_io_throttle",
1706727f005eSZhi Yong Wu        .args_type  = "device:B,bps:l,bps_rd:l,bps_wr:l,iops:l,iops_rd:l,iops_wr:l",
1707727f005eSZhi Yong Wu        .params     = "device bps bps_rd bps_wr iops iops_rd iops_wr",
1708727f005eSZhi Yong Wu        .help       = "change I/O throttle limits for a block drive",
17092b9e3576SMarc-André Lureau        .cmd        = hmp_block_set_io_throttle,
1710727f005eSZhi Yong Wu    },
1711727f005eSZhi Yong Wu
1712727f005eSZhi Yong WuSTEXI
1713b76d799eSMarkus Armbruster@item block_set_io_throttle @var{device} @var{bps} @var{bps_rd} @var{bps_wr} @var{iops} @var{iops_rd} @var{iops_wr}
1714b76d799eSMarkus Armbruster@findex block_set_io_throttle
171583592184SAlberto 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}.
171683592184SAlberto Garcia@var{device} can be a block device name, a qdev ID or a QOM path.
1717a3a55a2eSLuiz CapitulinoETEXI
1718b40292e7SJan Kiszka
171933572eceSJan Kiszka    {
17207572150cSGerd Hoffmann        .name       = "set_password",
17217572150cSGerd Hoffmann        .args_type  = "protocol:s,password:s,connected:s?",
17227572150cSGerd Hoffmann        .params     = "protocol password action-if-connected",
17237572150cSGerd Hoffmann        .help       = "set spice/vnc password",
17242b9e3576SMarc-André Lureau        .cmd        = hmp_set_password,
17257572150cSGerd Hoffmann    },
17267572150cSGerd Hoffmann
17277572150cSGerd HoffmannSTEXI
17287572150cSGerd Hoffmann@item set_password [ vnc | spice ] password [ action-if-connected ]
17297572150cSGerd Hoffmann@findex set_password
17307572150cSGerd HoffmannChange spice/vnc password.  Use zero to make the password stay valid
17317572150cSGerd Hoffmannforever.  @var{action-if-connected} specifies what should happen in
17327572150cSGerd Hoffmanncase a connection is established: @var{fail} makes the password change
17337572150cSGerd Hoffmannfail.  @var{disconnect} changes the password and disconnects the
17347572150cSGerd Hoffmannclient.  @var{keep} changes the password and keeps the connection up.
17357572150cSGerd Hoffmann@var{keep} is the default.
17367572150cSGerd HoffmannETEXI
17377572150cSGerd Hoffmann
17387572150cSGerd Hoffmann    {
17397572150cSGerd Hoffmann        .name       = "expire_password",
17407572150cSGerd Hoffmann        .args_type  = "protocol:s,time:s",
17417572150cSGerd Hoffmann        .params     = "protocol time",
17427572150cSGerd Hoffmann        .help       = "set spice/vnc password expire-time",
17432b9e3576SMarc-André Lureau        .cmd        = hmp_expire_password,
17447572150cSGerd Hoffmann    },
17457572150cSGerd Hoffmann
17467572150cSGerd HoffmannSTEXI
17477572150cSGerd Hoffmann@item expire_password [ vnc | spice ] expire-time
17487572150cSGerd Hoffmann@findex expire_password
17497572150cSGerd HoffmannSpecify when a password for spice/vnc becomes
17507572150cSGerd Hoffmanninvalid. @var{expire-time} accepts:
17517572150cSGerd Hoffmann
17527572150cSGerd Hoffmann@table @var
17537572150cSGerd Hoffmann@item now
17547572150cSGerd HoffmannInvalidate password instantly.
17557572150cSGerd Hoffmann
17567572150cSGerd Hoffmann@item never
17577572150cSGerd HoffmannPassword stays valid forever.
17587572150cSGerd Hoffmann
17597572150cSGerd Hoffmann@item +nsec
17607572150cSGerd HoffmannPassword stays valid for @var{nsec} seconds starting now.
17617572150cSGerd Hoffmann
17627572150cSGerd Hoffmann@item nsec
17637572150cSGerd HoffmannPassword is invalidated at the given time.  @var{nsec} are the seconds
17647572150cSGerd Hoffmannpassed since 1970, i.e. unix epoch.
17657572150cSGerd Hoffmann
17667572150cSGerd Hoffmann@end table
17677572150cSGerd HoffmannETEXI
17687572150cSGerd Hoffmann
176946920825SGerd Hoffmann    {
177046920825SGerd Hoffmann        .name       = "chardev-add",
177146920825SGerd Hoffmann        .args_type  = "args:s",
177246920825SGerd Hoffmann        .params     = "args",
177346920825SGerd Hoffmann        .help       = "add chardev",
17742b9e3576SMarc-André Lureau        .cmd        = hmp_chardev_add,
177513e315daSHani Benhabiles        .command_completion = chardev_add_completion,
177646920825SGerd Hoffmann    },
177746920825SGerd Hoffmann
177846920825SGerd HoffmannSTEXI
1779b76d799eSMarkus Armbruster@item chardev-add args
1780b76d799eSMarkus Armbruster@findex chardev-add
178175b60160SAnton Nefedovchardev-add accepts the same parameters as the -chardev command line switch.
178275b60160SAnton Nefedov
178375b60160SAnton NefedovETEXI
178475b60160SAnton Nefedov
178575b60160SAnton Nefedov    {
178675b60160SAnton Nefedov        .name       = "chardev-change",
178775b60160SAnton Nefedov        .args_type  = "id:s,args:s",
178875b60160SAnton Nefedov        .params     = "id args",
178975b60160SAnton Nefedov        .help       = "change chardev",
179075b60160SAnton Nefedov        .cmd        = hmp_chardev_change,
179175b60160SAnton Nefedov    },
179275b60160SAnton Nefedov
179375b60160SAnton NefedovSTEXI
179475b60160SAnton Nefedov@item chardev-change args
179575b60160SAnton Nefedov@findex chardev-change
179675b60160SAnton Nefedovchardev-change accepts existing chardev @var{id} and then the same arguments
179775b60160SAnton Nefedovas the -chardev command line switch (except for "id").
179846920825SGerd Hoffmann
179946920825SGerd HoffmannETEXI
180046920825SGerd Hoffmann
180146920825SGerd Hoffmann    {
180246920825SGerd Hoffmann        .name       = "chardev-remove",
180346920825SGerd Hoffmann        .args_type  = "id:s",
180446920825SGerd Hoffmann        .params     = "id",
180546920825SGerd Hoffmann        .help       = "remove chardev",
18062b9e3576SMarc-André Lureau        .cmd        = hmp_chardev_remove,
18076297d9a2SHani Benhabiles        .command_completion = chardev_remove_completion,
180846920825SGerd Hoffmann    },
180946920825SGerd Hoffmann
181046920825SGerd HoffmannSTEXI
1811b76d799eSMarkus Armbruster@item chardev-remove id
1812b76d799eSMarkus Armbruster@findex chardev-remove
181346920825SGerd HoffmannRemoves the chardev @var{id}.
181446920825SGerd Hoffmann
181546920825SGerd HoffmannETEXI
1816f1088908SGerd Hoffmann
1817f1088908SGerd Hoffmann    {
1818bd1d5ad9SStefan Fritsch        .name       = "chardev-send-break",
1819bd1d5ad9SStefan Fritsch        .args_type  = "id:s",
1820bd1d5ad9SStefan Fritsch        .params     = "id",
1821bd1d5ad9SStefan Fritsch        .help       = "send a break on chardev",
1822bd1d5ad9SStefan Fritsch        .cmd        = hmp_chardev_send_break,
1823bd1d5ad9SStefan Fritsch        .command_completion = chardev_remove_completion,
1824bd1d5ad9SStefan Fritsch    },
1825bd1d5ad9SStefan Fritsch
1826bd1d5ad9SStefan FritschSTEXI
1827bd1d5ad9SStefan Fritsch@item chardev-send-break id
1828bd1d5ad9SStefan Fritsch@findex chardev-send-break
1829bd1d5ad9SStefan FritschSend a break on the chardev @var{id}.
1830bd1d5ad9SStefan Fritsch
1831bd1d5ad9SStefan FritschETEXI
1832bd1d5ad9SStefan Fritsch
1833bd1d5ad9SStefan Fritsch    {
1834587da2c3SKevin Wolf        .name       = "qemu-io",
1835587da2c3SKevin Wolf        .args_type  = "device:B,command:s",
1836587da2c3SKevin Wolf        .params     = "[device] \"[command]\"",
1837587da2c3SKevin Wolf        .help       = "run a qemu-io command on a block device",
18382b9e3576SMarc-André Lureau        .cmd        = hmp_qemu_io,
1839587da2c3SKevin Wolf    },
1840587da2c3SKevin Wolf
1841587da2c3SKevin WolfSTEXI
1842587da2c3SKevin Wolf@item qemu-io @var{device} @var{command}
1843587da2c3SKevin Wolf@findex qemu-io
1844587da2c3SKevin WolfExecutes a qemu-io command on the given block device.
1845587da2c3SKevin Wolf
1846587da2c3SKevin WolfETEXI
1847587da2c3SKevin Wolf
1848587da2c3SKevin Wolf    {
1849abf23329SJason J. Herne        .name       = "cpu-add",
1850abf23329SJason J. Herne        .args_type  = "id:i",
1851abf23329SJason J. Herne        .params     = "id",
1852abf23329SJason J. Herne        .help       = "add cpu",
18532b9e3576SMarc-André Lureau        .cmd        = hmp_cpu_add,
1854abf23329SJason J. Herne    },
1855abf23329SJason J. Herne
1856abf23329SJason J. HerneSTEXI
1857abf23329SJason J. Herne@item cpu-add @var{id}
1858b76d799eSMarkus Armbruster@findex cpu-add
1859abf23329SJason J. HerneAdd CPU with id @var{id}
1860abf23329SJason J. HerneETEXI
1861abf23329SJason J. Herne
1862abf23329SJason J. Herne    {
186389d7fa9eSAndreas Färber        .name       = "qom-list",
186489d7fa9eSAndreas Färber        .args_type  = "path:s?",
186589d7fa9eSAndreas Färber        .params     = "path",
186689d7fa9eSAndreas Färber        .help       = "list QOM properties",
18672b9e3576SMarc-André Lureau        .cmd        = hmp_qom_list,
18688c7c7ecbSDr. David Alan Gilbert        .flags      = "p",
186989d7fa9eSAndreas Färber    },
187089d7fa9eSAndreas Färber
187189d7fa9eSAndreas FärberSTEXI
187289d7fa9eSAndreas Färber@item qom-list [@var{path}]
187389d7fa9eSAndreas FärberPrint QOM properties of object at location @var{path}
187489d7fa9eSAndreas FärberETEXI
187589d7fa9eSAndreas Färber
187689d7fa9eSAndreas Färber    {
1877c0e6ee9eSAndreas Färber        .name       = "qom-set",
1878c0e6ee9eSAndreas Färber        .args_type  = "path:s,property:s,value:s",
1879c0e6ee9eSAndreas Färber        .params     = "path property value",
1880c0e6ee9eSAndreas Färber        .help       = "set QOM property",
18812b9e3576SMarc-André Lureau        .cmd        = hmp_qom_set,
18828c7c7ecbSDr. David Alan Gilbert        .flags      = "p",
1883c0e6ee9eSAndreas Färber    },
1884c0e6ee9eSAndreas Färber
1885c0e6ee9eSAndreas FärberSTEXI
1886c0e6ee9eSAndreas Färber@item qom-set @var{path} @var{property} @var{value}
1887c0e6ee9eSAndreas FärberSet QOM property @var{property} of object at location @var{path} to value @var{value}
1888c0e6ee9eSAndreas FärberETEXI
1889c0e6ee9eSAndreas Färber
1890c0e6ee9eSAndreas Färber    {
189133572eceSJan Kiszka        .name       = "info",
189233572eceSJan Kiszka        .args_type  = "item:s?",
189333572eceSJan Kiszka        .params     = "[subcommand]",
189433572eceSJan Kiszka        .help       = "show various information about the system state",
18952b9e3576SMarc-André Lureau        .cmd        = hmp_info_help,
189684c44613SWenchao Xia        .sub_table  = info_cmds,
18978c7c7ecbSDr. David Alan Gilbert        .flags      = "p",
189833572eceSJan Kiszka    },
189933572eceSJan Kiszka
190033572eceSJan KiszkaSTEXI
190170703344SPavel Butsykin@end table
190270703344SPavel ButsykinETEXI
1903