xref: /qemu/hmp-commands.hx (revision 1f590cf9455c571799d1bfc0777255fa0796d4da)
12313086aSBlue SwirlHXCOMM Use DEFHEADING() to define headings in both help text and texi
22313086aSBlue SwirlHXCOMM Text between STEXI and ETEXI are copied to texi version and
32313086aSBlue SwirlHXCOMM discarded from C version
42313086aSBlue SwirlHXCOMM DEF(command, args, callback, arg_string, help) is used to construct
52313086aSBlue SwirlHXCOMM monitor commands
62313086aSBlue SwirlHXCOMM HXCOMM can be used for comments, discarded from both texi and C
72313086aSBlue Swirl
82313086aSBlue SwirlSTEXI
92313086aSBlue Swirl@table @option
102313086aSBlue SwirlETEXI
112313086aSBlue Swirl
12d7f9b689SLuiz Capitulino    {
13d7f9b689SLuiz Capitulino        .name       = "help|?",
14d7f9b689SLuiz Capitulino        .args_type  = "name:s?",
15d7f9b689SLuiz Capitulino        .params     = "[cmd]",
16d7f9b689SLuiz Capitulino        .help       = "show the help",
17af4ce882SLuiz Capitulino        .mhandler.cmd = do_help_cmd,
18d7f9b689SLuiz Capitulino    },
19d7f9b689SLuiz Capitulino
202313086aSBlue SwirlSTEXI
212313086aSBlue Swirl@item help or ? [@var{cmd}]
2270fcbbe7SStefan Weil@findex help
232313086aSBlue SwirlShow the help for all commands or just for command @var{cmd}.
242313086aSBlue SwirlETEXI
252313086aSBlue Swirl
26d7f9b689SLuiz Capitulino    {
27d7f9b689SLuiz Capitulino        .name       = "commit",
28d7f9b689SLuiz Capitulino        .args_type  = "device:B",
29d7f9b689SLuiz Capitulino        .params     = "device|all",
30d7f9b689SLuiz Capitulino        .help       = "commit changes to the disk images (if -snapshot is used) or backing files",
31af4ce882SLuiz Capitulino        .mhandler.cmd = do_commit,
32d7f9b689SLuiz Capitulino    },
33d7f9b689SLuiz Capitulino
342313086aSBlue SwirlSTEXI
352313086aSBlue Swirl@item commit
3670fcbbe7SStefan Weil@findex commit
372313086aSBlue SwirlCommit changes to the disk images (if -snapshot is used) or backing files.
382313086aSBlue SwirlETEXI
392313086aSBlue Swirl
40d7f9b689SLuiz Capitulino    {
41d7f9b689SLuiz Capitulino        .name       = "q|quit",
42d7f9b689SLuiz Capitulino        .args_type  = "",
43d7f9b689SLuiz Capitulino        .params     = "",
44d7f9b689SLuiz Capitulino        .help       = "quit the emulator",
45b223f35fSLuiz Capitulino        .user_print = monitor_user_noop,
467a7f325eSLuiz Capitulino        .mhandler.cmd = hmp_quit,
47d7f9b689SLuiz Capitulino    },
48d7f9b689SLuiz Capitulino
492313086aSBlue SwirlSTEXI
502313086aSBlue Swirl@item q or quit
5170fcbbe7SStefan Weil@findex quit
522313086aSBlue SwirlQuit the emulator.
532313086aSBlue SwirlETEXI
542313086aSBlue Swirl
55d7f9b689SLuiz Capitulino    {
566d4a2b3aSChristoph Hellwig        .name       = "block_resize",
576d4a2b3aSChristoph Hellwig        .args_type  = "device:B,size:o",
586d4a2b3aSChristoph Hellwig        .params     = "device size",
596d4a2b3aSChristoph Hellwig        .help       = "resize a block image",
605e7caacbSLuiz Capitulino        .mhandler.cmd = hmp_block_resize,
616d4a2b3aSChristoph Hellwig    },
626d4a2b3aSChristoph Hellwig
636d4a2b3aSChristoph HellwigSTEXI
646d4a2b3aSChristoph Hellwig@item block_resize
656d4a2b3aSChristoph Hellwig@findex block_resize
666d4a2b3aSChristoph HellwigResize a block image while a guest is running.  Usually requires guest
676d4a2b3aSChristoph Hellwigaction to see the updated size.  Resize to a lower size is supported,
686d4a2b3aSChristoph Hellwigbut should be used with extreme caution.  Note that this command only
696d4a2b3aSChristoph Hellwigresizes image files, it can not resize block devices like LVM volumes.
706d4a2b3aSChristoph HellwigETEXI
716d4a2b3aSChristoph Hellwig
7212bd451fSStefan Hajnoczi    {
7312bd451fSStefan Hajnoczi        .name       = "block_stream",
74c83c66c3SStefan Hajnoczi        .args_type  = "device:B,speed:o?,base:s?",
75c83c66c3SStefan Hajnoczi        .params     = "device [speed [base]]",
7612bd451fSStefan Hajnoczi        .help       = "copy data from a backing file into a block device",
7712bd451fSStefan Hajnoczi        .mhandler.cmd = hmp_block_stream,
7812bd451fSStefan Hajnoczi    },
7912bd451fSStefan Hajnoczi
8012bd451fSStefan HajnocziSTEXI
8112bd451fSStefan Hajnoczi@item block_stream
8212bd451fSStefan Hajnoczi@findex block_stream
8312bd451fSStefan HajnocziCopy data from a backing file into a block device.
8412bd451fSStefan HajnocziETEXI
856d4a2b3aSChristoph Hellwig
866d4a2b3aSChristoph Hellwig    {
872d47c6e9SStefan Hajnoczi        .name       = "block_job_set_speed",
88882ec7ceSStefan Hajnoczi        .args_type  = "device:B,speed:o",
89882ec7ceSStefan Hajnoczi        .params     = "device speed",
902d47c6e9SStefan Hajnoczi        .help       = "set maximum speed for a background block operation",
912d47c6e9SStefan Hajnoczi        .mhandler.cmd = hmp_block_job_set_speed,
922d47c6e9SStefan Hajnoczi    },
932d47c6e9SStefan Hajnoczi
942d47c6e9SStefan HajnocziSTEXI
954451b799SPaolo Bonzini@item block_job_set_speed
964451b799SPaolo Bonzini@findex block_job_set_speed
972d47c6e9SStefan HajnocziSet maximum speed for a background block operation.
982d47c6e9SStefan HajnocziETEXI
992d47c6e9SStefan Hajnoczi
1002d47c6e9SStefan Hajnoczi    {
101370521a1SStefan Hajnoczi        .name       = "block_job_cancel",
1026e37fb81SPaolo Bonzini        .args_type  = "force:-f,device:B",
1036e37fb81SPaolo Bonzini        .params     = "[-f] device",
1046e37fb81SPaolo Bonzini        .help       = "stop an active background block operation (use -f"
1056e37fb81SPaolo Bonzini                      "\n\t\t\t if the operation is currently paused)",
106370521a1SStefan Hajnoczi        .mhandler.cmd = hmp_block_job_cancel,
107370521a1SStefan Hajnoczi    },
108370521a1SStefan Hajnoczi
109370521a1SStefan HajnocziSTEXI
110370521a1SStefan Hajnoczi@item block_job_cancel
111370521a1SStefan Hajnoczi@findex block_job_cancel
112aeae883bSPaolo BonziniStop an active background block operation (streaming, mirroring).
113aeae883bSPaolo BonziniETEXI
114aeae883bSPaolo Bonzini
115aeae883bSPaolo Bonzini    {
116aeae883bSPaolo Bonzini        .name       = "block_job_complete",
117aeae883bSPaolo Bonzini        .args_type  = "device:B",
118aeae883bSPaolo Bonzini        .params     = "device",
119aeae883bSPaolo Bonzini        .help       = "stop an active background block operation",
120aeae883bSPaolo Bonzini        .mhandler.cmd = hmp_block_job_complete,
121aeae883bSPaolo Bonzini    },
122aeae883bSPaolo Bonzini
123aeae883bSPaolo BonziniSTEXI
124aeae883bSPaolo Bonzini@item block_job_complete
125aeae883bSPaolo Bonzini@findex block_job_complete
126aeae883bSPaolo BonziniManually trigger completion of an active background block operation.
127aeae883bSPaolo BonziniFor mirroring, this will switch the device to the destination path.
128370521a1SStefan HajnocziETEXI
129370521a1SStefan Hajnoczi
130370521a1SStefan Hajnoczi    {
1316e37fb81SPaolo Bonzini        .name       = "block_job_pause",
1326e37fb81SPaolo Bonzini        .args_type  = "device:B",
1336e37fb81SPaolo Bonzini        .params     = "device",
1346e37fb81SPaolo Bonzini        .help       = "pause an active background block operation",
1356e37fb81SPaolo Bonzini        .mhandler.cmd = hmp_block_job_pause,
1366e37fb81SPaolo Bonzini    },
1376e37fb81SPaolo Bonzini
1386e37fb81SPaolo BonziniSTEXI
1396e37fb81SPaolo Bonzini@item block_job_pause
1406e37fb81SPaolo Bonzini@findex block_job_pause
1416e37fb81SPaolo BonziniPause an active block streaming operation.
1426e37fb81SPaolo BonziniETEXI
1436e37fb81SPaolo Bonzini
1446e37fb81SPaolo Bonzini    {
1456e37fb81SPaolo Bonzini        .name       = "block_job_resume",
1466e37fb81SPaolo Bonzini        .args_type  = "device:B",
1476e37fb81SPaolo Bonzini        .params     = "device",
1486e37fb81SPaolo Bonzini        .help       = "resume a paused background block operation",
1496e37fb81SPaolo Bonzini        .mhandler.cmd = hmp_block_job_resume,
1506e37fb81SPaolo Bonzini    },
1516e37fb81SPaolo Bonzini
1526e37fb81SPaolo BonziniSTEXI
1536e37fb81SPaolo Bonzini@item block_job_resume
1546e37fb81SPaolo Bonzini@findex block_job_resume
1556e37fb81SPaolo BonziniResume a paused block streaming operation.
1566e37fb81SPaolo BonziniETEXI
1576e37fb81SPaolo Bonzini
1586e37fb81SPaolo Bonzini    {
159d7f9b689SLuiz Capitulino        .name       = "eject",
16078d714e0SLuiz Capitulino        .args_type  = "force:-f,device:B",
161d7f9b689SLuiz Capitulino        .params     = "[-f] device",
162d7f9b689SLuiz Capitulino        .help       = "eject a removable medium (use -f to force it)",
163c245b6a3SLuiz Capitulino        .mhandler.cmd = hmp_eject,
164d7f9b689SLuiz Capitulino    },
165d7f9b689SLuiz Capitulino
1662313086aSBlue SwirlSTEXI
1672313086aSBlue Swirl@item eject [-f] @var{device}
16870fcbbe7SStefan Weil@findex eject
1692313086aSBlue SwirlEject a removable medium (use -f to force it).
1702313086aSBlue SwirlETEXI
1712313086aSBlue Swirl
172d7f9b689SLuiz Capitulino    {
1739063f814SRyan Harper        .name       = "drive_del",
1749063f814SRyan Harper        .args_type  = "id:s",
1759063f814SRyan Harper        .params     = "device",
1769063f814SRyan Harper        .help       = "remove host block device",
1779063f814SRyan Harper        .user_print = monitor_user_noop,
1789063f814SRyan Harper        .mhandler.cmd_new = do_drive_del,
1799063f814SRyan Harper    },
1809063f814SRyan Harper
1819063f814SRyan HarperSTEXI
1829063f814SRyan Harper@item drive_del @var{device}
1839063f814SRyan Harper@findex drive_del
1849063f814SRyan HarperRemove host block device.  The result is that guest generated IO is no longer
1859063f814SRyan Harpersubmitted against the host device underlying the disk.  Once a drive has
1869063f814SRyan Harperbeen deleted, the QEMU Block layer returns -EIO which results in IO
1879063f814SRyan Harpererrors in the guest for applications that are reading/writing to the device.
1889063f814SRyan HarperETEXI
1899063f814SRyan Harper
1909063f814SRyan Harper    {
191d7f9b689SLuiz Capitulino        .name       = "change",
192d7f9b689SLuiz Capitulino        .args_type  = "device:B,target:F,arg:s?",
193d7f9b689SLuiz Capitulino        .params     = "device filename [format]",
194d7f9b689SLuiz Capitulino        .help       = "change a removable medium, optional format",
195333a96ecSLuiz Capitulino        .mhandler.cmd = hmp_change,
196d7f9b689SLuiz Capitulino    },
197d7f9b689SLuiz Capitulino
1982313086aSBlue SwirlSTEXI
1992313086aSBlue Swirl@item change @var{device} @var{setting}
20070fcbbe7SStefan Weil@findex change
2012313086aSBlue Swirl
2022313086aSBlue SwirlChange the configuration of a device.
2032313086aSBlue Swirl
2042313086aSBlue Swirl@table @option
2052313086aSBlue Swirl@item change @var{diskdevice} @var{filename} [@var{format}]
2062313086aSBlue SwirlChange the medium for a removable disk device to point to @var{filename}. eg
2072313086aSBlue Swirl
2082313086aSBlue Swirl@example
2092313086aSBlue Swirl(qemu) change ide1-cd0 /path/to/some.iso
2102313086aSBlue Swirl@end example
2112313086aSBlue Swirl
2122313086aSBlue Swirl@var{format} is optional.
2132313086aSBlue Swirl
2142313086aSBlue Swirl@item change vnc @var{display},@var{options}
2152313086aSBlue SwirlChange the configuration of the VNC server. The valid syntax for @var{display}
2162313086aSBlue Swirland @var{options} are described at @ref{sec_invocation}. eg
2172313086aSBlue Swirl
2182313086aSBlue Swirl@example
2192313086aSBlue Swirl(qemu) change vnc localhost:1
2202313086aSBlue Swirl@end example
2212313086aSBlue Swirl
2222313086aSBlue Swirl@item change vnc password [@var{password}]
2232313086aSBlue Swirl
2242313086aSBlue SwirlChange the password associated with the VNC server. If the new password is not
2252313086aSBlue Swirlsupplied, the monitor will prompt for it to be entered. VNC passwords are only
2262313086aSBlue Swirlsignificant up to 8 letters. eg
2272313086aSBlue Swirl
2282313086aSBlue Swirl@example
2292313086aSBlue Swirl(qemu) change vnc password
2302313086aSBlue SwirlPassword: ********
2312313086aSBlue Swirl@end example
2322313086aSBlue Swirl
2332313086aSBlue Swirl@end table
2342313086aSBlue SwirlETEXI
2352313086aSBlue Swirl
236d7f9b689SLuiz Capitulino    {
237d7f9b689SLuiz Capitulino        .name       = "screendump",
238d7f9b689SLuiz Capitulino        .args_type  = "filename:F",
239d7f9b689SLuiz Capitulino        .params     = "filename",
240d7f9b689SLuiz Capitulino        .help       = "save screen into PPM image 'filename'",
241ad39cf6dSLuiz Capitulino        .mhandler.cmd = hmp_screen_dump,
242d7f9b689SLuiz Capitulino    },
243d7f9b689SLuiz Capitulino
2442313086aSBlue SwirlSTEXI
2452313086aSBlue Swirl@item screendump @var{filename}
24670fcbbe7SStefan Weil@findex screendump
2472313086aSBlue SwirlSave screen into PPM image @var{filename}.
2482313086aSBlue SwirlETEXI
2492313086aSBlue Swirl
250d7f9b689SLuiz Capitulino    {
251d7f9b689SLuiz Capitulino        .name       = "logfile",
252d7f9b689SLuiz Capitulino        .args_type  = "filename:F",
253d7f9b689SLuiz Capitulino        .params     = "filename",
254d7f9b689SLuiz Capitulino        .help       = "output logs to 'filename'",
255af4ce882SLuiz Capitulino        .mhandler.cmd = do_logfile,
256d7f9b689SLuiz Capitulino    },
257d7f9b689SLuiz Capitulino
2582313086aSBlue SwirlSTEXI
2592313086aSBlue Swirl@item logfile @var{filename}
26070fcbbe7SStefan Weil@findex logfile
2612313086aSBlue SwirlOutput logs to @var{filename}.
2622313086aSBlue SwirlETEXI
2632313086aSBlue Swirl
26422890ab5SPrerna Saxena    {
26522890ab5SPrerna Saxena        .name       = "trace-event",
26622890ab5SPrerna Saxena        .args_type  = "name:s,option:b",
26722890ab5SPrerna Saxena        .params     = "name on|off",
26822890ab5SPrerna Saxena        .help       = "changes status of a specific trace event",
269fc764105SLluís        .mhandler.cmd = do_trace_event_set_state,
27022890ab5SPrerna Saxena    },
27122890ab5SPrerna Saxena
27222890ab5SPrerna SaxenaSTEXI
27322890ab5SPrerna Saxena@item trace-event
27422890ab5SPrerna Saxena@findex trace-event
27522890ab5SPrerna Saxenachanges status of a trace event
27622890ab5SPrerna SaxenaETEXI
277c5ceb523SStefan Hajnoczi
278c45a8168SMichael Roth#if defined(CONFIG_TRACE_SIMPLE)
279c5ceb523SStefan Hajnoczi    {
280c5ceb523SStefan Hajnoczi        .name       = "trace-file",
281c5ceb523SStefan Hajnoczi        .args_type  = "op:s?,arg:F?",
282c5ceb523SStefan Hajnoczi        .params     = "on|off|flush|set [arg]",
283c5ceb523SStefan Hajnoczi        .help       = "open, close, or flush trace file, or set a new file name",
284c5ceb523SStefan Hajnoczi        .mhandler.cmd = do_trace_file,
285c5ceb523SStefan Hajnoczi    },
286c5ceb523SStefan Hajnoczi
287c5ceb523SStefan HajnocziSTEXI
288c5ceb523SStefan Hajnoczi@item trace-file on|off|flush
289c5ceb523SStefan Hajnoczi@findex trace-file
290c5ceb523SStefan HajnocziOpen, close, or flush the trace file.  If no argument is given, the status of the trace file is displayed.
291c5ceb523SStefan HajnocziETEXI
29222890ab5SPrerna Saxena#endif
29322890ab5SPrerna Saxena
294d7f9b689SLuiz Capitulino    {
295d7f9b689SLuiz Capitulino        .name       = "log",
296d7f9b689SLuiz Capitulino        .args_type  = "items:s",
297d7f9b689SLuiz Capitulino        .params     = "item1[,...]",
298d7f9b689SLuiz Capitulino        .help       = "activate logging of the specified items to '/tmp/qemu.log'",
299af4ce882SLuiz Capitulino        .mhandler.cmd = do_log,
300d7f9b689SLuiz Capitulino    },
301d7f9b689SLuiz Capitulino
3022313086aSBlue SwirlSTEXI
3032313086aSBlue Swirl@item log @var{item1}[,...]
30470fcbbe7SStefan Weil@findex log
3052313086aSBlue SwirlActivate logging of the specified items to @file{/tmp/qemu.log}.
3062313086aSBlue SwirlETEXI
3072313086aSBlue Swirl
308d7f9b689SLuiz Capitulino    {
309d7f9b689SLuiz Capitulino        .name       = "savevm",
310d7f9b689SLuiz Capitulino        .args_type  = "name:s?",
311d7f9b689SLuiz Capitulino        .params     = "[tag|id]",
312d7f9b689SLuiz Capitulino        .help       = "save a VM snapshot. If no tag or id are provided, a new snapshot is created",
313af4ce882SLuiz Capitulino        .mhandler.cmd = do_savevm,
314d7f9b689SLuiz Capitulino    },
315d7f9b689SLuiz Capitulino
3162313086aSBlue SwirlSTEXI
3172313086aSBlue Swirl@item savevm [@var{tag}|@var{id}]
31870fcbbe7SStefan Weil@findex savevm
3192313086aSBlue SwirlCreate a snapshot of the whole virtual machine. If @var{tag} is
3202313086aSBlue Swirlprovided, it is used as human readable identifier. If there is already
3212313086aSBlue Swirla snapshot with the same tag or ID, it is replaced. More info at
3222313086aSBlue Swirl@ref{vm_snapshots}.
3232313086aSBlue SwirlETEXI
3242313086aSBlue Swirl
325d7f9b689SLuiz Capitulino    {
326d7f9b689SLuiz Capitulino        .name       = "loadvm",
327d7f9b689SLuiz Capitulino        .args_type  = "name:s",
328d7f9b689SLuiz Capitulino        .params     = "tag|id",
329d7f9b689SLuiz Capitulino        .help       = "restore a VM snapshot from its tag or id",
330af4ce882SLuiz Capitulino        .mhandler.cmd = do_loadvm,
331d7f9b689SLuiz Capitulino    },
332d7f9b689SLuiz Capitulino
3332313086aSBlue SwirlSTEXI
3342313086aSBlue Swirl@item loadvm @var{tag}|@var{id}
33570fcbbe7SStefan Weil@findex loadvm
3362313086aSBlue SwirlSet the whole virtual machine to the snapshot identified by the tag
3372313086aSBlue Swirl@var{tag} or the unique snapshot ID @var{id}.
3382313086aSBlue SwirlETEXI
3392313086aSBlue Swirl
340d7f9b689SLuiz Capitulino    {
341d7f9b689SLuiz Capitulino        .name       = "delvm",
342d7f9b689SLuiz Capitulino        .args_type  = "name:s",
343d7f9b689SLuiz Capitulino        .params     = "tag|id",
344d7f9b689SLuiz Capitulino        .help       = "delete a VM snapshot from its tag or id",
345af4ce882SLuiz Capitulino        .mhandler.cmd = do_delvm,
346d7f9b689SLuiz Capitulino    },
347d7f9b689SLuiz Capitulino
3482313086aSBlue SwirlSTEXI
3492313086aSBlue Swirl@item delvm @var{tag}|@var{id}
35070fcbbe7SStefan Weil@findex delvm
3512313086aSBlue SwirlDelete the snapshot identified by @var{tag} or @var{id}.
3522313086aSBlue SwirlETEXI
3532313086aSBlue Swirl
354d7f9b689SLuiz Capitulino    {
355d7f9b689SLuiz Capitulino        .name       = "singlestep",
356d7f9b689SLuiz Capitulino        .args_type  = "option:s?",
357d7f9b689SLuiz Capitulino        .params     = "[on|off]",
358d7f9b689SLuiz Capitulino        .help       = "run emulation in singlestep mode or switch to normal mode",
359af4ce882SLuiz Capitulino        .mhandler.cmd = do_singlestep,
360d7f9b689SLuiz Capitulino    },
361d7f9b689SLuiz Capitulino
3622313086aSBlue SwirlSTEXI
3632313086aSBlue Swirl@item singlestep [off]
36470fcbbe7SStefan Weil@findex singlestep
3652313086aSBlue SwirlRun the emulation in single step mode.
3662313086aSBlue SwirlIf called with option off, the emulation returns to normal mode.
3672313086aSBlue SwirlETEXI
3682313086aSBlue Swirl
369d7f9b689SLuiz Capitulino    {
370d7f9b689SLuiz Capitulino        .name       = "stop",
371d7f9b689SLuiz Capitulino        .args_type  = "",
372d7f9b689SLuiz Capitulino        .params     = "",
373d7f9b689SLuiz Capitulino        .help       = "stop emulation",
3745f158f21SLuiz Capitulino        .mhandler.cmd = hmp_stop,
375d7f9b689SLuiz Capitulino    },
376d7f9b689SLuiz Capitulino
3772313086aSBlue SwirlSTEXI
3782313086aSBlue Swirl@item stop
37970fcbbe7SStefan Weil@findex stop
3802313086aSBlue SwirlStop emulation.
3812313086aSBlue SwirlETEXI
3822313086aSBlue Swirl
383d7f9b689SLuiz Capitulino    {
384d7f9b689SLuiz Capitulino        .name       = "c|cont",
385d7f9b689SLuiz Capitulino        .args_type  = "",
386d7f9b689SLuiz Capitulino        .params     = "",
387d7f9b689SLuiz Capitulino        .help       = "resume emulation",
388e42e818bSLuiz Capitulino        .mhandler.cmd = hmp_cont,
389d7f9b689SLuiz Capitulino    },
390d7f9b689SLuiz Capitulino
3912313086aSBlue SwirlSTEXI
3922313086aSBlue Swirl@item c or cont
39370fcbbe7SStefan Weil@findex cont
3942313086aSBlue SwirlResume emulation.
3952313086aSBlue SwirlETEXI
3962313086aSBlue Swirl
397d7f9b689SLuiz Capitulino    {
3989b9df25aSGerd Hoffmann        .name       = "system_wakeup",
3999b9df25aSGerd Hoffmann        .args_type  = "",
4009b9df25aSGerd Hoffmann        .params     = "",
4019b9df25aSGerd Hoffmann        .help       = "wakeup guest from suspend",
4029b9df25aSGerd Hoffmann        .mhandler.cmd = hmp_system_wakeup,
4039b9df25aSGerd Hoffmann    },
4049b9df25aSGerd Hoffmann
4059b9df25aSGerd HoffmannSTEXI
4069b9df25aSGerd Hoffmann@item system_wakeup
4079b9df25aSGerd Hoffmann@findex system_wakeup
4089b9df25aSGerd HoffmannWakeup guest from suspend.
4099b9df25aSGerd HoffmannETEXI
4109b9df25aSGerd Hoffmann
4119b9df25aSGerd Hoffmann    {
412d7f9b689SLuiz Capitulino        .name       = "gdbserver",
413d7f9b689SLuiz Capitulino        .args_type  = "device:s?",
414d7f9b689SLuiz Capitulino        .params     = "[device]",
415d7f9b689SLuiz Capitulino        .help       = "start gdbserver on given device (default 'tcp::1234'), stop with 'none'",
416af4ce882SLuiz Capitulino        .mhandler.cmd = do_gdbserver,
417d7f9b689SLuiz Capitulino    },
418d7f9b689SLuiz Capitulino
4192313086aSBlue SwirlSTEXI
4202313086aSBlue Swirl@item gdbserver [@var{port}]
42170fcbbe7SStefan Weil@findex gdbserver
4222313086aSBlue SwirlStart gdbserver session (default @var{port}=1234)
4232313086aSBlue SwirlETEXI
4242313086aSBlue Swirl
425d7f9b689SLuiz Capitulino    {
426d7f9b689SLuiz Capitulino        .name       = "x",
427d7f9b689SLuiz Capitulino        .args_type  = "fmt:/,addr:l",
428d7f9b689SLuiz Capitulino        .params     = "/fmt addr",
429d7f9b689SLuiz Capitulino        .help       = "virtual memory dump starting at 'addr'",
430af4ce882SLuiz Capitulino        .mhandler.cmd = do_memory_dump,
431d7f9b689SLuiz Capitulino    },
432d7f9b689SLuiz Capitulino
4332313086aSBlue SwirlSTEXI
4342313086aSBlue Swirl@item x/fmt @var{addr}
43570fcbbe7SStefan Weil@findex x
4362313086aSBlue SwirlVirtual memory dump starting at @var{addr}.
4372313086aSBlue SwirlETEXI
4382313086aSBlue Swirl
439d7f9b689SLuiz Capitulino    {
440d7f9b689SLuiz Capitulino        .name       = "xp",
441d7f9b689SLuiz Capitulino        .args_type  = "fmt:/,addr:l",
442d7f9b689SLuiz Capitulino        .params     = "/fmt addr",
443d7f9b689SLuiz Capitulino        .help       = "physical memory dump starting at 'addr'",
444af4ce882SLuiz Capitulino        .mhandler.cmd = do_physical_memory_dump,
445d7f9b689SLuiz Capitulino    },
446d7f9b689SLuiz Capitulino
4472313086aSBlue SwirlSTEXI
4482313086aSBlue Swirl@item xp /@var{fmt} @var{addr}
44970fcbbe7SStefan Weil@findex xp
4502313086aSBlue SwirlPhysical memory dump starting at @var{addr}.
4512313086aSBlue Swirl
4522313086aSBlue Swirl@var{fmt} is a format which tells the command how to format the
4532313086aSBlue Swirldata. Its syntax is: @option{/@{count@}@{format@}@{size@}}
4542313086aSBlue Swirl
4552313086aSBlue Swirl@table @var
4562313086aSBlue Swirl@item count
4572313086aSBlue Swirlis the number of items to be dumped.
4582313086aSBlue Swirl
4592313086aSBlue Swirl@item format
4602313086aSBlue Swirlcan be x (hex), d (signed decimal), u (unsigned decimal), o (octal),
4612313086aSBlue Swirlc (char) or i (asm instruction).
4622313086aSBlue Swirl
4632313086aSBlue Swirl@item size
4642313086aSBlue Swirlcan be b (8 bits), h (16 bits), w (32 bits) or g (64 bits). On x86,
4652313086aSBlue Swirl@code{h} or @code{w} can be specified with the @code{i} format to
4662313086aSBlue Swirlrespectively select 16 or 32 bit code instruction size.
4672313086aSBlue Swirl
4682313086aSBlue Swirl@end table
4692313086aSBlue Swirl
4702313086aSBlue SwirlExamples:
4712313086aSBlue Swirl@itemize
4722313086aSBlue Swirl@item
4732313086aSBlue SwirlDump 10 instructions at the current instruction pointer:
4742313086aSBlue Swirl@example
4752313086aSBlue Swirl(qemu) x/10i $eip
4762313086aSBlue Swirl0x90107063:  ret
4772313086aSBlue Swirl0x90107064:  sti
4782313086aSBlue Swirl0x90107065:  lea    0x0(%esi,1),%esi
4792313086aSBlue Swirl0x90107069:  lea    0x0(%edi,1),%edi
4802313086aSBlue Swirl0x90107070:  ret
4812313086aSBlue Swirl0x90107071:  jmp    0x90107080
4822313086aSBlue Swirl0x90107073:  nop
4832313086aSBlue Swirl0x90107074:  nop
4842313086aSBlue Swirl0x90107075:  nop
4852313086aSBlue Swirl0x90107076:  nop
4862313086aSBlue Swirl@end example
4872313086aSBlue Swirl
4882313086aSBlue Swirl@item
4892313086aSBlue SwirlDump 80 16 bit values at the start of the video memory.
4902313086aSBlue Swirl@smallexample
4912313086aSBlue Swirl(qemu) xp/80hx 0xb8000
4922313086aSBlue Swirl0x000b8000: 0x0b50 0x0b6c 0x0b65 0x0b78 0x0b38 0x0b36 0x0b2f 0x0b42
4932313086aSBlue Swirl0x000b8010: 0x0b6f 0x0b63 0x0b68 0x0b73 0x0b20 0x0b56 0x0b47 0x0b41
4942313086aSBlue Swirl0x000b8020: 0x0b42 0x0b69 0x0b6f 0x0b73 0x0b20 0x0b63 0x0b75 0x0b72
4952313086aSBlue Swirl0x000b8030: 0x0b72 0x0b65 0x0b6e 0x0b74 0x0b2d 0x0b63 0x0b76 0x0b73
4962313086aSBlue Swirl0x000b8040: 0x0b20 0x0b30 0x0b35 0x0b20 0x0b4e 0x0b6f 0x0b76 0x0b20
4972313086aSBlue Swirl0x000b8050: 0x0b32 0x0b30 0x0b30 0x0b33 0x0720 0x0720 0x0720 0x0720
4982313086aSBlue Swirl0x000b8060: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
4992313086aSBlue Swirl0x000b8070: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
5002313086aSBlue Swirl0x000b8080: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
5012313086aSBlue Swirl0x000b8090: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
5022313086aSBlue Swirl@end smallexample
5032313086aSBlue Swirl@end itemize
5042313086aSBlue SwirlETEXI
5052313086aSBlue Swirl
506d7f9b689SLuiz Capitulino    {
507d7f9b689SLuiz Capitulino        .name       = "p|print",
508d7f9b689SLuiz Capitulino        .args_type  = "fmt:/,val:l",
509d7f9b689SLuiz Capitulino        .params     = "/fmt expr",
510d7f9b689SLuiz Capitulino        .help       = "print expression value (use $reg for CPU register access)",
511af4ce882SLuiz Capitulino        .mhandler.cmd = do_print,
512d7f9b689SLuiz Capitulino    },
513d7f9b689SLuiz Capitulino
5142313086aSBlue SwirlSTEXI
5152313086aSBlue Swirl@item p or print/@var{fmt} @var{expr}
51670fcbbe7SStefan Weil@findex print
5172313086aSBlue Swirl
5182313086aSBlue SwirlPrint expression value. Only the @var{format} part of @var{fmt} is
5192313086aSBlue Swirlused.
5202313086aSBlue SwirlETEXI
5212313086aSBlue Swirl
522d7f9b689SLuiz Capitulino    {
523d7f9b689SLuiz Capitulino        .name       = "i",
524d7f9b689SLuiz Capitulino        .args_type  = "fmt:/,addr:i,index:i.",
525d7f9b689SLuiz Capitulino        .params     = "/fmt addr",
526d7f9b689SLuiz Capitulino        .help       = "I/O port read",
527af4ce882SLuiz Capitulino        .mhandler.cmd = do_ioport_read,
528d7f9b689SLuiz Capitulino    },
529d7f9b689SLuiz Capitulino
5302313086aSBlue SwirlSTEXI
5312313086aSBlue SwirlRead I/O port.
5322313086aSBlue SwirlETEXI
5332313086aSBlue Swirl
534d7f9b689SLuiz Capitulino    {
535d7f9b689SLuiz Capitulino        .name       = "o",
536d7f9b689SLuiz Capitulino        .args_type  = "fmt:/,addr:i,val:i",
537d7f9b689SLuiz Capitulino        .params     = "/fmt addr value",
538d7f9b689SLuiz Capitulino        .help       = "I/O port write",
539af4ce882SLuiz Capitulino        .mhandler.cmd = do_ioport_write,
540d7f9b689SLuiz Capitulino    },
541d7f9b689SLuiz Capitulino
542f114784fSJan KiszkaSTEXI
543f114784fSJan KiszkaWrite to I/O port.
544f114784fSJan KiszkaETEXI
5452313086aSBlue Swirl
546d7f9b689SLuiz Capitulino    {
547d7f9b689SLuiz Capitulino        .name       = "sendkey",
5482ef20c15SAmos Kong        .args_type  = "keys:s,hold-time:i?",
549d7f9b689SLuiz Capitulino        .params     = "keys [hold_ms]",
550d7f9b689SLuiz Capitulino        .help       = "send keys to the VM (e.g. 'sendkey ctrl-alt-f1', default hold time=100 ms)",
551e4c8f004SAmos Kong        .mhandler.cmd = hmp_send_key,
552d7f9b689SLuiz Capitulino    },
553d7f9b689SLuiz Capitulino
5542313086aSBlue SwirlSTEXI
5552313086aSBlue Swirl@item sendkey @var{keys}
55670fcbbe7SStefan Weil@findex sendkey
5572313086aSBlue Swirl
558886cc706SAmos KongSend @var{keys} to the guest. @var{keys} could be the name of the
559886cc706SAmos Kongkey or the raw value in hexadecimal format. Use @code{-} to press
560886cc706SAmos Kongseveral keys simultaneously. Example:
5612313086aSBlue Swirl@example
5622313086aSBlue Swirlsendkey ctrl-alt-f1
5632313086aSBlue Swirl@end example
5642313086aSBlue Swirl
5652313086aSBlue SwirlThis command is useful to send keys that your graphical user interface
5662313086aSBlue Swirlintercepts at low level, such as @code{ctrl-alt-f1} in X Window.
5672313086aSBlue SwirlETEXI
5682313086aSBlue Swirl
569d7f9b689SLuiz Capitulino    {
570d7f9b689SLuiz Capitulino        .name       = "system_reset",
571d7f9b689SLuiz Capitulino        .args_type  = "",
572d7f9b689SLuiz Capitulino        .params     = "",
573d7f9b689SLuiz Capitulino        .help       = "reset the system",
57438d22653SLuiz Capitulino        .mhandler.cmd = hmp_system_reset,
575d7f9b689SLuiz Capitulino    },
576d7f9b689SLuiz Capitulino
5772313086aSBlue SwirlSTEXI
5782313086aSBlue Swirl@item system_reset
57970fcbbe7SStefan Weil@findex system_reset
5802313086aSBlue Swirl
5812313086aSBlue SwirlReset the system.
5822313086aSBlue SwirlETEXI
5832313086aSBlue Swirl
584d7f9b689SLuiz Capitulino    {
585d7f9b689SLuiz Capitulino        .name       = "system_powerdown",
586d7f9b689SLuiz Capitulino        .args_type  = "",
587d7f9b689SLuiz Capitulino        .params     = "",
588d7f9b689SLuiz Capitulino        .help       = "send system power down event",
5895bc465e4SLuiz Capitulino        .mhandler.cmd = hmp_system_powerdown,
590d7f9b689SLuiz Capitulino    },
591d7f9b689SLuiz Capitulino
5922313086aSBlue SwirlSTEXI
5932313086aSBlue Swirl@item system_powerdown
59470fcbbe7SStefan Weil@findex system_powerdown
5952313086aSBlue Swirl
5962313086aSBlue SwirlPower down the system (if supported).
5972313086aSBlue SwirlETEXI
5982313086aSBlue Swirl
599d7f9b689SLuiz Capitulino    {
600d7f9b689SLuiz Capitulino        .name       = "sum",
601d7f9b689SLuiz Capitulino        .args_type  = "start:i,size:i",
602d7f9b689SLuiz Capitulino        .params     = "addr size",
603d7f9b689SLuiz Capitulino        .help       = "compute the checksum of a memory region",
604af4ce882SLuiz Capitulino        .mhandler.cmd = do_sum,
605d7f9b689SLuiz Capitulino    },
606d7f9b689SLuiz Capitulino
6072313086aSBlue SwirlSTEXI
6082313086aSBlue Swirl@item sum @var{addr} @var{size}
60970fcbbe7SStefan Weil@findex sum
6102313086aSBlue Swirl
6112313086aSBlue SwirlCompute the checksum of a memory region.
6122313086aSBlue SwirlETEXI
6132313086aSBlue Swirl
614d7f9b689SLuiz Capitulino    {
615d7f9b689SLuiz Capitulino        .name       = "usb_add",
616d7f9b689SLuiz Capitulino        .args_type  = "devname:s",
617d7f9b689SLuiz Capitulino        .params     = "device",
618d7f9b689SLuiz Capitulino        .help       = "add USB device (e.g. 'host:bus.addr' or 'host:vendor_id:product_id')",
619af4ce882SLuiz Capitulino        .mhandler.cmd = do_usb_add,
620d7f9b689SLuiz Capitulino    },
621d7f9b689SLuiz Capitulino
6222313086aSBlue SwirlSTEXI
6232313086aSBlue Swirl@item usb_add @var{devname}
62470fcbbe7SStefan Weil@findex usb_add
6252313086aSBlue Swirl
6262313086aSBlue SwirlAdd the USB device @var{devname}.  For details of available devices see
6272313086aSBlue Swirl@ref{usb_devices}
6282313086aSBlue SwirlETEXI
6292313086aSBlue Swirl
630d7f9b689SLuiz Capitulino    {
631d7f9b689SLuiz Capitulino        .name       = "usb_del",
632d7f9b689SLuiz Capitulino        .args_type  = "devname:s",
633d7f9b689SLuiz Capitulino        .params     = "device",
634d7f9b689SLuiz Capitulino        .help       = "remove USB device 'bus.addr'",
635af4ce882SLuiz Capitulino        .mhandler.cmd = do_usb_del,
636d7f9b689SLuiz Capitulino    },
637d7f9b689SLuiz Capitulino
6382313086aSBlue SwirlSTEXI
6392313086aSBlue Swirl@item usb_del @var{devname}
64070fcbbe7SStefan Weil@findex usb_del
6412313086aSBlue Swirl
6422313086aSBlue SwirlRemove the USB device @var{devname} from the QEMU virtual USB
6432313086aSBlue Swirlhub. @var{devname} has the syntax @code{bus.addr}. Use the monitor
6442313086aSBlue Swirlcommand @code{info usb} to see the devices you can remove.
6452313086aSBlue SwirlETEXI
6462313086aSBlue Swirl
647d7f9b689SLuiz Capitulino    {
648d7f9b689SLuiz Capitulino        .name       = "device_add",
649c7e4e8ceSMarkus Armbruster        .args_type  = "device:O",
650c7e4e8ceSMarkus Armbruster        .params     = "driver[,prop=value][,...]",
651d7f9b689SLuiz Capitulino        .help       = "add device, like -device on the command line",
6528bc27249SMarkus Armbruster        .user_print = monitor_user_noop,
6538bc27249SMarkus Armbruster        .mhandler.cmd_new = do_device_add,
654d7f9b689SLuiz Capitulino    },
655d7f9b689SLuiz Capitulino
6563418bd25SGerd HoffmannSTEXI
6573418bd25SGerd Hoffmann@item device_add @var{config}
65870fcbbe7SStefan Weil@findex device_add
6593418bd25SGerd Hoffmann
6603418bd25SGerd HoffmannAdd device.
6613418bd25SGerd HoffmannETEXI
6623418bd25SGerd Hoffmann
663d7f9b689SLuiz Capitulino    {
664d7f9b689SLuiz Capitulino        .name       = "device_del",
665d7f9b689SLuiz Capitulino        .args_type  = "id:s",
666d7f9b689SLuiz Capitulino        .params     = "device",
667d7f9b689SLuiz Capitulino        .help       = "remove device",
668a15fef21SLuiz Capitulino        .mhandler.cmd = hmp_device_del,
669d7f9b689SLuiz Capitulino    },
670d7f9b689SLuiz Capitulino
6713418bd25SGerd HoffmannSTEXI
6723418bd25SGerd Hoffmann@item device_del @var{id}
67370fcbbe7SStefan Weil@findex device_del
6743418bd25SGerd Hoffmann
6753418bd25SGerd HoffmannRemove device @var{id}.
6763418bd25SGerd HoffmannETEXI
6773418bd25SGerd Hoffmann
678d7f9b689SLuiz Capitulino    {
679d7f9b689SLuiz Capitulino        .name       = "cpu",
680d7f9b689SLuiz Capitulino        .args_type  = "index:i",
681d7f9b689SLuiz Capitulino        .params     = "index",
682d7f9b689SLuiz Capitulino        .help       = "set the default CPU",
683755f1968SLuiz Capitulino        .mhandler.cmd = hmp_cpu,
684d7f9b689SLuiz Capitulino    },
6853418bd25SGerd Hoffmann
6862313086aSBlue SwirlSTEXI
687c427ea9cSMarkus Armbruster@item cpu @var{index}
688c427ea9cSMarkus Armbruster@findex cpu
6892313086aSBlue SwirlSet the default CPU.
6902313086aSBlue SwirlETEXI
6912313086aSBlue Swirl
692d7f9b689SLuiz Capitulino    {
693d7f9b689SLuiz Capitulino        .name       = "mouse_move",
694d7f9b689SLuiz Capitulino        .args_type  = "dx_str:s,dy_str:s,dz_str:s?",
695d7f9b689SLuiz Capitulino        .params     = "dx dy [dz]",
696d7f9b689SLuiz Capitulino        .help       = "send mouse move events",
697af4ce882SLuiz Capitulino        .mhandler.cmd = do_mouse_move,
698d7f9b689SLuiz Capitulino    },
699d7f9b689SLuiz Capitulino
7002313086aSBlue SwirlSTEXI
7012313086aSBlue Swirl@item mouse_move @var{dx} @var{dy} [@var{dz}]
70270fcbbe7SStefan Weil@findex mouse_move
7032313086aSBlue SwirlMove the active mouse to the specified coordinates @var{dx} @var{dy}
7042313086aSBlue Swirlwith optional scroll axis @var{dz}.
7052313086aSBlue SwirlETEXI
7062313086aSBlue Swirl
707d7f9b689SLuiz Capitulino    {
708d7f9b689SLuiz Capitulino        .name       = "mouse_button",
709d7f9b689SLuiz Capitulino        .args_type  = "button_state:i",
710d7f9b689SLuiz Capitulino        .params     = "state",
711d7f9b689SLuiz Capitulino        .help       = "change mouse button state (1=L, 2=M, 4=R)",
712af4ce882SLuiz Capitulino        .mhandler.cmd = do_mouse_button,
713d7f9b689SLuiz Capitulino    },
714d7f9b689SLuiz Capitulino
7152313086aSBlue SwirlSTEXI
7162313086aSBlue Swirl@item mouse_button @var{val}
71770fcbbe7SStefan Weil@findex mouse_button
7182313086aSBlue SwirlChange the active mouse button state @var{val} (1=L, 2=M, 4=R).
7192313086aSBlue SwirlETEXI
7202313086aSBlue Swirl
721d7f9b689SLuiz Capitulino    {
722d7f9b689SLuiz Capitulino        .name       = "mouse_set",
723d7f9b689SLuiz Capitulino        .args_type  = "index:i",
724d7f9b689SLuiz Capitulino        .params     = "index",
725d7f9b689SLuiz Capitulino        .help       = "set which mouse device receives events",
726af4ce882SLuiz Capitulino        .mhandler.cmd = do_mouse_set,
727d7f9b689SLuiz Capitulino    },
728d7f9b689SLuiz Capitulino
7292313086aSBlue SwirlSTEXI
7302313086aSBlue Swirl@item mouse_set @var{index}
73170fcbbe7SStefan Weil@findex mouse_set
7322313086aSBlue SwirlSet which mouse device receives events at given @var{index}, index
7332313086aSBlue Swirlcan be obtained with
7342313086aSBlue Swirl@example
7352313086aSBlue Swirlinfo mice
7362313086aSBlue Swirl@end example
7372313086aSBlue SwirlETEXI
7382313086aSBlue Swirl
7392313086aSBlue Swirl#ifdef HAS_AUDIO
740d7f9b689SLuiz Capitulino    {
741d7f9b689SLuiz Capitulino        .name       = "wavcapture",
742d7f9b689SLuiz Capitulino        .args_type  = "path:F,freq:i?,bits:i?,nchannels:i?",
743d7f9b689SLuiz Capitulino        .params     = "path [frequency [bits [channels]]]",
744d7f9b689SLuiz Capitulino        .help       = "capture audio to a wave file (default frequency=44100 bits=16 channels=2)",
745af4ce882SLuiz Capitulino        .mhandler.cmd = do_wav_capture,
746d7f9b689SLuiz Capitulino    },
7472313086aSBlue Swirl#endif
7482313086aSBlue SwirlSTEXI
7492313086aSBlue Swirl@item wavcapture @var{filename} [@var{frequency} [@var{bits} [@var{channels}]]]
75070fcbbe7SStefan Weil@findex wavcapture
7512313086aSBlue SwirlCapture audio into @var{filename}. Using sample rate @var{frequency}
7522313086aSBlue Swirlbits per sample @var{bits} and number of channels @var{channels}.
7532313086aSBlue Swirl
7542313086aSBlue SwirlDefaults:
7552313086aSBlue Swirl@itemize @minus
7562313086aSBlue Swirl@item Sample rate = 44100 Hz - CD quality
7572313086aSBlue Swirl@item Bits = 16
7582313086aSBlue Swirl@item Number of channels = 2 - Stereo
7592313086aSBlue Swirl@end itemize
7602313086aSBlue SwirlETEXI
7612313086aSBlue Swirl
7622313086aSBlue Swirl#ifdef HAS_AUDIO
763d7f9b689SLuiz Capitulino    {
764d7f9b689SLuiz Capitulino        .name       = "stopcapture",
765d7f9b689SLuiz Capitulino        .args_type  = "n:i",
766d7f9b689SLuiz Capitulino        .params     = "capture index",
767d7f9b689SLuiz Capitulino        .help       = "stop capture",
768af4ce882SLuiz Capitulino        .mhandler.cmd = do_stop_capture,
769d7f9b689SLuiz Capitulino    },
7702313086aSBlue Swirl#endif
7712313086aSBlue SwirlSTEXI
7722313086aSBlue Swirl@item stopcapture @var{index}
77370fcbbe7SStefan Weil@findex stopcapture
7742313086aSBlue SwirlStop capture with a given @var{index}, index can be obtained with
7752313086aSBlue Swirl@example
7762313086aSBlue Swirlinfo capture
7772313086aSBlue Swirl@end example
7782313086aSBlue SwirlETEXI
7792313086aSBlue Swirl
780d7f9b689SLuiz Capitulino    {
781d7f9b689SLuiz Capitulino        .name       = "memsave",
782d7f9b689SLuiz Capitulino        .args_type  = "val:l,size:i,filename:s",
783d7f9b689SLuiz Capitulino        .params     = "addr size file",
784d7f9b689SLuiz Capitulino        .help       = "save to disk virtual memory dump starting at 'addr' of size 'size'",
7850cfd6a9aSLuiz Capitulino        .mhandler.cmd = hmp_memsave,
786d7f9b689SLuiz Capitulino    },
787d7f9b689SLuiz Capitulino
7882313086aSBlue SwirlSTEXI
7892313086aSBlue Swirl@item memsave @var{addr} @var{size} @var{file}
79070fcbbe7SStefan Weil@findex memsave
7912313086aSBlue Swirlsave to disk virtual memory dump starting at @var{addr} of size @var{size}.
7922313086aSBlue SwirlETEXI
7932313086aSBlue Swirl
794d7f9b689SLuiz Capitulino    {
795d7f9b689SLuiz Capitulino        .name       = "pmemsave",
796d7f9b689SLuiz Capitulino        .args_type  = "val:l,size:i,filename:s",
797d7f9b689SLuiz Capitulino        .params     = "addr size file",
798d7f9b689SLuiz Capitulino        .help       = "save to disk physical memory dump starting at 'addr' of size 'size'",
7996d3962bfSLuiz Capitulino        .mhandler.cmd = hmp_pmemsave,
800d7f9b689SLuiz Capitulino    },
801d7f9b689SLuiz Capitulino
8022313086aSBlue SwirlSTEXI
8032313086aSBlue Swirl@item pmemsave @var{addr} @var{size} @var{file}
80470fcbbe7SStefan Weil@findex pmemsave
8052313086aSBlue Swirlsave to disk physical memory dump starting at @var{addr} of size @var{size}.
8062313086aSBlue SwirlETEXI
8072313086aSBlue Swirl
808d7f9b689SLuiz Capitulino    {
809d7f9b689SLuiz Capitulino        .name       = "boot_set",
810d7f9b689SLuiz Capitulino        .args_type  = "bootdevice:s",
811d7f9b689SLuiz Capitulino        .params     = "bootdevice",
812d7f9b689SLuiz Capitulino        .help       = "define new values for the boot device list",
813af4ce882SLuiz Capitulino        .mhandler.cmd = do_boot_set,
814d7f9b689SLuiz Capitulino    },
815d7f9b689SLuiz Capitulino
8162313086aSBlue SwirlSTEXI
8172313086aSBlue Swirl@item boot_set @var{bootdevicelist}
81870fcbbe7SStefan Weil@findex boot_set
8192313086aSBlue Swirl
8202313086aSBlue SwirlDefine new values for the boot device list. Those values will override
8212313086aSBlue Swirlthe values specified on the command line through the @code{-boot} option.
8222313086aSBlue Swirl
8232313086aSBlue SwirlThe values that can be specified here depend on the machine type, but are
8242313086aSBlue Swirlthe same that can be specified in the @code{-boot} command line option.
8252313086aSBlue SwirlETEXI
8262313086aSBlue Swirl
8272313086aSBlue Swirl#if defined(TARGET_I386)
828d7f9b689SLuiz Capitulino    {
829d7f9b689SLuiz Capitulino        .name       = "nmi",
830e9b4b432SLuiz Capitulino        .args_type  = "",
831e9b4b432SLuiz Capitulino        .params     = "",
832e9b4b432SLuiz Capitulino        .help       = "inject an NMI on all guest's CPUs",
833ab49ab5cSLuiz Capitulino        .mhandler.cmd = hmp_inject_nmi,
834d7f9b689SLuiz Capitulino    },
8352313086aSBlue Swirl#endif
8362313086aSBlue SwirlSTEXI
8372313086aSBlue Swirl@item nmi @var{cpu}
83870fcbbe7SStefan Weil@findex nmi
8392313086aSBlue SwirlInject an NMI on the given CPU (x86 only).
840*1f590cf9SLei Li
841*1f590cf9SLei LiETEXI
842*1f590cf9SLei Li
843*1f590cf9SLei Li    {
844*1f590cf9SLei Li        .name       = "memchar_write",
845*1f590cf9SLei Li        .args_type  = "device:s,data:s",
846*1f590cf9SLei Li        .params     = "device data",
847*1f590cf9SLei Li        .help       = "Provide writing interface for CirMemCharDriver. Write"
848*1f590cf9SLei Li                      "'data' to it.",
849*1f590cf9SLei Li        .mhandler.cmd = hmp_memchar_write,
850*1f590cf9SLei Li    },
851*1f590cf9SLei Li
852*1f590cf9SLei LiSTEXI
853*1f590cf9SLei Li@item memchar_write @var{device} @var{data}
854*1f590cf9SLei Li@findex memchar_write
855*1f590cf9SLei LiProvide writing interface for CirMemCharDriver. Write @var{data}
856*1f590cf9SLei Lito char device 'memory'.
857*1f590cf9SLei Li
8582313086aSBlue SwirlETEXI
8592313086aSBlue Swirl
860d7f9b689SLuiz Capitulino    {
861d7f9b689SLuiz Capitulino        .name       = "migrate",
862fbc3d96cSlirans@il.ibm.com        .args_type  = "detach:-d,blk:-b,inc:-i,uri:s",
863fbc3d96cSlirans@il.ibm.com        .params     = "[-d] [-b] [-i] uri",
864fbc3d96cSlirans@il.ibm.com        .help       = "migrate to URI (using -d to not wait for completion)"
865fbc3d96cSlirans@il.ibm.com		      "\n\t\t\t -b for migration without shared storage with"
866fbc3d96cSlirans@il.ibm.com		      " full copy of disk\n\t\t\t -i for migration without "
867fbc3d96cSlirans@il.ibm.com		      "shared storage with incremental copy of disk "
868fbc3d96cSlirans@il.ibm.com		      "(base image shared between src and destination)",
869e1c37d0eSLuiz Capitulino        .mhandler.cmd = hmp_migrate,
870d7f9b689SLuiz Capitulino    },
871d7f9b689SLuiz Capitulino
872fbc3d96cSlirans@il.ibm.com
8732313086aSBlue SwirlSTEXI
874fbc3d96cSlirans@il.ibm.com@item migrate [-d] [-b] [-i] @var{uri}
87570fcbbe7SStefan Weil@findex migrate
8762313086aSBlue SwirlMigrate to @var{uri} (using -d to not wait for completion).
877fbc3d96cSlirans@il.ibm.com	-b for migration with full copy of disk
878fbc3d96cSlirans@il.ibm.com	-i for migration with incremental copy of disk (base image is shared)
8792313086aSBlue SwirlETEXI
8802313086aSBlue Swirl
881d7f9b689SLuiz Capitulino    {
882d7f9b689SLuiz Capitulino        .name       = "migrate_cancel",
883d7f9b689SLuiz Capitulino        .args_type  = "",
884d7f9b689SLuiz Capitulino        .params     = "",
885d7f9b689SLuiz Capitulino        .help       = "cancel the current VM migration",
8866cdedb07SLuiz Capitulino        .mhandler.cmd = hmp_migrate_cancel,
887d7f9b689SLuiz Capitulino    },
888d7f9b689SLuiz Capitulino
8892313086aSBlue SwirlSTEXI
8902313086aSBlue Swirl@item migrate_cancel
89170fcbbe7SStefan Weil@findex migrate_cancel
8922313086aSBlue SwirlCancel the current VM migration.
8939e1ba4ccSOrit Wasserman
8949e1ba4ccSOrit WassermanETEXI
8959e1ba4ccSOrit Wasserman
8969e1ba4ccSOrit Wasserman    {
8979e1ba4ccSOrit Wasserman        .name       = "migrate_set_cache_size",
8989e1ba4ccSOrit Wasserman        .args_type  = "value:o",
8999e1ba4ccSOrit Wasserman        .params     = "value",
9009e1ba4ccSOrit Wasserman        .help       = "set cache size (in bytes) for XBZRLE migrations,"
9019e1ba4ccSOrit Wasserman                      "the cache size will be rounded down to the nearest "
9029e1ba4ccSOrit Wasserman                      "power of 2.\n"
9039e1ba4ccSOrit Wasserman                      "The cache size affects the number of cache misses."
9049e1ba4ccSOrit Wasserman                      "In case of a high cache miss ratio you need to increase"
9059e1ba4ccSOrit Wasserman                      " the cache size",
9069e1ba4ccSOrit Wasserman        .mhandler.cmd = hmp_migrate_set_cache_size,
9079e1ba4ccSOrit Wasserman    },
9089e1ba4ccSOrit Wasserman
9099e1ba4ccSOrit WassermanSTEXI
9109e1ba4ccSOrit Wasserman@item migrate_set_cache_size @var{value}
9119e1ba4ccSOrit Wasserman@findex migrate_set_cache_size
9129e1ba4ccSOrit WassermanSet cache size to @var{value} (in bytes) for xbzrle migrations.
9132313086aSBlue SwirlETEXI
9142313086aSBlue Swirl
915d7f9b689SLuiz Capitulino    {
916d7f9b689SLuiz Capitulino        .name       = "migrate_set_speed",
917ed3d4a80SJes Sorensen        .args_type  = "value:o",
918d7f9b689SLuiz Capitulino        .params     = "value",
919ed3d4a80SJes Sorensen        .help       = "set maximum speed (in bytes) for migrations. "
920ed3d4a80SJes Sorensen	"Defaults to MB if no size suffix is specified, ie. B/K/M/G/T",
9213dc85383SLuiz Capitulino        .mhandler.cmd = hmp_migrate_set_speed,
922d7f9b689SLuiz Capitulino    },
923d7f9b689SLuiz Capitulino
9242313086aSBlue SwirlSTEXI
9252313086aSBlue Swirl@item migrate_set_speed @var{value}
92670fcbbe7SStefan Weil@findex migrate_set_speed
9272313086aSBlue SwirlSet maximum speed to @var{value} (in bytes) for migrations.
9282313086aSBlue SwirlETEXI
9292313086aSBlue Swirl
930d7f9b689SLuiz Capitulino    {
931d7f9b689SLuiz Capitulino        .name       = "migrate_set_downtime",
932b0fbf7d3SMarkus Armbruster        .args_type  = "value:T",
933d7f9b689SLuiz Capitulino        .params     = "value",
934d7f9b689SLuiz Capitulino        .help       = "set maximum tolerated downtime (in seconds) for migrations",
9354f0a993bSLuiz Capitulino        .mhandler.cmd = hmp_migrate_set_downtime,
936d7f9b689SLuiz Capitulino    },
9372ea42952SGlauber Costa
9382ea42952SGlauber CostaSTEXI
9392ea42952SGlauber Costa@item migrate_set_downtime @var{second}
94070fcbbe7SStefan Weil@findex migrate_set_downtime
9412ea42952SGlauber CostaSet maximum tolerated downtime (in seconds) for migration.
9422ea42952SGlauber CostaETEXI
9432ea42952SGlauber Costa
944f8882568SJes Sorensen    {
94500458433SOrit Wasserman        .name       = "migrate_set_capability",
94600458433SOrit Wasserman        .args_type  = "capability:s,state:b",
94700458433SOrit Wasserman        .params     = "capability state",
94800458433SOrit Wasserman        .help       = "Enable/Disable the usage of a capability for migration",
94900458433SOrit Wasserman        .mhandler.cmd = hmp_migrate_set_capability,
95000458433SOrit Wasserman    },
95100458433SOrit Wasserman
95200458433SOrit WassermanSTEXI
95300458433SOrit Wasserman@item migrate_set_capability @var{capability} @var{state}
95400458433SOrit Wasserman@findex migrate_set_capability
95500458433SOrit WassermanEnable/Disable the usage of a capability @var{capability} for migration.
95600458433SOrit WassermanETEXI
95700458433SOrit Wasserman
95800458433SOrit Wasserman    {
9592ea720dbSJes Sorensen        .name       = "client_migrate_info",
9602ea720dbSJes Sorensen        .args_type  = "protocol:s,hostname:s,port:i?,tls-port:i?,cert-subject:s?",
9612ea720dbSJes Sorensen        .params     = "protocol hostname port tls-port cert-subject",
9622ea720dbSJes Sorensen        .help       = "send migration info to spice/vnc client",
9632ea720dbSJes Sorensen        .user_print = monitor_user_noop,
964edc5cb1aSYonit Halperin        .mhandler.cmd_async = client_migrate_info,
965edc5cb1aSYonit Halperin        .flags      = MONITOR_CMD_ASYNC,
966f8882568SJes Sorensen    },
967f8882568SJes Sorensen
968f8882568SJes SorensenSTEXI
969e866e239SGerd Hoffmann@item client_migrate_info @var{protocol} @var{hostname} @var{port} @var{tls-port} @var{cert-subject}
970e866e239SGerd Hoffmann@findex client_migrate_info
971e866e239SGerd HoffmannSet the spice/vnc connection info for the migration target.  The spice/vnc
972e866e239SGerd Hoffmannserver will ask the spice/vnc client to automatically reconnect using the
973e866e239SGerd Hoffmannnew parameters (if specified) once the vm migration finished successfully.
974e866e239SGerd HoffmannETEXI
975e866e239SGerd Hoffmann
976783e9b48SWen Congyang#if defined(CONFIG_HAVE_CORE_DUMP)
977783e9b48SWen Congyang    {
978783e9b48SWen Congyang        .name       = "dump-guest-memory",
97975363769SLuiz Capitulino        .args_type  = "paging:-p,filename:F,begin:i?,length:i?",
98075363769SLuiz Capitulino        .params     = "[-p] filename [begin] [length]",
981783e9b48SWen Congyang        .help       = "dump guest memory to file"
982783e9b48SWen Congyang                      "\n\t\t\t begin(optional): the starting physical address"
983783e9b48SWen Congyang                      "\n\t\t\t length(optional): the memory size, in bytes",
984783e9b48SWen Congyang        .mhandler.cmd = hmp_dump_guest_memory,
985783e9b48SWen Congyang    },
986783e9b48SWen Congyang
987783e9b48SWen Congyang
988783e9b48SWen CongyangSTEXI
989783e9b48SWen Congyang@item dump-guest-memory [-p] @var{protocol} @var{begin} @var{length}
990783e9b48SWen Congyang@findex dump-guest-memory
991783e9b48SWen CongyangDump guest memory to @var{protocol}. The file can be processed with crash or
992783e9b48SWen Congyanggdb.
99375363769SLuiz Capitulino  filename: dump file name
994783e9b48SWen Congyang    paging: do paging to get guest's memory mapping
995783e9b48SWen Congyang     begin: the starting physical address. It's optional, and should be
996783e9b48SWen Congyang            specified with length together.
997783e9b48SWen Congyang    length: the memory size, in bytes. It's optional, and should be specified
998783e9b48SWen Congyang            with begin together.
999783e9b48SWen CongyangETEXI
1000783e9b48SWen Congyang#endif
1001783e9b48SWen Congyang
1002e866e239SGerd Hoffmann    {
10032ea720dbSJes Sorensen        .name       = "snapshot_blkdev",
10046cc2a415SPaolo Bonzini        .args_type  = "reuse:-n,device:B,snapshot-file:s?,format:s?",
10056cc2a415SPaolo Bonzini        .params     = "[-n] device [new-image-file] [format]",
10062ea720dbSJes Sorensen        .help       = "initiates a live snapshot\n\t\t\t"
10072ea720dbSJes Sorensen                      "of device. If a new image file is specified, the\n\t\t\t"
10082ea720dbSJes Sorensen                      "new image file will become the new root image.\n\t\t\t"
10092ea720dbSJes Sorensen                      "If format is specified, the snapshot file will\n\t\t\t"
10102ea720dbSJes Sorensen                      "be created in that format. Otherwise the\n\t\t\t"
10116cc2a415SPaolo Bonzini                      "snapshot will be internal! (currently unsupported).\n\t\t\t"
10126cc2a415SPaolo Bonzini                      "The default format is qcow2.  The -n flag requests QEMU\n\t\t\t"
10136cc2a415SPaolo Bonzini                      "to reuse the image found in new-image-file, instead of\n\t\t\t"
10146cc2a415SPaolo Bonzini                      "recreating it from scratch.",
10156106e249SLuiz Capitulino        .mhandler.cmd = hmp_snapshot_blkdev,
1016e866e239SGerd Hoffmann    },
1017e866e239SGerd Hoffmann
1018e866e239SGerd HoffmannSTEXI
1019f8882568SJes Sorensen@item snapshot_blkdev
1020f8882568SJes Sorensen@findex snapshot_blkdev
1021f8882568SJes SorensenSnapshot device, using snapshot file as target if provided
1022f8882568SJes SorensenETEXI
1023f8882568SJes Sorensen
1024d7f9b689SLuiz Capitulino    {
1025d9b902dbSPaolo Bonzini        .name       = "drive_mirror",
1026d9b902dbSPaolo Bonzini        .args_type  = "reuse:-n,full:-f,device:B,target:s,format:s?",
1027d9b902dbSPaolo Bonzini        .params     = "[-n] [-f] device target [format]",
1028d9b902dbSPaolo Bonzini        .help       = "initiates live storage\n\t\t\t"
1029d9b902dbSPaolo Bonzini                      "migration for a device. The device's contents are\n\t\t\t"
1030d9b902dbSPaolo Bonzini                      "copied to the new image file, including data that\n\t\t\t"
1031d9b902dbSPaolo Bonzini                      "is written after the command is started.\n\t\t\t"
1032d9b902dbSPaolo Bonzini                      "The -n flag requests QEMU to reuse the image found\n\t\t\t"
1033d9b902dbSPaolo Bonzini                      "in new-image-file, instead of recreating it from scratch.\n\t\t\t"
1034d9b902dbSPaolo Bonzini                      "The -f flag requests QEMU to copy the whole disk,\n\t\t\t"
1035d9b902dbSPaolo Bonzini                      "so that the result does not need a backing file.\n\t\t\t",
1036d9b902dbSPaolo Bonzini        .mhandler.cmd = hmp_drive_mirror,
1037d9b902dbSPaolo Bonzini    },
1038d9b902dbSPaolo BonziniSTEXI
1039d9b902dbSPaolo Bonzini@item drive_mirror
1040d9b902dbSPaolo Bonzini@findex drive_mirror
1041d9b902dbSPaolo BonziniStart mirroring a block device's writes to a new destination,
1042d9b902dbSPaolo Bonziniusing the specified target.
1043d9b902dbSPaolo BonziniETEXI
1044d9b902dbSPaolo Bonzini
1045d9b902dbSPaolo Bonzini    {
1046d7f9b689SLuiz Capitulino        .name       = "drive_add",
1047d7f9b689SLuiz Capitulino        .args_type  = "pci_addr:s,opts:s",
1048d7f9b689SLuiz Capitulino        .params     = "[[<domain>:]<bus>:]<slot>\n"
10492313086aSBlue Swirl                      "[file=file][,if=type][,bus=n]\n"
1050fb0490f6SStefan Hajnoczi                      "[,unit=m][,media=d][,index=i]\n"
10512313086aSBlue Swirl                      "[,cyls=c,heads=h,secs=s[,trans=t]]\n"
1052fb0490f6SStefan Hajnoczi                      "[,snapshot=on|off][,cache=on|off]\n"
1053fb0490f6SStefan Hajnoczi                      "[,readonly=on|off][,copy-on-read=on|off]",
1054d7f9b689SLuiz Capitulino        .help       = "add drive to PCI storage controller",
1055af4ce882SLuiz Capitulino        .mhandler.cmd = drive_hot_add,
1056d7f9b689SLuiz Capitulino    },
1057d7f9b689SLuiz Capitulino
10582313086aSBlue SwirlSTEXI
10592313086aSBlue Swirl@item drive_add
106070fcbbe7SStefan Weil@findex drive_add
10612313086aSBlue SwirlAdd drive to PCI storage controller.
10622313086aSBlue SwirlETEXI
10632313086aSBlue Swirl
10642313086aSBlue Swirl#if defined(TARGET_I386)
1065d7f9b689SLuiz Capitulino    {
1066d7f9b689SLuiz Capitulino        .name       = "pci_add",
1067d7f9b689SLuiz Capitulino        .args_type  = "pci_addr:s,type:s,opts:s?",
1068d7f9b689SLuiz Capitulino        .params     = "auto|[[<domain>:]<bus>:]<slot> nic|storage [[vlan=n][,macaddr=addr][,model=type]] [file=file][,if=type][,bus=nr]...",
1069d7f9b689SLuiz Capitulino        .help       = "hot-add PCI device",
10706c6a58aeSMarkus Armbruster        .mhandler.cmd = pci_device_hot_add,
1071d7f9b689SLuiz Capitulino    },
10722313086aSBlue Swirl#endif
1073d7f9b689SLuiz Capitulino
10742313086aSBlue SwirlSTEXI
10752313086aSBlue Swirl@item pci_add
107670fcbbe7SStefan Weil@findex pci_add
10772313086aSBlue SwirlHot-add PCI device.
10782313086aSBlue SwirlETEXI
10792313086aSBlue Swirl
10802313086aSBlue Swirl#if defined(TARGET_I386)
1081d7f9b689SLuiz Capitulino    {
1082d7f9b689SLuiz Capitulino        .name       = "pci_del",
1083d7f9b689SLuiz Capitulino        .args_type  = "pci_addr:s",
1084d7f9b689SLuiz Capitulino        .params     = "[[<domain>:]<bus>:]<slot>",
1085d7f9b689SLuiz Capitulino        .help       = "hot remove PCI device",
1086b752daf0SMarkus Armbruster        .mhandler.cmd = do_pci_device_hot_remove,
1087d7f9b689SLuiz Capitulino    },
10882313086aSBlue Swirl#endif
1089d7f9b689SLuiz Capitulino
10902313086aSBlue SwirlSTEXI
10912313086aSBlue Swirl@item pci_del
109270fcbbe7SStefan Weil@findex pci_del
10932313086aSBlue SwirlHot remove PCI device.
10942313086aSBlue SwirlETEXI
10952313086aSBlue Swirl
1096d7f9b689SLuiz Capitulino    {
10972ae63bdaSIsaku Yamahata        .name       = "pcie_aer_inject_error",
10982ae63bdaSIsaku Yamahata        .args_type  = "advisory_non_fatal:-a,correctable:-c,"
10992ae63bdaSIsaku Yamahata	              "id:s,error_status:s,"
11002ae63bdaSIsaku Yamahata	              "header0:i?,header1:i?,header2:i?,header3:i?,"
11012ae63bdaSIsaku Yamahata	              "prefix0:i?,prefix1:i?,prefix2:i?,prefix3:i?",
11022ae63bdaSIsaku Yamahata        .params     = "[-a] [-c] id "
11032ae63bdaSIsaku Yamahata                      "<error_status> [<tlp header> [<tlp header prefix>]]",
11042ae63bdaSIsaku Yamahata        .help       = "inject pcie aer error\n\t\t\t"
11052ae63bdaSIsaku Yamahata	              " -a for advisory non fatal error\n\t\t\t"
11062ae63bdaSIsaku Yamahata	              " -c for correctable error\n\t\t\t"
11072ae63bdaSIsaku Yamahata                      "<id> = qdev device id\n\t\t\t"
11082ae63bdaSIsaku Yamahata                      "<error_status> = error string or 32bit\n\t\t\t"
11092ae63bdaSIsaku Yamahata                      "<tlb header> = 32bit x 4\n\t\t\t"
11102ae63bdaSIsaku Yamahata                      "<tlb header prefix> = 32bit x 4",
11112ae63bdaSIsaku Yamahata        .user_print  = pcie_aer_inject_error_print,
11121f3392b7SZhi Yong Wu        .mhandler.cmd_new = do_pcie_aer_inject_error,
11132ae63bdaSIsaku Yamahata    },
11142ae63bdaSIsaku Yamahata
11152ae63bdaSIsaku YamahataSTEXI
11162ae63bdaSIsaku Yamahata@item pcie_aer_inject_error
11172ae63bdaSIsaku Yamahata@findex pcie_aer_inject_error
11182ae63bdaSIsaku YamahataInject PCIe AER error
11192ae63bdaSIsaku YamahataETEXI
11202ae63bdaSIsaku Yamahata
11212ae63bdaSIsaku Yamahata    {
1122d7f9b689SLuiz Capitulino        .name       = "host_net_add",
1123d7f9b689SLuiz Capitulino        .args_type  = "device:s,opts:s?",
1124d7f9b689SLuiz Capitulino        .params     = "tap|user|socket|vde|dump [options]",
1125d7f9b689SLuiz Capitulino        .help       = "add host VLAN client",
1126af4ce882SLuiz Capitulino        .mhandler.cmd = net_host_device_add,
1127d7f9b689SLuiz Capitulino    },
1128d7f9b689SLuiz Capitulino
11292313086aSBlue SwirlSTEXI
11302313086aSBlue Swirl@item host_net_add
113170fcbbe7SStefan Weil@findex host_net_add
11322313086aSBlue SwirlAdd host VLAN client.
11332313086aSBlue SwirlETEXI
11342313086aSBlue Swirl
1135d7f9b689SLuiz Capitulino    {
1136d7f9b689SLuiz Capitulino        .name       = "host_net_remove",
1137d7f9b689SLuiz Capitulino        .args_type  = "vlan_id:i,device:s",
1138d7f9b689SLuiz Capitulino        .params     = "vlan_id name",
1139d7f9b689SLuiz Capitulino        .help       = "remove host VLAN client",
1140af4ce882SLuiz Capitulino        .mhandler.cmd = net_host_device_remove,
1141d7f9b689SLuiz Capitulino    },
1142d7f9b689SLuiz Capitulino
11432313086aSBlue SwirlSTEXI
11442313086aSBlue Swirl@item host_net_remove
114570fcbbe7SStefan Weil@findex host_net_remove
11462313086aSBlue SwirlRemove host VLAN client.
11472313086aSBlue SwirlETEXI
11482313086aSBlue Swirl
1149ae82d324SMarkus Armbruster    {
1150ae82d324SMarkus Armbruster        .name       = "netdev_add",
1151ae82d324SMarkus Armbruster        .args_type  = "netdev:O",
1152ae82d324SMarkus Armbruster        .params     = "[user|tap|socket],id=str[,prop=value][,...]",
1153ae82d324SMarkus Armbruster        .help       = "add host network device",
1154928059a3SLuiz Capitulino        .mhandler.cmd = hmp_netdev_add,
1155ae82d324SMarkus Armbruster    },
1156ae82d324SMarkus Armbruster
1157ae82d324SMarkus ArmbrusterSTEXI
1158ae82d324SMarkus Armbruster@item netdev_add
1159ae82d324SMarkus Armbruster@findex netdev_add
1160ae82d324SMarkus ArmbrusterAdd host network device.
1161ae82d324SMarkus ArmbrusterETEXI
1162ae82d324SMarkus Armbruster
1163ae82d324SMarkus Armbruster    {
1164ae82d324SMarkus Armbruster        .name       = "netdev_del",
1165ae82d324SMarkus Armbruster        .args_type  = "id:s",
1166ae82d324SMarkus Armbruster        .params     = "id",
1167ae82d324SMarkus Armbruster        .help       = "remove host network device",
11685f964155SLuiz Capitulino        .mhandler.cmd = hmp_netdev_del,
1169ae82d324SMarkus Armbruster    },
1170ae82d324SMarkus Armbruster
1171ae82d324SMarkus ArmbrusterSTEXI
1172ae82d324SMarkus Armbruster@item netdev_del
1173ae82d324SMarkus Armbruster@findex netdev_del
1174ae82d324SMarkus ArmbrusterRemove host network device.
1175ae82d324SMarkus ArmbrusterETEXI
1176ae82d324SMarkus Armbruster
11772313086aSBlue Swirl#ifdef CONFIG_SLIRP
1178d7f9b689SLuiz Capitulino    {
1179d7f9b689SLuiz Capitulino        .name       = "hostfwd_add",
1180d7f9b689SLuiz Capitulino        .args_type  = "arg1:s,arg2:s?,arg3:s?",
1181d7f9b689SLuiz Capitulino        .params     = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport",
1182d7f9b689SLuiz Capitulino        .help       = "redirect TCP or UDP connections from host to guest (requires -net user)",
1183af4ce882SLuiz Capitulino        .mhandler.cmd = net_slirp_hostfwd_add,
1184d7f9b689SLuiz Capitulino    },
118521413d68SMarkus Armbruster#endif
118621413d68SMarkus ArmbrusterSTEXI
118721413d68SMarkus Armbruster@item hostfwd_add
118821413d68SMarkus Armbruster@findex hostfwd_add
118921413d68SMarkus ArmbrusterRedirect TCP or UDP connections from host to guest (requires -net user).
119021413d68SMarkus ArmbrusterETEXI
1191d7f9b689SLuiz Capitulino
119221413d68SMarkus Armbruster#ifdef CONFIG_SLIRP
1193d7f9b689SLuiz Capitulino    {
1194d7f9b689SLuiz Capitulino        .name       = "hostfwd_remove",
1195d7f9b689SLuiz Capitulino        .args_type  = "arg1:s,arg2:s?,arg3:s?",
1196d7f9b689SLuiz Capitulino        .params     = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport",
1197d7f9b689SLuiz Capitulino        .help       = "remove host-to-guest TCP or UDP redirection",
1198af4ce882SLuiz Capitulino        .mhandler.cmd = net_slirp_hostfwd_remove,
1199d7f9b689SLuiz Capitulino    },
1200d7f9b689SLuiz Capitulino
12012313086aSBlue Swirl#endif
12022313086aSBlue SwirlSTEXI
120321413d68SMarkus Armbruster@item hostfwd_remove
120421413d68SMarkus Armbruster@findex hostfwd_remove
120521413d68SMarkus ArmbrusterRemove host-to-guest TCP or UDP redirection.
12062313086aSBlue SwirlETEXI
12072313086aSBlue Swirl
1208d7f9b689SLuiz Capitulino    {
1209d7f9b689SLuiz Capitulino        .name       = "balloon",
12103b0bd6ecSLuiz Capitulino        .args_type  = "value:M",
1211d7f9b689SLuiz Capitulino        .params     = "target",
12123c05613aSRiccardo Magliocchetti        .help       = "request VM to change its memory allocation (in MB)",
1213d72f3264SLuiz Capitulino        .mhandler.cmd = hmp_balloon,
1214d7f9b689SLuiz Capitulino    },
1215d7f9b689SLuiz Capitulino
12162313086aSBlue SwirlSTEXI
12172313086aSBlue Swirl@item balloon @var{value}
121870fcbbe7SStefan Weil@findex balloon
12192313086aSBlue SwirlRequest VM to change its memory allocation to @var{value} (in MB).
12202313086aSBlue SwirlETEXI
12212313086aSBlue Swirl
1222d7f9b689SLuiz Capitulino    {
1223d7f9b689SLuiz Capitulino        .name       = "set_link",
1224c9b26a4cSMarkus Armbruster        .args_type  = "name:s,up:b",
1225c9b26a4cSMarkus Armbruster        .params     = "name on|off",
1226d7f9b689SLuiz Capitulino        .help       = "change the link status of a network adapter",
12274b37156cSLuiz Capitulino        .mhandler.cmd = hmp_set_link,
1228d7f9b689SLuiz Capitulino    },
1229d7f9b689SLuiz Capitulino
12302313086aSBlue SwirlSTEXI
1231c9b26a4cSMarkus Armbruster@item set_link @var{name} [on|off]
123270fcbbe7SStefan Weil@findex set_link
1233c9b26a4cSMarkus ArmbrusterSwitch link @var{name} on (i.e. up) or off (i.e. down).
12342313086aSBlue SwirlETEXI
12352313086aSBlue Swirl
1236d7f9b689SLuiz Capitulino    {
1237d7f9b689SLuiz Capitulino        .name       = "watchdog_action",
1238d7f9b689SLuiz Capitulino        .args_type  = "action:s",
1239d7f9b689SLuiz Capitulino        .params     = "[reset|shutdown|poweroff|pause|debug|none]",
1240d7f9b689SLuiz Capitulino        .help       = "change watchdog action",
1241af4ce882SLuiz Capitulino        .mhandler.cmd = do_watchdog_action,
1242d7f9b689SLuiz Capitulino    },
1243d7f9b689SLuiz Capitulino
12442313086aSBlue SwirlSTEXI
12452313086aSBlue Swirl@item watchdog_action
124670fcbbe7SStefan Weil@findex watchdog_action
12472313086aSBlue SwirlChange watchdog action.
12482313086aSBlue SwirlETEXI
12492313086aSBlue Swirl
1250d7f9b689SLuiz Capitulino    {
1251d7f9b689SLuiz Capitulino        .name       = "acl_show",
1252d7f9b689SLuiz Capitulino        .args_type  = "aclname:s",
1253d7f9b689SLuiz Capitulino        .params     = "aclname",
1254d7f9b689SLuiz Capitulino        .help       = "list rules in the access control list",
1255af4ce882SLuiz Capitulino        .mhandler.cmd = do_acl_show,
1256d7f9b689SLuiz Capitulino    },
1257d7f9b689SLuiz Capitulino
12582313086aSBlue SwirlSTEXI
125915dfcd45SJan Kiszka@item acl_show @var{aclname}
126070fcbbe7SStefan Weil@findex acl_show
126115dfcd45SJan KiszkaList all the matching rules in the access control list, and the default
126215dfcd45SJan Kiszkapolicy. There are currently two named access control lists,
126315dfcd45SJan Kiszka@var{vnc.x509dname} and @var{vnc.username} matching on the x509 client
126415dfcd45SJan Kiszkacertificate distinguished name, and SASL username respectively.
126515dfcd45SJan KiszkaETEXI
12662313086aSBlue Swirl
1267d7f9b689SLuiz Capitulino    {
1268d7f9b689SLuiz Capitulino        .name       = "acl_policy",
1269d7f9b689SLuiz Capitulino        .args_type  = "aclname:s,policy:s",
1270d7f9b689SLuiz Capitulino        .params     = "aclname allow|deny",
1271d7f9b689SLuiz Capitulino        .help       = "set default access control list policy",
1272af4ce882SLuiz Capitulino        .mhandler.cmd = do_acl_policy,
1273d7f9b689SLuiz Capitulino    },
1274d7f9b689SLuiz Capitulino
127515dfcd45SJan KiszkaSTEXI
1276cbbfacc6SJan Kiszka@item acl_policy @var{aclname} @code{allow|deny}
127770fcbbe7SStefan Weil@findex acl_policy
127815dfcd45SJan KiszkaSet the default access control list policy, used in the event that
12792313086aSBlue Swirlnone of the explicit rules match. The default policy at startup is
128015dfcd45SJan Kiszkaalways @code{deny}.
128115dfcd45SJan KiszkaETEXI
128215dfcd45SJan Kiszka
1283d7f9b689SLuiz Capitulino    {
1284d7f9b689SLuiz Capitulino        .name       = "acl_add",
1285d7f9b689SLuiz Capitulino        .args_type  = "aclname:s,match:s,policy:s,index:i?",
1286d7f9b689SLuiz Capitulino        .params     = "aclname match allow|deny [index]",
1287d7f9b689SLuiz Capitulino        .help       = "add a match rule to the access control list",
1288af4ce882SLuiz Capitulino        .mhandler.cmd = do_acl_add,
1289d7f9b689SLuiz Capitulino    },
1290d7f9b689SLuiz Capitulino
129115dfcd45SJan KiszkaSTEXI
12920e4aec98SMarkus Armbruster@item acl_add @var{aclname} @var{match} @code{allow|deny} [@var{index}]
12930e4aec98SMarkus Armbruster@findex acl_add
129415dfcd45SJan KiszkaAdd a match rule to the access control list, allowing or denying access.
129515dfcd45SJan KiszkaThe match will normally be an exact username or x509 distinguished name,
129615dfcd45SJan Kiszkabut can optionally include wildcard globs. eg @code{*@@EXAMPLE.COM} to
129715dfcd45SJan Kiszkaallow all users in the @code{EXAMPLE.COM} kerberos realm. The match will
12982313086aSBlue Swirlnormally be appended to the end of the ACL, but can be inserted
129915dfcd45SJan Kiszkaearlier in the list if the optional @var{index} parameter is supplied.
130015dfcd45SJan KiszkaETEXI
130115dfcd45SJan Kiszka
1302d7f9b689SLuiz Capitulino    {
1303d7f9b689SLuiz Capitulino        .name       = "acl_remove",
1304d7f9b689SLuiz Capitulino        .args_type  = "aclname:s,match:s",
1305d7f9b689SLuiz Capitulino        .params     = "aclname match",
1306d7f9b689SLuiz Capitulino        .help       = "remove a match rule from the access control list",
1307af4ce882SLuiz Capitulino        .mhandler.cmd = do_acl_remove,
1308d7f9b689SLuiz Capitulino    },
1309d7f9b689SLuiz Capitulino
131015dfcd45SJan KiszkaSTEXI
131115dfcd45SJan Kiszka@item acl_remove @var{aclname} @var{match}
131270fcbbe7SStefan Weil@findex acl_remove
131315dfcd45SJan KiszkaRemove the specified match rule from the access control list.
131415dfcd45SJan KiszkaETEXI
131515dfcd45SJan Kiszka
1316d7f9b689SLuiz Capitulino    {
1317d7f9b689SLuiz Capitulino        .name       = "acl_reset",
1318d7f9b689SLuiz Capitulino        .args_type  = "aclname:s",
1319d7f9b689SLuiz Capitulino        .params     = "aclname",
1320d7f9b689SLuiz Capitulino        .help       = "reset the access control list",
1321af4ce882SLuiz Capitulino        .mhandler.cmd = do_acl_reset,
1322d7f9b689SLuiz Capitulino    },
1323d7f9b689SLuiz Capitulino
132415dfcd45SJan KiszkaSTEXI
13250e4aec98SMarkus Armbruster@item acl_reset @var{aclname}
13260e4aec98SMarkus Armbruster@findex acl_reset
132715dfcd45SJan KiszkaRemove all matches from the access control list, and set the default
13282313086aSBlue Swirlpolicy back to @code{deny}.
13292313086aSBlue SwirlETEXI
13302313086aSBlue Swirl
13314057725fSPaolo Bonzini    {
13324057725fSPaolo Bonzini        .name       = "nbd_server_start",
13334057725fSPaolo Bonzini        .args_type  = "all:-a,writable:-w,uri:s",
13344057725fSPaolo Bonzini        .params     = "nbd_server_start [-a] [-w] host:port",
13354057725fSPaolo Bonzini        .help       = "serve block devices on the given host and port",
13364057725fSPaolo Bonzini        .mhandler.cmd = hmp_nbd_server_start,
13374057725fSPaolo Bonzini    },
13384057725fSPaolo BonziniSTEXI
13394057725fSPaolo Bonzini@item nbd_server_start @var{host}:@var{port}
13404057725fSPaolo Bonzini@findex nbd_server_start
13414057725fSPaolo BonziniStart an NBD server on the given host and/or port.  If the @option{-a}
13424057725fSPaolo Bonzinioption is included, all of the virtual machine's block devices that
13434057725fSPaolo Bonzinihave an inserted media on them are automatically exported; in this case,
13444057725fSPaolo Bonzinithe @option{-w} option makes the devices writable too.
13454057725fSPaolo BonziniETEXI
13464057725fSPaolo Bonzini
13474057725fSPaolo Bonzini    {
13484057725fSPaolo Bonzini        .name       = "nbd_server_add",
13494057725fSPaolo Bonzini        .args_type  = "writable:-w,device:B",
13504057725fSPaolo Bonzini        .params     = "nbd_server_add [-w] device",
13514057725fSPaolo Bonzini        .help       = "export a block device via NBD",
13524057725fSPaolo Bonzini        .mhandler.cmd = hmp_nbd_server_add,
13534057725fSPaolo Bonzini    },
13544057725fSPaolo BonziniSTEXI
13554057725fSPaolo Bonzini@item nbd_server_add @var{device}
13564057725fSPaolo Bonzini@findex nbd_server_add
13574057725fSPaolo BonziniExport a block device through QEMU's NBD server, which must be started
13584057725fSPaolo Bonzinibeforehand with @command{nbd_server_start}.  The @option{-w} option makes the
13594057725fSPaolo Bonziniexported device writable too.
13604057725fSPaolo BonziniETEXI
13614057725fSPaolo Bonzini
13624057725fSPaolo Bonzini    {
13634057725fSPaolo Bonzini        .name       = "nbd_server_stop",
13644057725fSPaolo Bonzini        .args_type  = "",
13654057725fSPaolo Bonzini        .params     = "nbd_server_stop",
13664057725fSPaolo Bonzini        .help       = "stop serving block devices using the NBD protocol",
13674057725fSPaolo Bonzini        .mhandler.cmd = hmp_nbd_server_stop,
13684057725fSPaolo Bonzini    },
13694057725fSPaolo BonziniSTEXI
13704057725fSPaolo Bonzini@item nbd_server_stop
13714057725fSPaolo Bonzini@findex nbd_server_stop
13724057725fSPaolo BonziniStop the QEMU embedded NBD server.
13734057725fSPaolo BonziniETEXI
13744057725fSPaolo Bonzini
13754057725fSPaolo Bonzini
137679c4f6b0SHuang Ying#if defined(TARGET_I386)
1377d7f9b689SLuiz Capitulino
1378d7f9b689SLuiz Capitulino    {
1379d7f9b689SLuiz Capitulino        .name       = "mce",
138031ce5e0cSJin Dongming        .args_type  = "broadcast:-b,cpu_index:i,bank:i,status:l,mcg_status:l,addr:l,misc:l",
138131ce5e0cSJin Dongming        .params     = "[-b] cpu bank status mcgstatus addr misc",
138231ce5e0cSJin Dongming        .help       = "inject a MCE on the given CPU [and broadcast to other CPUs with -b option]",
1383af4ce882SLuiz Capitulino        .mhandler.cmd = do_inject_mce,
1384d7f9b689SLuiz Capitulino    },
1385d7f9b689SLuiz Capitulino
138679c4f6b0SHuang Ying#endif
138779c4f6b0SHuang YingSTEXI
138879c4f6b0SHuang Ying@item mce @var{cpu} @var{bank} @var{status} @var{mcgstatus} @var{addr} @var{misc}
138970fcbbe7SStefan Weil@findex mce (x86)
139079c4f6b0SHuang YingInject an MCE on the given CPU (x86 only).
139179c4f6b0SHuang YingETEXI
139279c4f6b0SHuang Ying
1393d7f9b689SLuiz Capitulino    {
1394d7f9b689SLuiz Capitulino        .name       = "getfd",
1395d7f9b689SLuiz Capitulino        .args_type  = "fdname:s",
1396d7f9b689SLuiz Capitulino        .params     = "getfd name",
1397d7f9b689SLuiz Capitulino        .help       = "receive a file descriptor via SCM rights and assign it a name",
1398208c9d1bSCorey Bryant        .mhandler.cmd = hmp_getfd,
1399d7f9b689SLuiz Capitulino    },
1400d7f9b689SLuiz Capitulino
1401f07918fdSMark McLoughlinSTEXI
1402f07918fdSMark McLoughlin@item getfd @var{fdname}
140370fcbbe7SStefan Weil@findex getfd
1404f07918fdSMark McLoughlinIf a file descriptor is passed alongside this command using the SCM_RIGHTS
1405f07918fdSMark McLoughlinmechanism on unix sockets, it is stored using the name @var{fdname} for
1406f07918fdSMark McLoughlinlater use by other monitor commands.
1407f07918fdSMark McLoughlinETEXI
1408f07918fdSMark McLoughlin
1409d7f9b689SLuiz Capitulino    {
1410d7f9b689SLuiz Capitulino        .name       = "closefd",
1411d7f9b689SLuiz Capitulino        .args_type  = "fdname:s",
1412d7f9b689SLuiz Capitulino        .params     = "closefd name",
1413d7f9b689SLuiz Capitulino        .help       = "close a file descriptor previously passed via SCM rights",
1414208c9d1bSCorey Bryant        .mhandler.cmd = hmp_closefd,
1415d7f9b689SLuiz Capitulino    },
1416d7f9b689SLuiz Capitulino
1417f07918fdSMark McLoughlinSTEXI
1418f07918fdSMark McLoughlin@item closefd @var{fdname}
141970fcbbe7SStefan Weil@findex closefd
1420f07918fdSMark McLoughlinClose the file descriptor previously assigned to @var{fdname} using the
1421f07918fdSMark McLoughlin@code{getfd} command. This is only needed if the file descriptor was never
1422f07918fdSMark McLoughlinused by another monitor command.
1423f07918fdSMark McLoughlinETEXI
1424f07918fdSMark McLoughlin
1425a3a55a2eSLuiz Capitulino    {
1426a3a55a2eSLuiz Capitulino        .name       = "block_passwd",
1427a3a55a2eSLuiz Capitulino        .args_type  = "device:B,password:s",
1428a3a55a2eSLuiz Capitulino        .params     = "block_passwd device password",
1429a3a55a2eSLuiz Capitulino        .help       = "set the password of encrypted block devices",
1430a4dea8a9SLuiz Capitulino        .mhandler.cmd = hmp_block_passwd,
1431a3a55a2eSLuiz Capitulino    },
1432a3a55a2eSLuiz Capitulino
1433a3a55a2eSLuiz CapitulinoSTEXI
1434727f005eSZhi Yong Wu@item block_set_io_throttle @var{device} @var{bps} @var{bps_rd} @var{bps_wr} @var{iops} @var{iops_rd} @var{iops_wr}
1435727f005eSZhi Yong Wu@findex block_set_io_throttle
1436727f005eSZhi Yong WuChange 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}
1437727f005eSZhi Yong WuETEXI
1438727f005eSZhi Yong Wu
1439727f005eSZhi Yong Wu    {
1440727f005eSZhi Yong Wu        .name       = "block_set_io_throttle",
1441727f005eSZhi Yong Wu        .args_type  = "device:B,bps:l,bps_rd:l,bps_wr:l,iops:l,iops_rd:l,iops_wr:l",
1442727f005eSZhi Yong Wu        .params     = "device bps bps_rd bps_wr iops iops_rd iops_wr",
1443727f005eSZhi Yong Wu        .help       = "change I/O throttle limits for a block drive",
144480047da5SLuiz Capitulino        .mhandler.cmd = hmp_block_set_io_throttle,
1445727f005eSZhi Yong Wu    },
1446727f005eSZhi Yong Wu
1447727f005eSZhi Yong WuSTEXI
1448a3a55a2eSLuiz Capitulino@item block_passwd @var{device} @var{password}
144970fcbbe7SStefan Weil@findex block_passwd
1450a3a55a2eSLuiz CapitulinoSet the encrypted device @var{device} password to @var{password}
1451a3a55a2eSLuiz CapitulinoETEXI
1452b40292e7SJan Kiszka
145333572eceSJan Kiszka    {
14547572150cSGerd Hoffmann        .name       = "set_password",
14557572150cSGerd Hoffmann        .args_type  = "protocol:s,password:s,connected:s?",
14567572150cSGerd Hoffmann        .params     = "protocol password action-if-connected",
14577572150cSGerd Hoffmann        .help       = "set spice/vnc password",
1458fbf796fdSLuiz Capitulino        .mhandler.cmd = hmp_set_password,
14597572150cSGerd Hoffmann    },
14607572150cSGerd Hoffmann
14617572150cSGerd HoffmannSTEXI
14627572150cSGerd Hoffmann@item set_password [ vnc | spice ] password [ action-if-connected ]
14637572150cSGerd Hoffmann@findex set_password
14647572150cSGerd Hoffmann
14657572150cSGerd HoffmannChange spice/vnc password.  Use zero to make the password stay valid
14667572150cSGerd Hoffmannforever.  @var{action-if-connected} specifies what should happen in
14677572150cSGerd Hoffmanncase a connection is established: @var{fail} makes the password change
14687572150cSGerd Hoffmannfail.  @var{disconnect} changes the password and disconnects the
14697572150cSGerd Hoffmannclient.  @var{keep} changes the password and keeps the connection up.
14707572150cSGerd Hoffmann@var{keep} is the default.
14717572150cSGerd HoffmannETEXI
14727572150cSGerd Hoffmann
14737572150cSGerd Hoffmann    {
14747572150cSGerd Hoffmann        .name       = "expire_password",
14757572150cSGerd Hoffmann        .args_type  = "protocol:s,time:s",
14767572150cSGerd Hoffmann        .params     = "protocol time",
14777572150cSGerd Hoffmann        .help       = "set spice/vnc password expire-time",
14789ad5372dSLuiz Capitulino        .mhandler.cmd = hmp_expire_password,
14797572150cSGerd Hoffmann    },
14807572150cSGerd Hoffmann
14817572150cSGerd HoffmannSTEXI
14827572150cSGerd Hoffmann@item expire_password [ vnc | spice ] expire-time
14837572150cSGerd Hoffmann@findex expire_password
14847572150cSGerd Hoffmann
14857572150cSGerd HoffmannSpecify when a password for spice/vnc becomes
14867572150cSGerd Hoffmanninvalid. @var{expire-time} accepts:
14877572150cSGerd Hoffmann
14887572150cSGerd Hoffmann@table @var
14897572150cSGerd Hoffmann@item now
14907572150cSGerd HoffmannInvalidate password instantly.
14917572150cSGerd Hoffmann
14927572150cSGerd Hoffmann@item never
14937572150cSGerd HoffmannPassword stays valid forever.
14947572150cSGerd Hoffmann
14957572150cSGerd Hoffmann@item +nsec
14967572150cSGerd HoffmannPassword stays valid for @var{nsec} seconds starting now.
14977572150cSGerd Hoffmann
14987572150cSGerd Hoffmann@item nsec
14997572150cSGerd HoffmannPassword is invalidated at the given time.  @var{nsec} are the seconds
15007572150cSGerd Hoffmannpassed since 1970, i.e. unix epoch.
15017572150cSGerd Hoffmann
15027572150cSGerd Hoffmann@end table
15037572150cSGerd HoffmannETEXI
15047572150cSGerd Hoffmann
15057572150cSGerd Hoffmann    {
1506f1088908SGerd Hoffmann        .name       = "chardev-add",
1507f1088908SGerd Hoffmann        .args_type  = "args:s",
1508f1088908SGerd Hoffmann        .params     = "args",
1509f1088908SGerd Hoffmann        .help       = "add chardev",
1510f1088908SGerd Hoffmann        .mhandler.cmd = hmp_chardev_add,
1511f1088908SGerd Hoffmann    },
1512f1088908SGerd Hoffmann
1513f1088908SGerd HoffmannSTEXI
1514f1088908SGerd Hoffmann@item chardev_add args
1515f1088908SGerd Hoffmann@findex chardev_add
1516f1088908SGerd Hoffmann
1517f1088908SGerd Hoffmannchardev_add accepts the same parameters as the -chardev command line switch.
1518f1088908SGerd Hoffmann
1519f1088908SGerd HoffmannETEXI
1520f1088908SGerd Hoffmann
1521f1088908SGerd Hoffmann    {
1522f1088908SGerd Hoffmann        .name       = "chardev-remove",
1523f1088908SGerd Hoffmann        .args_type  = "id:s",
1524f1088908SGerd Hoffmann        .params     = "id",
1525f1088908SGerd Hoffmann        .help       = "remove chardev",
1526f1088908SGerd Hoffmann        .mhandler.cmd = hmp_chardev_remove,
1527f1088908SGerd Hoffmann    },
1528f1088908SGerd Hoffmann
1529f1088908SGerd HoffmannSTEXI
1530f1088908SGerd Hoffmann@item chardev_remove id
1531f1088908SGerd Hoffmann@findex chardev_remove
1532f1088908SGerd Hoffmann
1533f1088908SGerd HoffmannRemoves the chardev @var{id}.
1534f1088908SGerd Hoffmann
1535f1088908SGerd HoffmannETEXI
1536f1088908SGerd Hoffmann
1537f1088908SGerd Hoffmann    {
153833572eceSJan Kiszka        .name       = "info",
153933572eceSJan Kiszka        .args_type  = "item:s?",
154033572eceSJan Kiszka        .params     = "[subcommand]",
154133572eceSJan Kiszka        .help       = "show various information about the system state",
154284c44613SWenchao Xia        .mhandler.cmd = do_info_help,
154384c44613SWenchao Xia        .sub_table = info_cmds,
154433572eceSJan Kiszka    },
154533572eceSJan Kiszka
154633572eceSJan KiszkaSTEXI
154733572eceSJan Kiszka@item info @var{subcommand}
154833572eceSJan Kiszka@findex info
154933572eceSJan KiszkaShow various information about the system state.
155033572eceSJan Kiszka
155133572eceSJan Kiszka@table @option
155233572eceSJan Kiszka@item info version
155333572eceSJan Kiszkashow the version of QEMU
155433572eceSJan Kiszka@item info network
155533572eceSJan Kiszkashow the various VLANs and the associated devices
155633572eceSJan Kiszka@item info chardev
155733572eceSJan Kiszkashow the character devices
155833572eceSJan Kiszka@item info block
155933572eceSJan Kiszkashow the block devices
156033572eceSJan Kiszka@item info blockstats
156133572eceSJan Kiszkashow block device statistics
156233572eceSJan Kiszka@item info registers
156333572eceSJan Kiszkashow the cpu registers
156433572eceSJan Kiszka@item info cpus
156533572eceSJan Kiszkashow infos for each CPU
156633572eceSJan Kiszka@item info history
156733572eceSJan Kiszkashow the command line history
156833572eceSJan Kiszka@item info irq
156933572eceSJan Kiszkashow the interrupts statistics (if available)
157033572eceSJan Kiszka@item info pic
157133572eceSJan Kiszkashow i8259 (PIC) state
157233572eceSJan Kiszka@item info pci
157333572eceSJan Kiszkashow emulated PCI device info
157433572eceSJan Kiszka@item info tlb
1575692f737cSMax Filippovshow virtual to physical memory mappings (i386, SH4, SPARC, PPC, and Xtensa only)
157633572eceSJan Kiszka@item info mem
157733572eceSJan Kiszkashow the active virtual memory mappings (i386 only)
157833572eceSJan Kiszka@item info jit
157933572eceSJan Kiszkashow dynamic compiler info
158033572eceSJan Kiszka@item info numa
158133572eceSJan Kiszkashow NUMA information
1582b40292e7SJan Kiszka@item info kvm
1583b40292e7SJan Kiszkashow KVM information
158433572eceSJan Kiszka@item info usb
158533572eceSJan Kiszkashow USB devices plugged on the virtual USB hub
158633572eceSJan Kiszka@item info usbhost
158733572eceSJan Kiszkashow all USB host devices
158833572eceSJan Kiszka@item info profile
158933572eceSJan Kiszkashow profiling information
159033572eceSJan Kiszka@item info capture
159133572eceSJan Kiszkashow information about active capturing
159233572eceSJan Kiszka@item info snapshots
159333572eceSJan Kiszkashow list of VM snapshots
159433572eceSJan Kiszka@item info status
159533572eceSJan Kiszkashow the current VM status (running|paused)
159633572eceSJan Kiszka@item info pcmcia
159733572eceSJan Kiszkashow guest PCMCIA status
159833572eceSJan Kiszka@item info mice
159933572eceSJan Kiszkashow which guest mouse is receiving events
160033572eceSJan Kiszka@item info vnc
160133572eceSJan Kiszkashow the vnc server status
160233572eceSJan Kiszka@item info name
160333572eceSJan Kiszkashow the current VM name
160433572eceSJan Kiszka@item info uuid
160533572eceSJan Kiszkashow the current VM UUID
160633572eceSJan Kiszka@item info cpustats
160733572eceSJan Kiszkashow CPU statistics
160833572eceSJan Kiszka@item info usernet
160933572eceSJan Kiszkashow user network stack connection states
161033572eceSJan Kiszka@item info migrate
161133572eceSJan Kiszkashow migration status
1612bbf6da32SOrit Wasserman@item info migrate_capabilities
1613bbf6da32SOrit Wassermanshow current migration capabilities
16149e1ba4ccSOrit Wasserman@item info migrate_cache_size
16159e1ba4ccSOrit Wassermanshow current migration XBZRLE cache size
161633572eceSJan Kiszka@item info balloon
161733572eceSJan Kiszkashow balloon information
161833572eceSJan Kiszka@item info qtree
161933572eceSJan Kiszkashow device tree
162033572eceSJan Kiszka@item info qdm
162133572eceSJan Kiszkashow qdev device model list
162233572eceSJan Kiszka@item info roms
162333572eceSJan Kiszkashow roms
162433572eceSJan Kiszka@end table
162533572eceSJan KiszkaETEXI
162633572eceSJan Kiszka
162731965ae2SLluísSTEXI
162822890ab5SPrerna Saxena@item info trace-events
162922890ab5SPrerna Saxenashow available trace events and their state
163022890ab5SPrerna SaxenaETEXI
163122890ab5SPrerna Saxena
16322313086aSBlue SwirlSTEXI
16332313086aSBlue Swirl@end table
16342313086aSBlue SwirlETEXI
1635