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