blob: 9aa59f5231254ff65e305bc1930af55fffa86216 [file] [log] [blame]
Blue Swirl23130862009-06-06 08:22:04 +00001HXCOMM Use DEFHEADING() to define headings in both help text and texi
2HXCOMM Text between STEXI and ETEXI are copied to texi version and
3HXCOMM discarded from C version
4HXCOMM DEF(command, args, callback, arg_string, help) is used to construct
5HXCOMM monitor commands
6HXCOMM HXCOMM can be used for comments, discarded from both texi and C
7
8STEXI
9@table @option
10ETEXI
11
Luiz Capitulinod7f9b682009-10-07 13:41:50 -030012 {
13 .name = "help|?",
Wenchao Xia129be002013-08-27 20:38:26 +080014 .args_type = "name:S?",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -030015 .params = "[cmd]",
16 .help = "show the help",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +040017 .cmd = do_help_cmd,
Dr. David Alan Gilbert31785f12018-06-20 16:39:42 +010018 .flags = "p",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -030019 },
20
Blue Swirl23130862009-06-06 08:22:04 +000021STEXI
22@item help or ? [@var{cmd}]
Stefan Weil70fcbbe2010-02-05 23:52:04 +010023@findex help
Blue Swirl23130862009-06-06 08:22:04 +000024Show the help for all commands or just for command @var{cmd}.
25ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +000026SRST
27``help`` or ``?`` [*cmd*]
28 Show the help for all commands or just for command *cmd*.
29ERST
Blue Swirl23130862009-06-06 08:22:04 +000030
Luiz Capitulinod7f9b682009-10-07 13:41:50 -030031 {
32 .name = "commit",
33 .args_type = "device:B",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -030034 .params = "device|all",
35 .help = "commit changes to the disk images (if -snapshot is used) or backing files",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +040036 .cmd = hmp_commit,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -030037 },
38
Blue Swirl23130862009-06-06 08:22:04 +000039STEXI
40@item commit
Stefan Weil70fcbbe2010-02-05 23:52:04 +010041@findex commit
Blue Swirl23130862009-06-06 08:22:04 +000042Commit changes to the disk images (if -snapshot is used) or backing files.
Jeff Cody37222902014-01-24 09:02:37 -050043If the backing file is smaller than the snapshot, then the backing file will be
44resized to be the same size as the snapshot. If the snapshot is smaller than
45the backing file, the backing file will not be truncated. If you want the
46backing file to match the size of the smaller snapshot, you can safely truncate
47it yourself once the commit operation successfully completes.
Blue Swirl23130862009-06-06 08:22:04 +000048ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +000049SRST
50``commit``
51 Commit changes to the disk images (if -snapshot is used) or backing files.
52 If the backing file is smaller than the snapshot, then the backing file
53 will be resized to be the same size as the snapshot. If the snapshot is
54 smaller than the backing file, the backing file will not be truncated.
55 If you want the backing file to match the size of the smaller snapshot,
56 you can safely truncate it yourself once the commit operation successfully
57 completes.
58ERST
Blue Swirl23130862009-06-06 08:22:04 +000059
Luiz Capitulinod7f9b682009-10-07 13:41:50 -030060 {
Luiz Capitulinod7f9b682009-10-07 13:41:50 -030061 .name = "q|quit",
62 .args_type = "",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -030063 .params = "",
64 .help = "quit the emulator",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +040065 .cmd = hmp_quit,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -030066 },
67
Blue Swirl23130862009-06-06 08:22:04 +000068STEXI
69@item q or quit
Stefan Weil70fcbbe2010-02-05 23:52:04 +010070@findex quit
Blue Swirl23130862009-06-06 08:22:04 +000071Quit the emulator.
72ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +000073SRST
74``q`` or ``quit``
75 Quit the emulator.
76ERST
Blue Swirl23130862009-06-06 08:22:04 +000077
Luiz Capitulinod7f9b682009-10-07 13:41:50 -030078 {
Dr. David Alan Gilbert8e8581e2018-06-20 16:39:46 +010079 .name = "exit_preconfig",
80 .args_type = "",
81 .params = "",
82 .help = "exit the preconfig state",
83 .cmd = hmp_exit_preconfig,
84 .flags = "p",
85 },
86
87STEXI
88@item exit_preconfig
89@findex exit_preconfig
90This command makes QEMU exit the preconfig state and proceed with
91VM initialization using configuration data provided on the command line
92and via the QMP monitor during the preconfig state. The command is only
93available during the preconfig state (i.e. when the --preconfig command
94line option was in use).
95ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +000096SRST
97``exit_preconfig``
98 This command makes QEMU exit the preconfig state and proceed with
99 VM initialization using configuration data provided on the command line
100 and via the QMP monitor during the preconfig state. The command is only
101 available during the preconfig state (i.e. when the --preconfig command
102 line option was in use).
103ERST
Dr. David Alan Gilbert8e8581e2018-06-20 16:39:46 +0100104
105 {
Christoph Hellwig6d4a2b32011-01-24 13:32:33 +0100106 .name = "block_resize",
107 .args_type = "device:B,size:o",
108 .params = "device size",
109 .help = "resize a block image",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +0400110 .cmd = hmp_block_resize,
Christoph Hellwig6d4a2b32011-01-24 13:32:33 +0100111 },
112
113STEXI
114@item block_resize
115@findex block_resize
116Resize a block image while a guest is running. Usually requires guest
117action to see the updated size. Resize to a lower size is supported,
118but should be used with extreme caution. Note that this command only
119resizes image files, it can not resize block devices like LVM volumes.
120ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +0000121SRST
122``block_resize``
123 Resize a block image while a guest is running. Usually requires guest
124 action to see the updated size. Resize to a lower size is supported,
125 but should be used with extreme caution. Note that this command only
126 resizes image files, it can not resize block devices like LVM volumes.
127ERST
Christoph Hellwig6d4a2b32011-01-24 13:32:33 +0100128
Stefan Hajnoczi12bd4512012-01-18 14:40:46 +0000129 {
130 .name = "block_stream",
Stefan Hajnoczic83c66c2012-04-25 16:51:03 +0100131 .args_type = "device:B,speed:o?,base:s?",
132 .params = "device [speed [base]]",
Stefan Hajnoczi12bd4512012-01-18 14:40:46 +0000133 .help = "copy data from a backing file into a block device",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +0400134 .cmd = hmp_block_stream,
Stefan Hajnoczi12bd4512012-01-18 14:40:46 +0000135 },
136
137STEXI
138@item block_stream
139@findex block_stream
140Copy data from a backing file into a block device.
141ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +0000142SRST
143``block_stream``
144 Copy data from a backing file into a block device.
145ERST
Christoph Hellwig6d4a2b32011-01-24 13:32:33 +0100146
147 {
Stefan Hajnoczi2d47c6e2012-01-18 14:40:47 +0000148 .name = "block_job_set_speed",
Stefan Hajnoczi882ec7c2012-04-25 16:51:02 +0100149 .args_type = "device:B,speed:o",
150 .params = "device speed",
Stefan Hajnoczi2d47c6e2012-01-18 14:40:47 +0000151 .help = "set maximum speed for a background block operation",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +0400152 .cmd = hmp_block_job_set_speed,
Stefan Hajnoczi2d47c6e2012-01-18 14:40:47 +0000153 },
154
155STEXI
Paolo Bonzini4451b792012-04-13 12:03:46 +0200156@item block_job_set_speed
157@findex block_job_set_speed
Stefan Hajnoczi2d47c6e2012-01-18 14:40:47 +0000158Set maximum speed for a background block operation.
159ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +0000160SRST
161``block_job_set_speed``
162 Set maximum speed for a background block operation.
163ERST
Stefan Hajnoczi2d47c6e2012-01-18 14:40:47 +0000164
165 {
Stefan Hajnoczi370521a2012-01-18 14:40:48 +0000166 .name = "block_job_cancel",
Paolo Bonzini6e37fb82012-09-28 17:22:51 +0200167 .args_type = "force:-f,device:B",
168 .params = "[-f] device",
169 .help = "stop an active background block operation (use -f"
Liang Lib76e4452018-03-13 08:12:16 -0400170 "\n\t\t\t if you want to abort the operation immediately"
171 "\n\t\t\t instead of keep running until data is in sync)",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +0400172 .cmd = hmp_block_job_cancel,
Stefan Hajnoczi370521a2012-01-18 14:40:48 +0000173 },
174
175STEXI
176@item block_job_cancel
177@findex block_job_cancel
Paolo Bonziniaeae8832012-10-18 16:49:21 +0200178Stop an active background block operation (streaming, mirroring).
179ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +0000180SRST
181``block_job_cancel``
182 Stop an active background block operation (streaming, mirroring).
183ERST
Paolo Bonziniaeae8832012-10-18 16:49:21 +0200184
185 {
186 .name = "block_job_complete",
187 .args_type = "device:B",
188 .params = "device",
189 .help = "stop an active background block operation",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +0400190 .cmd = hmp_block_job_complete,
Paolo Bonziniaeae8832012-10-18 16:49:21 +0200191 },
192
193STEXI
194@item block_job_complete
195@findex block_job_complete
196Manually trigger completion of an active background block operation.
197For mirroring, this will switch the device to the destination path.
Stefan Hajnoczi370521a2012-01-18 14:40:48 +0000198ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +0000199SRST
200``block_job_complete``
201 Manually trigger completion of an active background block operation.
202 For mirroring, this will switch the device to the destination path.
203ERST
Stefan Hajnoczi370521a2012-01-18 14:40:48 +0000204
205 {
Paolo Bonzini6e37fb82012-09-28 17:22:51 +0200206 .name = "block_job_pause",
207 .args_type = "device:B",
208 .params = "device",
209 .help = "pause an active background block operation",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +0400210 .cmd = hmp_block_job_pause,
Paolo Bonzini6e37fb82012-09-28 17:22:51 +0200211 },
212
213STEXI
214@item block_job_pause
215@findex block_job_pause
216Pause an active block streaming operation.
217ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +0000218SRST
219``block_job_pause``
220 Pause an active block streaming operation.
221ERST
Paolo Bonzini6e37fb82012-09-28 17:22:51 +0200222
223 {
224 .name = "block_job_resume",
225 .args_type = "device:B",
226 .params = "device",
227 .help = "resume a paused background block operation",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +0400228 .cmd = hmp_block_job_resume,
Paolo Bonzini6e37fb82012-09-28 17:22:51 +0200229 },
230
231STEXI
232@item block_job_resume
233@findex block_job_resume
234Resume a paused block streaming operation.
235ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +0000236SRST
237``block_job_resume``
238 Resume a paused block streaming operation.
239ERST
Paolo Bonzini6e37fb82012-09-28 17:22:51 +0200240
241 {
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300242 .name = "eject",
Luiz Capitulino78d714e2009-12-14 18:53:21 -0200243 .args_type = "force:-f,device:B",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300244 .params = "[-f] device",
245 .help = "eject a removable medium (use -f to force it)",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +0400246 .cmd = hmp_eject,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300247 },
248
Blue Swirl23130862009-06-06 08:22:04 +0000249STEXI
250@item eject [-f] @var{device}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100251@findex eject
Blue Swirl23130862009-06-06 08:22:04 +0000252Eject a removable medium (use -f to force it).
253ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +0000254SRST
255``eject [-f]`` *device*
256 Eject a removable medium (use -f to force it).
257ERST
Blue Swirl23130862009-06-06 08:22:04 +0000258
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300259 {
Ryan Harper9063f812010-11-12 11:07:13 -0600260 .name = "drive_del",
Hani Benhabilesf7bdc412014-04-13 16:25:05 +0100261 .args_type = "id:B",
Ryan Harper9063f812010-11-12 11:07:13 -0600262 .params = "device",
263 .help = "remove host block device",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +0400264 .cmd = hmp_drive_del,
Ryan Harper9063f812010-11-12 11:07:13 -0600265 },
266
267STEXI
268@item drive_del @var{device}
269@findex drive_del
270Remove host block device. The result is that guest generated IO is no longer
271submitted against the host device underlying the disk. Once a drive has
272been deleted, the QEMU Block layer returns -EIO which results in IO
273errors in the guest for applications that are reading/writing to the device.
Stefan Hajnoczi293c51a2013-06-05 10:33:14 +0200274These errors are always reported to the guest, regardless of the drive's error
275actions (drive options rerror, werror).
Ryan Harper9063f812010-11-12 11:07:13 -0600276ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +0000277SRST
278``drive_del`` *device*
279 Remove host block device. The result is that guest generated IO is no longer
280 submitted against the host device underlying the disk. Once a drive has
281 been deleted, the QEMU Block layer returns -EIO which results in IO
282 errors in the guest for applications that are reading/writing to the device.
283 These errors are always reported to the guest, regardless of the drive's error
284 actions (drive options rerror, werror).
285ERST
Ryan Harper9063f812010-11-12 11:07:13 -0600286
287 {
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300288 .name = "change",
Max Reitzbaead0a2015-10-26 21:39:18 +0100289 .args_type = "device:B,target:F,arg:s?,read-only-mode:s?",
290 .params = "device filename [format [read-only-mode]]",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300291 .help = "change a removable medium, optional format",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +0400292 .cmd = hmp_change,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300293 },
294
Blue Swirl23130862009-06-06 08:22:04 +0000295STEXI
296@item change @var{device} @var{setting}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100297@findex change
Blue Swirl23130862009-06-06 08:22:04 +0000298Change the configuration of a device.
299
300@table @option
Max Reitzbaead0a2015-10-26 21:39:18 +0100301@item change @var{diskdevice} @var{filename} [@var{format} [@var{read-only-mode}]]
Blue Swirl23130862009-06-06 08:22:04 +0000302Change the medium for a removable disk device to point to @var{filename}. eg
303
304@example
305(qemu) change ide1-cd0 /path/to/some.iso
306@end example
307
308@var{format} is optional.
309
Max Reitzbaead0a2015-10-26 21:39:18 +0100310@var{read-only-mode} may be used to change the read-only status of the device.
311It accepts the following values:
312
313@table @var
314@item retain
315Retains the current status; this is the default.
316
317@item read-only
318Makes the device read-only.
319
320@item read-write
321Makes the device writable.
322@end table
323
Blue Swirl23130862009-06-06 08:22:04 +0000324@item change vnc @var{display},@var{options}
325Change the configuration of the VNC server. The valid syntax for @var{display}
326and @var{options} are described at @ref{sec_invocation}. eg
327
328@example
329(qemu) change vnc localhost:1
330@end example
331
332@item change vnc password [@var{password}]
333
334Change the password associated with the VNC server. If the new password is not
335supplied, the monitor will prompt for it to be entered. VNC passwords are only
336significant up to 8 letters. eg
337
338@example
339(qemu) change vnc password
340Password: ********
341@end example
342
343@end table
344ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +0000345SRST
346``change`` *device* *setting*
347 Change the configuration of a device.
348
349 ``change`` *diskdevice* *filename* [*format* [*read-only-mode*]]
350 Change the medium for a removable disk device to point to *filename*. eg::
351
352 (qemu) change ide1-cd0 /path/to/some.iso
353
354 *format* is optional.
355
356 *read-only-mode* may be used to change the read-only status of the device.
357 It accepts the following values:
358
359 retain
360 Retains the current status; this is the default.
361
362 read-only
363 Makes the device read-only.
364
365 read-write
366 Makes the device writable.
367
368 ``change vnc`` *display*,\ *options*
369 Change the configuration of the VNC server. The valid syntax for *display*
370 and *options* are described at :ref:`sec_005finvocation`. eg::
371
372 (qemu) change vnc localhost:1
373
374 ``change vnc password`` [*password*]
375
376 Change the password associated with the VNC server. If the new password
377 is not supplied, the monitor will prompt for it to be entered. VNC
378 passwords are only significant up to 8 letters. eg::
379
380 (qemu) change vnc password
381 Password: ********
382
383ERST
Blue Swirl23130862009-06-06 08:22:04 +0000384
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300385 {
386 .name = "screendump",
Thomas Huthf771c542018-03-05 17:37:48 +0100387 .args_type = "filename:F,device:s?,head:i?",
388 .params = "filename [device [head]]",
389 .help = "save screen from head 'head' of display device 'device' "
390 "into PPM image 'filename'",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +0400391 .cmd = hmp_screendump,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300392 },
393
Blue Swirl23130862009-06-06 08:22:04 +0000394STEXI
395@item screendump @var{filename}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100396@findex screendump
Blue Swirl23130862009-06-06 08:22:04 +0000397Save screen into PPM image @var{filename}.
398ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +0000399SRST
400``screendump`` *filename*
401 Save screen into PPM image *filename*.
402ERST
Blue Swirl23130862009-06-06 08:22:04 +0000403
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300404 {
405 .name = "logfile",
406 .args_type = "filename:F",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300407 .params = "filename",
408 .help = "output logs to 'filename'",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +0400409 .cmd = hmp_logfile,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300410 },
411
Blue Swirl23130862009-06-06 08:22:04 +0000412STEXI
413@item logfile @var{filename}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100414@findex logfile
Blue Swirl23130862009-06-06 08:22:04 +0000415Output logs to @var{filename}.
416ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +0000417SRST
418``logfile`` *filename*
419 Output logs to *filename*.
420ERST
Blue Swirl23130862009-06-06 08:22:04 +0000421
Prerna Saxena22890ab2010-06-24 17:04:53 +0530422 {
423 .name = "trace-event",
Lluís Vilanova77e2b172016-07-11 12:53:57 +0200424 .args_type = "name:s,option:b,vcpu:i?",
425 .params = "name on|off [vcpu]",
426 .help = "changes status of a specific trace event "
427 "(vcpu: vCPU to set, default is all)",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +0400428 .cmd = hmp_trace_event,
Dr. David Alan Gilbert987bd272015-08-14 11:27:43 +0100429 .command_completion = trace_event_completion,
Prerna Saxena22890ab2010-06-24 17:04:53 +0530430 },
431
432STEXI
433@item trace-event
434@findex trace-event
435changes status of a trace event
436ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +0000437SRST
438``trace-event``
439 changes status of a trace event
440ERST
Stefan Hajnoczic5ceb522010-07-13 09:26:33 +0100441
Michael Rothc45a8162011-10-02 08:44:37 -0500442#if defined(CONFIG_TRACE_SIMPLE)
Stefan Hajnoczic5ceb522010-07-13 09:26:33 +0100443 {
444 .name = "trace-file",
445 .args_type = "op:s?,arg:F?",
446 .params = "on|off|flush|set [arg]",
447 .help = "open, close, or flush trace file, or set a new file name",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +0400448 .cmd = hmp_trace_file,
Stefan Hajnoczic5ceb522010-07-13 09:26:33 +0100449 },
450
451STEXI
452@item trace-file on|off|flush
453@findex trace-file
454Open, close, or flush the trace file. If no argument is given, the status of the trace file is displayed.
455ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +0000456SRST
457``trace-file on|off|flush``
458 Open, close, or flush the trace file. If no argument is given, the
459 status of the trace file is displayed.
460ERST
Prerna Saxena22890ab2010-06-24 17:04:53 +0530461#endif
462
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300463 {
464 .name = "log",
465 .args_type = "items:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300466 .params = "item1[,...]",
Peter Maydell989b6972013-02-26 17:52:40 +0000467 .help = "activate logging of the specified items",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +0400468 .cmd = hmp_log,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300469 },
470
Blue Swirl23130862009-06-06 08:22:04 +0000471STEXI
472@item log @var{item1}[,...]
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100473@findex log
Peter Maydell989b6972013-02-26 17:52:40 +0000474Activate logging of the specified items.
Blue Swirl23130862009-06-06 08:22:04 +0000475ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +0000476SRST
477``log`` *item1*\ [,...]
478 Activate logging of the specified items.
479ERST
Blue Swirl23130862009-06-06 08:22:04 +0000480
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300481 {
482 .name = "savevm",
483 .args_type = "name:s?",
Daniel Henrique Barboza6ca08042018-11-07 11:09:58 -0200484 .params = "tag",
485 .help = "save a VM snapshot. If no tag is provided, a new snapshot is created",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +0400486 .cmd = hmp_savevm,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300487 },
488
Blue Swirl23130862009-06-06 08:22:04 +0000489STEXI
Daniel Henrique Barboza6ca08042018-11-07 11:09:58 -0200490@item savevm @var{tag}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100491@findex savevm
Blue Swirl23130862009-06-06 08:22:04 +0000492Create a snapshot of the whole virtual machine. If @var{tag} is
493provided, it is used as human readable identifier. If there is already
Daniel Henrique Barboza6ca08042018-11-07 11:09:58 -0200494a snapshot with the same tag, it is replaced. More info at
Blue Swirl23130862009-06-06 08:22:04 +0000495@ref{vm_snapshots}.
Daniel Henrique Barboza6ca08042018-11-07 11:09:58 -0200496
497Since 4.0, savevm stopped allowing the snapshot id to be set, accepting
498only @var{tag} as parameter.
Blue Swirl23130862009-06-06 08:22:04 +0000499ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +0000500SRST
501``savevm`` *tag*
502 Create a snapshot of the whole virtual machine. If *tag* is
503 provided, it is used as human readable identifier. If there is already
504 a snapshot with the same tag, it is replaced. More info at
505 :ref:`vm_005fsnapshots`.
506
507 Since 4.0, savevm stopped allowing the snapshot id to be set, accepting
508 only *tag* as parameter.
509ERST
Blue Swirl23130862009-06-06 08:22:04 +0000510
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300511 {
512 .name = "loadvm",
513 .args_type = "name:s",
Daniel Henrique Barboza6ca08042018-11-07 11:09:58 -0200514 .params = "tag",
515 .help = "restore a VM snapshot from its tag",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +0400516 .cmd = hmp_loadvm,
Hani Benhabilesb21631f2014-05-27 23:39:37 +0100517 .command_completion = loadvm_completion,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300518 },
519
Blue Swirl23130862009-06-06 08:22:04 +0000520STEXI
Daniel Henrique Barboza6ca08042018-11-07 11:09:58 -0200521@item loadvm @var{tag}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100522@findex loadvm
Blue Swirl23130862009-06-06 08:22:04 +0000523Set the whole virtual machine to the snapshot identified by the tag
Daniel Henrique Barboza6ca08042018-11-07 11:09:58 -0200524@var{tag}.
525
526Since 4.0, loadvm stopped accepting snapshot id as parameter.
Blue Swirl23130862009-06-06 08:22:04 +0000527ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +0000528SRST
529``loadvm`` *tag*
530 Set the whole virtual machine to the snapshot identified by the tag
531 *tag*.
532
533 Since 4.0, loadvm stopped accepting snapshot id as parameter.
534ERST
Blue Swirl23130862009-06-06 08:22:04 +0000535
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300536 {
537 .name = "delvm",
538 .args_type = "name:s",
Daniel Henrique Barboza6ca08042018-11-07 11:09:58 -0200539 .params = "tag",
540 .help = "delete a VM snapshot from its tag",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +0400541 .cmd = hmp_delvm,
Hani Benhabilesb21631f2014-05-27 23:39:37 +0100542 .command_completion = delvm_completion,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300543 },
544
Blue Swirl23130862009-06-06 08:22:04 +0000545STEXI
Daniel Henrique Barboza6ca08042018-11-07 11:09:58 -0200546@item delvm @var{tag}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100547@findex delvm
Daniel Henrique Barboza6ca08042018-11-07 11:09:58 -0200548Delete the snapshot identified by @var{tag}.
549
550Since 4.0, delvm stopped deleting snapshots by snapshot id, accepting
551only @var{tag} as parameter.
Blue Swirl23130862009-06-06 08:22:04 +0000552ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +0000553SRST
554``delvm`` *tag*
555 Delete the snapshot identified by *tag*.
556
557 Since 4.0, delvm stopped deleting snapshots by snapshot id, accepting
558 only *tag* as parameter.
559ERST
Blue Swirl23130862009-06-06 08:22:04 +0000560
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300561 {
562 .name = "singlestep",
563 .args_type = "option:s?",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300564 .params = "[on|off]",
565 .help = "run emulation in singlestep mode or switch to normal mode",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +0400566 .cmd = hmp_singlestep,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300567 },
568
Blue Swirl23130862009-06-06 08:22:04 +0000569STEXI
570@item singlestep [off]
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100571@findex singlestep
Blue Swirl23130862009-06-06 08:22:04 +0000572Run the emulation in single step mode.
573If called with option off, the emulation returns to normal mode.
574ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +0000575SRST
576``singlestep [off]``
577 Run the emulation in single step mode.
578 If called with option off, the emulation returns to normal mode.
579ERST
Blue Swirl23130862009-06-06 08:22:04 +0000580
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300581 {
582 .name = "stop",
583 .args_type = "",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300584 .params = "",
585 .help = "stop emulation",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +0400586 .cmd = hmp_stop,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300587 },
588
Blue Swirl23130862009-06-06 08:22:04 +0000589STEXI
590@item stop
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100591@findex stop
Blue Swirl23130862009-06-06 08:22:04 +0000592Stop emulation.
593ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +0000594SRST
595``stop``
596 Stop emulation.
597ERST
Blue Swirl23130862009-06-06 08:22:04 +0000598
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300599 {
600 .name = "c|cont",
601 .args_type = "",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300602 .params = "",
603 .help = "resume emulation",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +0400604 .cmd = hmp_cont,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300605 },
606
Blue Swirl23130862009-06-06 08:22:04 +0000607STEXI
608@item c or cont
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100609@findex cont
Blue Swirl23130862009-06-06 08:22:04 +0000610Resume emulation.
611ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +0000612SRST
613``c`` or ``cont``
614 Resume emulation.
615ERST
Blue Swirl23130862009-06-06 08:22:04 +0000616
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300617 {
Gerd Hoffmann9b9df252012-02-23 13:45:21 +0100618 .name = "system_wakeup",
619 .args_type = "",
620 .params = "",
621 .help = "wakeup guest from suspend",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +0400622 .cmd = hmp_system_wakeup,
Gerd Hoffmann9b9df252012-02-23 13:45:21 +0100623 },
624
625STEXI
626@item system_wakeup
627@findex system_wakeup
628Wakeup guest from suspend.
629ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +0000630SRST
631``system_wakeup``
632 Wakeup guest from suspend.
633ERST
Gerd Hoffmann9b9df252012-02-23 13:45:21 +0100634
635 {
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300636 .name = "gdbserver",
637 .args_type = "device:s?",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300638 .params = "[device]",
639 .help = "start gdbserver on given device (default 'tcp::1234'), stop with 'none'",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +0400640 .cmd = hmp_gdbserver,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300641 },
642
Blue Swirl23130862009-06-06 08:22:04 +0000643STEXI
644@item gdbserver [@var{port}]
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100645@findex gdbserver
Blue Swirl23130862009-06-06 08:22:04 +0000646Start gdbserver session (default @var{port}=1234)
647ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +0000648SRST
649``gdbserver`` [*port*]
650 Start gdbserver session (default *port*\=1234)
651ERST
Blue Swirl23130862009-06-06 08:22:04 +0000652
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300653 {
654 .name = "x",
655 .args_type = "fmt:/,addr:l",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300656 .params = "/fmt addr",
657 .help = "virtual memory dump starting at 'addr'",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +0400658 .cmd = hmp_memory_dump,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300659 },
660
Blue Swirl23130862009-06-06 08:22:04 +0000661STEXI
662@item x/fmt @var{addr}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100663@findex x
Blue Swirl23130862009-06-06 08:22:04 +0000664Virtual memory dump starting at @var{addr}.
665ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +0000666SRST
667``x/``\ *fmt* *addr*
668 Virtual memory dump starting at *addr*.
669ERST
Blue Swirl23130862009-06-06 08:22:04 +0000670
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300671 {
672 .name = "xp",
673 .args_type = "fmt:/,addr:l",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300674 .params = "/fmt addr",
675 .help = "physical memory dump starting at 'addr'",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +0400676 .cmd = hmp_physical_memory_dump,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300677 },
678
Blue Swirl23130862009-06-06 08:22:04 +0000679STEXI
680@item xp /@var{fmt} @var{addr}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100681@findex xp
Blue Swirl23130862009-06-06 08:22:04 +0000682Physical memory dump starting at @var{addr}.
683
684@var{fmt} is a format which tells the command how to format the
685data. Its syntax is: @option{/@{count@}@{format@}@{size@}}
686
687@table @var
688@item count
689is the number of items to be dumped.
690
691@item format
692can be x (hex), d (signed decimal), u (unsigned decimal), o (octal),
693c (char) or i (asm instruction).
694
695@item size
696can be b (8 bits), h (16 bits), w (32 bits) or g (64 bits). On x86,
697@code{h} or @code{w} can be specified with the @code{i} format to
698respectively select 16 or 32 bit code instruction size.
699
700@end table
701
702Examples:
703@itemize
704@item
705Dump 10 instructions at the current instruction pointer:
706@example
707(qemu) x/10i $eip
7080x90107063: ret
7090x90107064: sti
7100x90107065: lea 0x0(%esi,1),%esi
7110x90107069: lea 0x0(%edi,1),%edi
7120x90107070: ret
7130x90107071: jmp 0x90107080
7140x90107073: nop
7150x90107074: nop
7160x90107075: nop
7170x90107076: nop
718@end example
719
720@item
721Dump 80 16 bit values at the start of the video memory.
722@smallexample
723(qemu) xp/80hx 0xb8000
7240x000b8000: 0x0b50 0x0b6c 0x0b65 0x0b78 0x0b38 0x0b36 0x0b2f 0x0b42
7250x000b8010: 0x0b6f 0x0b63 0x0b68 0x0b73 0x0b20 0x0b56 0x0b47 0x0b41
7260x000b8020: 0x0b42 0x0b69 0x0b6f 0x0b73 0x0b20 0x0b63 0x0b75 0x0b72
7270x000b8030: 0x0b72 0x0b65 0x0b6e 0x0b74 0x0b2d 0x0b63 0x0b76 0x0b73
7280x000b8040: 0x0b20 0x0b30 0x0b35 0x0b20 0x0b4e 0x0b6f 0x0b76 0x0b20
7290x000b8050: 0x0b32 0x0b30 0x0b30 0x0b33 0x0720 0x0720 0x0720 0x0720
7300x000b8060: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
7310x000b8070: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
7320x000b8080: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
7330x000b8090: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
734@end smallexample
735@end itemize
736ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +0000737SRST
738``xp /``\ *fmt* *addr*
739 Physical memory dump starting at *addr*.
740
741 *fmt* is a format which tells the command how to format the
742 data. Its syntax is: ``/{count}{format}{size}``
743
744 *count*
745 is the number of items to be dumped.
746 *format*
747 can be x (hex), d (signed decimal), u (unsigned decimal), o (octal),
748 c (char) or i (asm instruction).
749 *size*
750 can be b (8 bits), h (16 bits), w (32 bits) or g (64 bits). On x86,
751 ``h`` or ``w`` can be specified with the ``i`` format to
752 respectively select 16 or 32 bit code instruction size.
753
754 Examples:
755
756 Dump 10 instructions at the current instruction pointer::
757
758 (qemu) x/10i $eip
759 0x90107063: ret
760 0x90107064: sti
761 0x90107065: lea 0x0(%esi,1),%esi
762 0x90107069: lea 0x0(%edi,1),%edi
763 0x90107070: ret
764 0x90107071: jmp 0x90107080
765 0x90107073: nop
766 0x90107074: nop
767 0x90107075: nop
768 0x90107076: nop
769
770 Dump 80 16 bit values at the start of the video memory::
771
772 (qemu) xp/80hx 0xb8000
773 0x000b8000: 0x0b50 0x0b6c 0x0b65 0x0b78 0x0b38 0x0b36 0x0b2f 0x0b42
774 0x000b8010: 0x0b6f 0x0b63 0x0b68 0x0b73 0x0b20 0x0b56 0x0b47 0x0b41
775 0x000b8020: 0x0b42 0x0b69 0x0b6f 0x0b73 0x0b20 0x0b63 0x0b75 0x0b72
776 0x000b8030: 0x0b72 0x0b65 0x0b6e 0x0b74 0x0b2d 0x0b63 0x0b76 0x0b73
777 0x000b8040: 0x0b20 0x0b30 0x0b35 0x0b20 0x0b4e 0x0b6f 0x0b76 0x0b20
778 0x000b8050: 0x0b32 0x0b30 0x0b30 0x0b33 0x0720 0x0720 0x0720 0x0720
779 0x000b8060: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
780 0x000b8070: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
781 0x000b8080: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
782 0x000b8090: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
783
784ERST
Blue Swirl23130862009-06-06 08:22:04 +0000785
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300786 {
Paolo Bonzinie9628442017-04-20 15:30:58 +0200787 .name = "gpa2hva",
788 .args_type = "addr:l",
789 .params = "addr",
790 .help = "print the host virtual address corresponding to a guest physical address",
791 .cmd = hmp_gpa2hva,
792 },
793
794STEXI
795@item gpa2hva @var{addr}
796@findex gpa2hva
797Print the host virtual address at which the guest's physical address @var{addr}
798is mapped.
799ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +0000800SRST
801``gpa2hva`` *addr*
802 Print the host virtual address at which the guest's physical address *addr*
803 is mapped.
804ERST
Paolo Bonzinie9628442017-04-20 15:30:58 +0200805
806#ifdef CONFIG_LINUX
807 {
808 .name = "gpa2hpa",
809 .args_type = "addr:l",
810 .params = "addr",
811 .help = "print the host physical address corresponding to a guest physical address",
812 .cmd = hmp_gpa2hpa,
813 },
814#endif
815
816STEXI
817@item gpa2hpa @var{addr}
818@findex gpa2hpa
819Print the host physical address at which the guest's physical address @var{addr}
820is mapped.
821ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +0000822SRST
823``gpa2hpa`` *addr*
824 Print the host physical address at which the guest's physical address *addr*
825 is mapped.
826ERST
Paolo Bonzinie9628442017-04-20 15:30:58 +0200827
828 {
Dr. David Alan Gilbert574d9692019-04-12 16:26:52 +0100829 .name = "gva2gpa",
830 .args_type = "addr:l",
831 .params = "addr",
832 .help = "print the guest physical address corresponding to a guest virtual address",
833 .cmd = hmp_gva2gpa,
834 },
835
836STEXI
837@item gva2gpa @var{addr}
838@findex gva2gpa
839Print the guest physical address at which the guest's virtual address @var{addr}
840is mapped based on the mapping for the current CPU.
841ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +0000842SRST
843``gva2gpa`` *addr*
844 Print the guest physical address at which the guest's virtual address *addr*
845 is mapped based on the mapping for the current CPU.
846ERST
Dr. David Alan Gilbert574d9692019-04-12 16:26:52 +0100847
848 {
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300849 .name = "p|print",
850 .args_type = "fmt:/,val:l",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300851 .params = "/fmt expr",
852 .help = "print expression value (use $reg for CPU register access)",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +0400853 .cmd = do_print,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300854 },
855
Blue Swirl23130862009-06-06 08:22:04 +0000856STEXI
857@item p or print/@var{fmt} @var{expr}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100858@findex print
Blue Swirl23130862009-06-06 08:22:04 +0000859Print expression value. Only the @var{format} part of @var{fmt} is
860used.
861ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +0000862SRST
863``p`` or ``print/``\ *fmt* *expr*
864 Print expression value. Only the *format* part of *fmt* is
865 used.
866ERST
Blue Swirl23130862009-06-06 08:22:04 +0000867
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300868 {
869 .name = "i",
870 .args_type = "fmt:/,addr:i,index:i.",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300871 .params = "/fmt addr",
872 .help = "I/O port read",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +0400873 .cmd = hmp_ioport_read,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300874 },
875
Blue Swirl23130862009-06-06 08:22:04 +0000876STEXI
Markus Armbrusterb76d7992015-03-10 13:23:04 +0100877@item i/@var{fmt} @var{addr} [.@var{index}]
878@findex i
Blue Swirl23130862009-06-06 08:22:04 +0000879Read I/O port.
880ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +0000881SRST
882``i/``\ *fmt* *addr* [.\ *index*\ ]
883 Read I/O port.
884ERST
Blue Swirl23130862009-06-06 08:22:04 +0000885
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300886 {
887 .name = "o",
888 .args_type = "fmt:/,addr:i,val:i",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300889 .params = "/fmt addr value",
890 .help = "I/O port write",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +0400891 .cmd = hmp_ioport_write,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300892 },
893
Jan Kiszkaf1147842009-07-14 10:20:11 +0200894STEXI
Markus Armbrusterb76d7992015-03-10 13:23:04 +0100895@item o/@var{fmt} @var{addr} @var{val}
896@findex o
Jan Kiszkaf1147842009-07-14 10:20:11 +0200897Write to I/O port.
898ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +0000899SRST
900``o/``\ *fmt* *addr* *val*
901 Write to I/O port.
902ERST
Blue Swirl23130862009-06-06 08:22:04 +0000903
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300904 {
905 .name = "sendkey",
Amos Kong2ef20c12012-08-31 10:56:22 +0800906 .args_type = "keys:s,hold-time:i?",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300907 .params = "keys [hold_ms]",
908 .help = "send keys to the VM (e.g. 'sendkey ctrl-alt-f1', default hold time=100 ms)",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +0400909 .cmd = hmp_sendkey,
Hani Benhabiles29136cd2014-05-07 23:41:27 +0100910 .command_completion = sendkey_completion,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300911 },
912
Blue Swirl23130862009-06-06 08:22:04 +0000913STEXI
914@item sendkey @var{keys}
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100915@findex sendkey
Amos Kong886cc702012-08-31 10:56:20 +0800916Send @var{keys} to the guest. @var{keys} could be the name of the
917key or the raw value in hexadecimal format. Use @code{-} to press
918several keys simultaneously. Example:
Blue Swirl23130862009-06-06 08:22:04 +0000919@example
920sendkey ctrl-alt-f1
921@end example
922
923This command is useful to send keys that your graphical user interface
924intercepts at low level, such as @code{ctrl-alt-f1} in X Window.
925ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +0000926SRST
927``sendkey`` *keys*
928 Send *keys* to the guest. *keys* could be the name of the
929 key or the raw value in hexadecimal format. Use ``-`` to press
930 several keys simultaneously. Example::
931
932 sendkey ctrl-alt-f1
933
934 This command is useful to send keys that your graphical user interface
935 intercepts at low level, such as ``ctrl-alt-f1`` in X Window.
936ERST
Emilio G. Cotadd12e1b2018-08-15 16:00:03 -0400937 {
938 .name = "sync-profile",
939 .args_type = "op:s?",
940 .params = "[on|off|reset]",
941 .help = "enable, disable or reset synchronization profiling. "
942 "With no arguments, prints whether profiling is on or off.",
943 .cmd = hmp_sync_profile,
944 },
945
946STEXI
947@item sync-profile [on|off|reset]
948@findex sync-profile
949Enable, disable or reset synchronization profiling. With no arguments, prints
950whether profiling is on or off.
951ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +0000952SRST
953``sync-profile [on|off|reset]``
954 Enable, disable or reset synchronization profiling. With no arguments, prints
955 whether profiling is on or off.
956ERST
Blue Swirl23130862009-06-06 08:22:04 +0000957
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300958 {
959 .name = "system_reset",
960 .args_type = "",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300961 .params = "",
962 .help = "reset the system",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +0400963 .cmd = hmp_system_reset,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300964 },
965
Blue Swirl23130862009-06-06 08:22:04 +0000966STEXI
967@item system_reset
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100968@findex system_reset
Blue Swirl23130862009-06-06 08:22:04 +0000969Reset the system.
970ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +0000971SRST
972``system_reset``
973 Reset the system.
974ERST
Blue Swirl23130862009-06-06 08:22:04 +0000975
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300976 {
977 .name = "system_powerdown",
978 .args_type = "",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300979 .params = "",
980 .help = "send system power down event",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +0400981 .cmd = hmp_system_powerdown,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300982 },
983
Blue Swirl23130862009-06-06 08:22:04 +0000984STEXI
985@item system_powerdown
Stefan Weil70fcbbe2010-02-05 23:52:04 +0100986@findex system_powerdown
Blue Swirl23130862009-06-06 08:22:04 +0000987Power down the system (if supported).
988ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +0000989SRST
990``system_powerdown``
991 Power down the system (if supported).
992ERST
Blue Swirl23130862009-06-06 08:22:04 +0000993
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300994 {
995 .name = "sum",
996 .args_type = "start:i,size:i",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -0300997 .params = "addr size",
998 .help = "compute the checksum of a memory region",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +0400999 .cmd = hmp_sum,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001000 },
1001
Blue Swirl23130862009-06-06 08:22:04 +00001002STEXI
1003@item sum @var{addr} @var{size}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001004@findex sum
Blue Swirl23130862009-06-06 08:22:04 +00001005Compute the checksum of a memory region.
1006ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001007SRST
1008``sum`` *addr* *size*
1009 Compute the checksum of a memory region.
1010ERST
Blue Swirl23130862009-06-06 08:22:04 +00001011
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001012 {
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001013 .name = "device_add",
Markus Armbrusterc7e4e8c2010-02-10 20:47:28 +01001014 .args_type = "device:O",
1015 .params = "driver[,prop=value][,...]",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001016 .help = "add device, like -device on the command line",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001017 .cmd = hmp_device_add,
Hani Benhabiles2da1b3a2014-04-13 16:25:07 +01001018 .command_completion = device_add_completion,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001019 },
1020
Gerd Hoffmann3418bd22009-09-25 21:42:41 +02001021STEXI
1022@item device_add @var{config}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001023@findex device_add
Gerd Hoffmann3418bd22009-09-25 21:42:41 +02001024Add device.
1025ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001026SRST
1027``device_add`` *config*
1028 Add device.
1029ERST
Gerd Hoffmann3418bd22009-09-25 21:42:41 +02001030
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001031 {
1032 .name = "device_del",
1033 .args_type = "id:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001034 .params = "device",
1035 .help = "remove device",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001036 .cmd = hmp_device_del,
Hani Benhabiles2da1b3a2014-04-13 16:25:07 +01001037 .command_completion = device_del_completion,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001038 },
1039
Gerd Hoffmann3418bd22009-09-25 21:42:41 +02001040STEXI
1041@item device_del @var{id}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001042@findex device_del
Daniel P. Berrange6287d822015-09-11 13:33:56 +01001043Remove device @var{id}. @var{id} may be a short ID
1044or a QOM object path.
Gerd Hoffmann3418bd22009-09-25 21:42:41 +02001045ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001046SRST
1047``device_del`` *id*
1048 Remove device *id*. *id* may be a short ID
1049 or a QOM object path.
1050ERST
Gerd Hoffmann3418bd22009-09-25 21:42:41 +02001051
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001052 {
1053 .name = "cpu",
1054 .args_type = "index:i",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001055 .params = "index",
1056 .help = "set the default CPU",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001057 .cmd = hmp_cpu,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001058 },
Gerd Hoffmann3418bd22009-09-25 21:42:41 +02001059
Blue Swirl23130862009-06-06 08:22:04 +00001060STEXI
Markus Armbrusterc427ea92010-05-04 13:20:32 +02001061@item cpu @var{index}
1062@findex cpu
Blue Swirl23130862009-06-06 08:22:04 +00001063Set the default CPU.
1064ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001065SRST
1066``cpu`` *index*
1067 Set the default CPU.
1068ERST
Blue Swirl23130862009-06-06 08:22:04 +00001069
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001070 {
1071 .name = "mouse_move",
1072 .args_type = "dx_str:s,dy_str:s,dz_str:s?",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001073 .params = "dx dy [dz]",
1074 .help = "send mouse move events",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001075 .cmd = hmp_mouse_move,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001076 },
1077
Blue Swirl23130862009-06-06 08:22:04 +00001078STEXI
1079@item mouse_move @var{dx} @var{dy} [@var{dz}]
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001080@findex mouse_move
Blue Swirl23130862009-06-06 08:22:04 +00001081Move the active mouse to the specified coordinates @var{dx} @var{dy}
1082with optional scroll axis @var{dz}.
1083ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001084SRST
1085``mouse_move`` *dx* *dy* [*dz*]
1086 Move the active mouse to the specified coordinates *dx* *dy*
1087 with optional scroll axis *dz*.
1088ERST
Blue Swirl23130862009-06-06 08:22:04 +00001089
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001090 {
1091 .name = "mouse_button",
1092 .args_type = "button_state:i",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001093 .params = "state",
1094 .help = "change mouse button state (1=L, 2=M, 4=R)",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001095 .cmd = hmp_mouse_button,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001096 },
1097
Blue Swirl23130862009-06-06 08:22:04 +00001098STEXI
1099@item mouse_button @var{val}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001100@findex mouse_button
Blue Swirl23130862009-06-06 08:22:04 +00001101Change the active mouse button state @var{val} (1=L, 2=M, 4=R).
1102ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001103SRST
1104``mouse_button`` *val*
1105 Change the active mouse button state *val* (1=L, 2=M, 4=R).
1106ERST
Blue Swirl23130862009-06-06 08:22:04 +00001107
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001108 {
1109 .name = "mouse_set",
1110 .args_type = "index:i",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001111 .params = "index",
1112 .help = "set which mouse device receives events",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001113 .cmd = hmp_mouse_set,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001114 },
1115
Blue Swirl23130862009-06-06 08:22:04 +00001116STEXI
1117@item mouse_set @var{index}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001118@findex mouse_set
Blue Swirl23130862009-06-06 08:22:04 +00001119Set which mouse device receives events at given @var{index}, index
1120can be obtained with
1121@example
1122info mice
1123@end example
1124ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001125SRST
1126``mouse_set`` *index*
1127 Set which mouse device receives events at given *index*, index
1128 can be obtained with::
1129
1130 info mice
1131
1132ERST
Blue Swirl23130862009-06-06 08:22:04 +00001133
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001134 {
1135 .name = "wavcapture",
Kővágó, Zoltánf0b9f362019-08-19 01:06:48 +02001136 .args_type = "path:F,audiodev:s,freq:i?,bits:i?,nchannels:i?",
1137 .params = "path audiodev [frequency [bits [channels]]]",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001138 .help = "capture audio to a wave file (default frequency=44100 bits=16 channels=2)",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001139 .cmd = hmp_wavcapture,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001140 },
Blue Swirl23130862009-06-06 08:22:04 +00001141STEXI
Kővágó, Zoltánf0b9f362019-08-19 01:06:48 +02001142@item wavcapture @var{filename} @var{audiodev} [@var{frequency} [@var{bits} [@var{channels}]]]
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001143@findex wavcapture
Kővágó, Zoltánf0b9f362019-08-19 01:06:48 +02001144Capture audio into @var{filename} from @var{audiodev}, using sample rate
1145@var{frequency} bits per sample @var{bits} and number of channels
1146@var{channels}.
Blue Swirl23130862009-06-06 08:22:04 +00001147
1148Defaults:
1149@itemize @minus
1150@item Sample rate = 44100 Hz - CD quality
1151@item Bits = 16
1152@item Number of channels = 2 - Stereo
1153@end itemize
1154ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001155SRST
1156``wavcapture`` *filename* *audiodev* [*frequency* [*bits* [*channels*]]]
1157 Capture audio into *filename* from *audiodev*, using sample rate
1158 *frequency* bits per sample *bits* and number of channels
1159 *channels*.
1160
1161 Defaults:
1162
1163 - Sample rate = 44100 Hz - CD quality
1164 - Bits = 16
1165 - Number of channels = 2 - Stereo
1166ERST
Blue Swirl23130862009-06-06 08:22:04 +00001167
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001168 {
1169 .name = "stopcapture",
1170 .args_type = "n:i",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001171 .params = "capture index",
1172 .help = "stop capture",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001173 .cmd = hmp_stopcapture,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001174 },
Blue Swirl23130862009-06-06 08:22:04 +00001175STEXI
1176@item stopcapture @var{index}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001177@findex stopcapture
Blue Swirl23130862009-06-06 08:22:04 +00001178Stop capture with a given @var{index}, index can be obtained with
1179@example
1180info capture
1181@end example
1182ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001183SRST
1184``stopcapture`` *index*
1185 Stop capture with a given *index*, index can be obtained with::
1186
1187 info capture
1188
1189ERST
Blue Swirl23130862009-06-06 08:22:04 +00001190
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001191 {
1192 .name = "memsave",
1193 .args_type = "val:l,size:i,filename:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001194 .params = "addr size file",
1195 .help = "save to disk virtual memory dump starting at 'addr' of size 'size'",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001196 .cmd = hmp_memsave,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001197 },
1198
Blue Swirl23130862009-06-06 08:22:04 +00001199STEXI
1200@item memsave @var{addr} @var{size} @var{file}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001201@findex memsave
Blue Swirl23130862009-06-06 08:22:04 +00001202save to disk virtual memory dump starting at @var{addr} of size @var{size}.
1203ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001204SRST
1205``memsave`` *addr* *size* *file*
1206 save to disk virtual memory dump starting at *addr* of size *size*.
1207ERST
Blue Swirl23130862009-06-06 08:22:04 +00001208
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001209 {
1210 .name = "pmemsave",
1211 .args_type = "val:l,size:i,filename:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001212 .params = "addr size file",
1213 .help = "save to disk physical memory dump starting at 'addr' of size 'size'",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001214 .cmd = hmp_pmemsave,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001215 },
1216
Blue Swirl23130862009-06-06 08:22:04 +00001217STEXI
1218@item pmemsave @var{addr} @var{size} @var{file}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001219@findex pmemsave
Blue Swirl23130862009-06-06 08:22:04 +00001220save to disk physical memory dump starting at @var{addr} of size @var{size}.
1221ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001222SRST
1223``pmemsave`` *addr* *size* *file*
1224 save to disk physical memory dump starting at *addr* of size *size*.
1225ERST
Blue Swirl23130862009-06-06 08:22:04 +00001226
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001227 {
1228 .name = "boot_set",
1229 .args_type = "bootdevice:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001230 .params = "bootdevice",
1231 .help = "define new values for the boot device list",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001232 .cmd = hmp_boot_set,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001233 },
1234
Blue Swirl23130862009-06-06 08:22:04 +00001235STEXI
1236@item boot_set @var{bootdevicelist}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001237@findex boot_set
Blue Swirl23130862009-06-06 08:22:04 +00001238Define new values for the boot device list. Those values will override
1239the values specified on the command line through the @code{-boot} option.
1240
1241The values that can be specified here depend on the machine type, but are
1242the same that can be specified in the @code{-boot} command line option.
1243ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001244SRST
1245``boot_set`` *bootdevicelist*
1246 Define new values for the boot device list. Those values will override
1247 the values specified on the command line through the ``-boot`` option.
1248
1249 The values that can be specified here depend on the machine type, but are
1250 the same that can be specified in the ``-boot`` command line option.
1251ERST
Blue Swirl23130862009-06-06 08:22:04 +00001252
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001253 {
1254 .name = "nmi",
Luiz Capitulinoe9b4b432011-04-29 12:11:50 -03001255 .args_type = "",
1256 .params = "",
Alexey Kardashevskiy9cb805f2014-08-20 22:16:33 +10001257 .help = "inject an NMI",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001258 .cmd = hmp_nmi,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001259 },
Blue Swirl23130862009-06-06 08:22:04 +00001260STEXI
1261@item nmi @var{cpu}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001262@findex nmi
Alexey Kardashevskiy9cb805f2014-08-20 22:16:33 +10001263Inject an NMI on the default CPU (x86/s390) or all CPUs (ppc64).
Lei Li1f590cf2013-01-25 00:03:20 +08001264
1265ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001266SRST
1267``nmi`` *cpu*
1268 Inject an NMI on the default CPU (x86/s390) or all CPUs (ppc64).
1269ERST
Lei Li1f590cf2013-01-25 00:03:20 +08001270
1271 {
Markus Armbruster3949e592013-02-06 21:27:24 +01001272 .name = "ringbuf_write",
Lei Li1f590cf2013-01-25 00:03:20 +08001273 .args_type = "device:s,data:s",
1274 .params = "device data",
Markus Armbruster3949e592013-02-06 21:27:24 +01001275 .help = "Write to a ring buffer character device",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001276 .cmd = hmp_ringbuf_write,
Hani Benhabiles8e597772014-05-27 23:39:30 +01001277 .command_completion = ringbuf_write_completion,
Lei Li1f590cf2013-01-25 00:03:20 +08001278 },
1279
1280STEXI
Markus Armbruster3949e592013-02-06 21:27:24 +01001281@item ringbuf_write @var{device} @var{data}
1282@findex ringbuf_write
1283Write @var{data} to ring buffer character device @var{device}.
1284@var{data} must be a UTF-8 string.
Lei Li1f590cf2013-01-25 00:03:20 +08001285
Blue Swirl23130862009-06-06 08:22:04 +00001286ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001287SRST
1288``ringbuf_write`` *device* *data*
1289 Write *data* to ring buffer character device *device*.
1290 *data* must be a UTF-8 string.
1291ERST
Blue Swirl23130862009-06-06 08:22:04 +00001292
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001293 {
Markus Armbruster3949e592013-02-06 21:27:24 +01001294 .name = "ringbuf_read",
Lei Li49b6d722013-01-25 00:03:21 +08001295 .args_type = "device:s,size:i",
1296 .params = "device size",
Markus Armbruster3949e592013-02-06 21:27:24 +01001297 .help = "Read from a ring buffer character device",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001298 .cmd = hmp_ringbuf_read,
Hani Benhabiles8e597772014-05-27 23:39:30 +01001299 .command_completion = ringbuf_write_completion,
Lei Li49b6d722013-01-25 00:03:21 +08001300 },
1301
1302STEXI
Markus Armbruster3949e592013-02-06 21:27:24 +01001303@item ringbuf_read @var{device}
1304@findex ringbuf_read
1305Read and print up to @var{size} bytes from ring buffer character
1306device @var{device}.
Markus Armbruster543f3412013-02-06 21:27:26 +01001307Certain non-printable characters are printed \uXXXX, where XXXX is the
1308character code in hexadecimal. Character \ is printed \\.
Markus Armbruster3949e592013-02-06 21:27:24 +01001309Bug: can screw up when the buffer contains invalid UTF-8 sequences,
1310NUL characters, after the ring buffer lost data, and when reading
1311stops because the size limit is reached.
Lei Li49b6d722013-01-25 00:03:21 +08001312
1313ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001314SRST
1315``ringbuf_read`` *device*
1316 Read and print up to *size* bytes from ring buffer character
1317 device *device*.
1318 Certain non-printable characters are printed ``\uXXXX``, where ``XXXX`` is the
1319 character code in hexadecimal. Character ``\`` is printed ``\\``.
1320 Bug: can screw up when the buffer contains invalid UTF-8 sequences,
1321 NUL characters, after the ring buffer lost data, and when reading
1322 stops because the size limit is reached.
1323ERST
Lei Li49b6d722013-01-25 00:03:21 +08001324
1325 {
Dr. David Alan Gilbert544f6ea2019-02-27 13:24:12 +00001326 .name = "announce_self",
Dr. David Alan Gilbertc6644542019-06-20 19:47:05 +01001327 .args_type = "interfaces:s?,id:s?",
1328 .params = "[interfaces] [id]",
Dr. David Alan Gilbert544f6ea2019-02-27 13:24:12 +00001329 .help = "Trigger GARP/RARP announcements",
1330 .cmd = hmp_announce_self,
1331 },
1332
1333STEXI
1334@item announce_self
1335@findex announce_self
1336Trigger a round of GARP/RARP broadcasts; this is useful for explicitly updating the
1337network infrastructure after a reconfiguration or some forms of migration.
1338The timings of the round are set by the migration announce parameters.
Dr. David Alan Gilbert08528272019-06-20 19:47:03 +01001339An optional comma separated @var{interfaces} list restricts the announce to the
Dr. David Alan Gilbertc6644542019-06-20 19:47:05 +01001340named set of interfaces. An optional @var{id} can be used to start a separate announce
1341timer and to change the parameters of it later.
Dr. David Alan Gilbert544f6ea2019-02-27 13:24:12 +00001342ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001343SRST
1344``announce_self``
1345 Trigger a round of GARP/RARP broadcasts; this is useful for explicitly
1346 updating the network infrastructure after a reconfiguration or some forms
1347 of migration. The timings of the round are set by the migration announce
1348 parameters. An optional comma separated *interfaces* list restricts the
1349 announce to the named set of interfaces. An optional *id* can be used to
1350 start a separate announce timer and to change the parameters of it later.
1351ERST
Dr. David Alan Gilbert544f6ea2019-02-27 13:24:12 +00001352
1353 {
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001354 .name = "migrate",
Peter Xu7a4da282018-05-02 18:47:23 +08001355 .args_type = "detach:-d,blk:-b,inc:-i,resume:-r,uri:s",
1356 .params = "[-d] [-b] [-i] [-r] uri",
lirans@il.ibm.comfbc3d962009-11-02 15:41:13 +02001357 .help = "migrate to URI (using -d to not wait for completion)"
1358 "\n\t\t\t -b for migration without shared storage with"
1359 " full copy of disk\n\t\t\t -i for migration without "
1360 "shared storage with incremental copy of disk "
Peter Xu7a4da282018-05-02 18:47:23 +08001361 "(base image shared between src and destination)"
1362 "\n\t\t\t -r to resume a paused migration",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001363 .cmd = hmp_migrate,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001364 },
1365
lirans@il.ibm.comfbc3d962009-11-02 15:41:13 +02001366
Blue Swirl23130862009-06-06 08:22:04 +00001367STEXI
lirans@il.ibm.comfbc3d962009-11-02 15:41:13 +02001368@item migrate [-d] [-b] [-i] @var{uri}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001369@findex migrate
Blue Swirl23130862009-06-06 08:22:04 +00001370Migrate to @var{uri} (using -d to not wait for completion).
lirans@il.ibm.comfbc3d962009-11-02 15:41:13 +02001371 -b for migration with full copy of disk
1372 -i for migration with incremental copy of disk (base image is shared)
Blue Swirl23130862009-06-06 08:22:04 +00001373ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001374SRST
1375``migrate [-d] [-b] [-i]`` *uri*
1376 Migrate to *uri* (using -d to not wait for completion).
1377
1378 ``-b``
1379 for migration with full copy of disk
1380 ``-i``
1381 for migration with incremental copy of disk (base image is shared)
1382ERST
Blue Swirl23130862009-06-06 08:22:04 +00001383
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001384 {
1385 .name = "migrate_cancel",
1386 .args_type = "",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001387 .params = "",
1388 .help = "cancel the current VM migration",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001389 .cmd = hmp_migrate_cancel,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001390 },
1391
Blue Swirl23130862009-06-06 08:22:04 +00001392STEXI
1393@item migrate_cancel
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001394@findex migrate_cancel
Blue Swirl23130862009-06-06 08:22:04 +00001395Cancel the current VM migration.
Dr. David Alan Gilbert94ae12c2017-10-20 10:05:54 +01001396ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001397SRST
1398``migrate_cancel``
1399 Cancel the current VM migration.
1400ERST
Orit Wasserman9e1ba4c2012-08-06 21:42:54 +03001401
Dr. David Alan Gilbert94ae12c2017-10-20 10:05:54 +01001402 {
1403 .name = "migrate_continue",
1404 .args_type = "state:s",
1405 .params = "state",
1406 .help = "Continue migration from the given paused state",
1407 .cmd = hmp_migrate_continue,
1408 },
1409STEXI
1410@item migrate_continue @var{state}
1411@findex migrate_continue
1412Continue migration from the paused state @var{state}
Orit Wasserman9e1ba4c2012-08-06 21:42:54 +03001413ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001414SRST
1415``migrate_continue`` *state*
1416 Continue migration from the paused state *state*
1417ERST
Orit Wasserman9e1ba4c2012-08-06 21:42:54 +03001418
1419 {
Dr. David Alan Gilbertbf1ae1f2015-02-19 11:40:28 +00001420 .name = "migrate_incoming",
1421 .args_type = "uri:s",
1422 .params = "uri",
1423 .help = "Continue an incoming migration from an -incoming defer",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001424 .cmd = hmp_migrate_incoming,
Dr. David Alan Gilbertbf1ae1f2015-02-19 11:40:28 +00001425 },
1426
1427STEXI
1428@item migrate_incoming @var{uri}
1429@findex migrate_incoming
1430Continue an incoming migration using the @var{uri} (that has the same syntax
1431as the -incoming option).
Peter Xu3b563c42018-05-02 18:47:37 +08001432ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001433SRST
1434``migrate_incoming`` *uri*
1435 Continue an incoming migration using the *uri* (that has the same syntax
1436 as the ``-incoming`` option).
1437ERST
Dr. David Alan Gilbertbf1ae1f2015-02-19 11:40:28 +00001438
Peter Xu3b563c42018-05-02 18:47:37 +08001439 {
1440 .name = "migrate_recover",
1441 .args_type = "uri:s",
1442 .params = "uri",
1443 .help = "Continue a paused incoming postcopy migration",
1444 .cmd = hmp_migrate_recover,
1445 },
1446
1447STEXI
1448@item migrate_recover @var{uri}
1449@findex migrate_recover
1450Continue a paused incoming postcopy migration using the @var{uri}.
Dr. David Alan Gilbertbf1ae1f2015-02-19 11:40:28 +00001451ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001452SRST
1453``migrate_recover`` *uri*
1454 Continue a paused incoming postcopy migration using the *uri*.
1455ERST
Dr. David Alan Gilbertbf1ae1f2015-02-19 11:40:28 +00001456
1457 {
Peter Xud37297d2018-05-02 18:47:40 +08001458 .name = "migrate_pause",
1459 .args_type = "",
1460 .params = "",
1461 .help = "Pause an ongoing migration (postcopy-only)",
1462 .cmd = hmp_migrate_pause,
1463 },
1464
1465STEXI
1466@item migrate_pause
1467@findex migrate_pause
1468Pause an ongoing migration. Currently it only supports postcopy.
1469ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001470SRST
1471``migrate_pause``
1472 Pause an ongoing migration. Currently it only supports postcopy.
1473ERST
Peter Xud37297d2018-05-02 18:47:40 +08001474
1475 {
Orit Wasserman9e1ba4c2012-08-06 21:42:54 +03001476 .name = "migrate_set_cache_size",
1477 .args_type = "value:o",
1478 .params = "value",
1479 .help = "set cache size (in bytes) for XBZRLE migrations,"
1480 "the cache size will be rounded down to the nearest "
1481 "power of 2.\n"
1482 "The cache size affects the number of cache misses."
1483 "In case of a high cache miss ratio you need to increase"
1484 " the cache size",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001485 .cmd = hmp_migrate_set_cache_size,
Orit Wasserman9e1ba4c2012-08-06 21:42:54 +03001486 },
1487
1488STEXI
1489@item migrate_set_cache_size @var{value}
1490@findex migrate_set_cache_size
1491Set cache size to @var{value} (in bytes) for xbzrle migrations.
Blue Swirl23130862009-06-06 08:22:04 +00001492ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001493SRST
1494``migrate_set_cache_size`` *value*
1495 Set cache size to *value* (in bytes) for xbzrle migrations.
1496ERST
Blue Swirl23130862009-06-06 08:22:04 +00001497
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001498 {
1499 .name = "migrate_set_speed",
Jes Sorensened3d4a82010-10-21 17:15:48 +02001500 .args_type = "value:o",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001501 .params = "value",
Jes Sorensened3d4a82010-10-21 17:15:48 +02001502 .help = "set maximum speed (in bytes) for migrations. "
1503 "Defaults to MB if no size suffix is specified, ie. B/K/M/G/T",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001504 .cmd = hmp_migrate_set_speed,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001505 },
1506
Blue Swirl23130862009-06-06 08:22:04 +00001507STEXI
1508@item migrate_set_speed @var{value}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001509@findex migrate_set_speed
Blue Swirl23130862009-06-06 08:22:04 +00001510Set maximum speed to @var{value} (in bytes) for migrations.
1511ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001512SRST
1513``migrate_set_speed`` *value*
1514 Set maximum speed to *value* (in bytes) for migrations.
1515ERST
Blue Swirl23130862009-06-06 08:22:04 +00001516
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001517 {
1518 .name = "migrate_set_downtime",
Markus Armbrusterb0fbf7d2010-01-25 14:23:07 +01001519 .args_type = "value:T",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001520 .params = "value",
1521 .help = "set maximum tolerated downtime (in seconds) for migrations",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001522 .cmd = hmp_migrate_set_downtime,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001523 },
Glauber Costa2ea42952009-05-28 15:22:58 -04001524
1525STEXI
1526@item migrate_set_downtime @var{second}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001527@findex migrate_set_downtime
Glauber Costa2ea42952009-05-28 15:22:58 -04001528Set maximum tolerated downtime (in seconds) for migration.
1529ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001530SRST
1531``migrate_set_downtime`` *second*
1532 Set maximum tolerated downtime (in seconds) for migration.
1533ERST
Glauber Costa2ea42952009-05-28 15:22:58 -04001534
Jes Sorensenf8882562010-12-16 13:52:16 +01001535 {
Orit Wasserman00458432012-08-06 21:42:48 +03001536 .name = "migrate_set_capability",
1537 .args_type = "capability:s,state:b",
1538 .params = "capability state",
1539 .help = "Enable/Disable the usage of a capability for migration",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001540 .cmd = hmp_migrate_set_capability,
Hani Benhabilesc68a0402014-05-27 23:39:32 +01001541 .command_completion = migrate_set_capability_completion,
Orit Wasserman00458432012-08-06 21:42:48 +03001542 },
1543
1544STEXI
1545@item migrate_set_capability @var{capability} @var{state}
1546@findex migrate_set_capability
1547Enable/Disable the usage of a capability @var{capability} for migration.
1548ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001549SRST
1550``migrate_set_capability`` *capability* *state*
1551 Enable/Disable the usage of a capability *capability* for migration.
1552ERST
Orit Wasserman00458432012-08-06 21:42:48 +03001553
1554 {
Liang Li50e9a622015-03-23 16:32:29 +08001555 .name = "migrate_set_parameter",
Daniel P. Berrange69ef1f32016-04-27 11:05:15 +01001556 .args_type = "parameter:s,value:s",
Liang Li50e9a622015-03-23 16:32:29 +08001557 .params = "parameter value",
1558 .help = "Set the parameter for migration",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001559 .cmd = hmp_migrate_set_parameter,
Liang Li50e9a622015-03-23 16:32:29 +08001560 .command_completion = migrate_set_parameter_completion,
1561 },
1562
1563STEXI
1564@item migrate_set_parameter @var{parameter} @var{value}
1565@findex migrate_set_parameter
1566Set the parameter @var{parameter} for migration.
1567ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001568SRST
1569``migrate_set_parameter`` *parameter* *value*
1570 Set the parameter *parameter* for migration.
1571ERST
Liang Li50e9a622015-03-23 16:32:29 +08001572
1573 {
Dr. David Alan Gilbert4886a1b2015-11-05 18:10:56 +00001574 .name = "migrate_start_postcopy",
1575 .args_type = "",
1576 .params = "",
Dr. David Alan Gilberta54d3402015-11-12 11:34:44 +00001577 .help = "Followup to a migration command to switch the migration"
Dr. David Alan Gilbert32c3db52016-03-11 09:53:36 +00001578 " to postcopy mode. The postcopy-ram capability must "
Greg Kurzc2eb7f22018-02-07 16:41:43 +01001579 "be set on both source and destination before the "
1580 "original migration command .",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001581 .cmd = hmp_migrate_start_postcopy,
Dr. David Alan Gilbert4886a1b2015-11-05 18:10:56 +00001582 },
1583
1584STEXI
1585@item migrate_start_postcopy
1586@findex migrate_start_postcopy
1587Switch in-progress migration to postcopy mode. Ignored after the end of
1588migration (or once already in postcopy).
1589ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001590SRST
1591``migrate_start_postcopy``
1592 Switch in-progress migration to postcopy mode. Ignored after the end of
1593 migration (or once already in postcopy).
1594ERST
Dr. David Alan Gilbert4886a1b2015-11-05 18:10:56 +00001595
1596 {
zhanghailiangd89e6662016-10-27 14:43:03 +08001597 .name = "x_colo_lost_heartbeat",
1598 .args_type = "",
1599 .params = "",
1600 .help = "Tell COLO that heartbeat is lost,\n\t\t\t"
1601 "a failover or takeover is needed.",
1602 .cmd = hmp_x_colo_lost_heartbeat,
1603 },
1604
1605STEXI
1606@item x_colo_lost_heartbeat
1607@findex x_colo_lost_heartbeat
1608Tell COLO that heartbeat is lost, a failover or takeover is needed.
1609ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001610SRST
1611``x_colo_lost_heartbeat``
1612 Tell COLO that heartbeat is lost, a failover or takeover is needed.
1613ERST
zhanghailiangd89e6662016-10-27 14:43:03 +08001614
1615 {
Jes Sorensen2ea720d2011-03-09 16:54:34 +01001616 .name = "client_migrate_info",
1617 .args_type = "protocol:s,hostname:s,port:i?,tls-port:i?,cert-subject:s?",
1618 .params = "protocol hostname port tls-port cert-subject",
Markus Armbruster13cadef2015-03-05 19:16:58 +01001619 .help = "set migration information for remote display",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001620 .cmd = hmp_client_migrate_info,
Jes Sorensenf8882562010-12-16 13:52:16 +01001621 },
1622
1623STEXI
Gerd Hoffmanne866e232010-04-23 13:28:21 +02001624@item client_migrate_info @var{protocol} @var{hostname} @var{port} @var{tls-port} @var{cert-subject}
1625@findex client_migrate_info
Markus Armbruster13cadef2015-03-05 19:16:58 +01001626Set migration information for remote display. This makes the server
1627ask the client to automatically reconnect using the new parameters
1628once migration finished successfully. Only implemented for SPICE.
Gerd Hoffmanne866e232010-04-23 13:28:21 +02001629ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001630SRST
1631``client_migrate_info`` *protocol* *hostname* *port* *tls-port* *cert-subject*
1632 Set migration information for remote display. This makes the server
1633 ask the client to automatically reconnect using the new parameters
1634 once migration finished successfully. Only implemented for SPICE.
1635ERST
Gerd Hoffmanne866e232010-04-23 13:28:21 +02001636
Wen Congyang783e9b42012-05-07 12:10:47 +08001637 {
1638 .name = "dump-guest-memory",
Viktor Prutyanov2da91b52018-05-17 19:23:39 +03001639 .args_type = "paging:-p,detach:-d,windmp:-w,zlib:-z,lzo:-l,snappy:-s,filename:F,begin:l?,length:l?",
1640 .params = "[-p] [-d] [-z|-l|-s|-w] filename [begin length]",
Qiao Nuohanc20499d2014-04-17 16:15:06 +08001641 .help = "dump guest memory into file 'filename'.\n\t\t\t"
1642 "-p: do paging to get guest's memory mapping.\n\t\t\t"
Peter Xu228de9c2016-02-18 13:16:47 +08001643 "-d: return immediately (do not wait for completion).\n\t\t\t"
Qiao Nuohan1b7a0f72014-04-17 16:15:07 +08001644 "-z: dump in kdump-compressed format, with zlib compression.\n\t\t\t"
1645 "-l: dump in kdump-compressed format, with lzo compression.\n\t\t\t"
1646 "-s: dump in kdump-compressed format, with snappy compression.\n\t\t\t"
Viktor Prutyanov2da91b52018-05-17 19:23:39 +03001647 "-w: dump in Windows crashdump format (can be used instead of ELF-dump converting),\n\t\t\t"
1648 " for Windows x64 guests with vmcoreinfo driver only.\n\t\t\t"
Qiao Nuohanc20499d2014-04-17 16:15:06 +08001649 "begin: the starting physical address.\n\t\t\t"
1650 "length: the memory size, in bytes.",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001651 .cmd = hmp_dump_guest_memory,
Wen Congyang783e9b42012-05-07 12:10:47 +08001652 },
1653
Wen Congyang783e9b42012-05-07 12:10:47 +08001654STEXI
Qiao Nuohanc20499d2014-04-17 16:15:06 +08001655@item dump-guest-memory [-p] @var{filename} @var{begin} @var{length}
Viktor Prutyanov2da91b52018-05-17 19:23:39 +03001656@item dump-guest-memory [-z|-l|-s|-w] @var{filename}
Wen Congyang783e9b42012-05-07 12:10:47 +08001657@findex dump-guest-memory
1658Dump guest memory to @var{protocol}. The file can be processed with crash or
Viktor Prutyanov2da91b52018-05-17 19:23:39 +03001659gdb. Without -z|-l|-s|-w, the dump format is ELF.
Qiao Nuohanc20499d2014-04-17 16:15:06 +08001660 -p: do paging to get guest's memory mapping.
Qiao Nuohan1b7a0f72014-04-17 16:15:07 +08001661 -z: dump in kdump-compressed format, with zlib compression.
1662 -l: dump in kdump-compressed format, with lzo compression.
1663 -s: dump in kdump-compressed format, with snappy compression.
Viktor Prutyanov2da91b52018-05-17 19:23:39 +03001664 -w: dump in Windows crashdump format (can be used instead of ELF-dump converting),
1665 for Windows x64 guests with vmcoreinfo driver only
Qiao Nuohanc20499d2014-04-17 16:15:06 +08001666 filename: dump file name.
Wen Congyang783e9b42012-05-07 12:10:47 +08001667 begin: the starting physical address. It's optional, and should be
Qiao Nuohanc20499d2014-04-17 16:15:06 +08001668 specified together with length.
Wen Congyang783e9b42012-05-07 12:10:47 +08001669 length: the memory size, in bytes. It's optional, and should be specified
Qiao Nuohanc20499d2014-04-17 16:15:06 +08001670 together with begin.
Wen Congyang783e9b42012-05-07 12:10:47 +08001671ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001672SRST
1673``dump-guest-memory [-p]`` *filename* *begin* *length*
1674 \
1675``dump-guest-memory [-z|-l|-s|-w]`` *filename*
1676 Dump guest memory to *protocol*. The file can be processed with crash or
1677 gdb. Without ``-z|-l|-s|-w``, the dump format is ELF.
1678
1679 ``-p``
1680 do paging to get guest's memory mapping.
1681 ``-z``
1682 dump in kdump-compressed format, with zlib compression.
1683 ``-l``
1684 dump in kdump-compressed format, with lzo compression.
1685 ``-s``
1686 dump in kdump-compressed format, with snappy compression.
1687 ``-w``
1688 dump in Windows crashdump format (can be used instead of ELF-dump converting),
1689 for Windows x64 guests with vmcoreinfo driver only
1690 *filename*
1691 dump file name.
1692 *begin*
1693 the starting physical address. It's optional, and should be
1694 specified together with *length*.
1695 *length*
1696 the memory size, in bytes. It's optional, and should be specified
1697 together with *begin*.
1698
1699ERST
Wen Congyang783e9b42012-05-07 12:10:47 +08001700
Jason J. Hernea4538a52015-06-26 14:07:21 -04001701#if defined(TARGET_S390X)
1702 {
1703 .name = "dump-skeys",
1704 .args_type = "filename:F",
1705 .params = "",
1706 .help = "Save guest storage keys into file 'filename'.\n",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001707 .cmd = hmp_dump_skeys,
Jason J. Hernea4538a52015-06-26 14:07:21 -04001708 },
1709#endif
1710
1711STEXI
1712@item dump-skeys @var{filename}
1713@findex dump-skeys
1714Save guest storage keys to a file.
1715ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001716SRST
1717``dump-skeys`` *filename*
1718 Save guest storage keys to a file.
1719ERST
Jason J. Hernea4538a52015-06-26 14:07:21 -04001720
Claudio Imbrendaf860d492016-08-15 18:44:04 +02001721#if defined(TARGET_S390X)
1722 {
1723 .name = "migration_mode",
1724 .args_type = "mode:i",
1725 .params = "mode",
1726 .help = "Enables or disables migration mode\n",
1727 .cmd = hmp_migrationmode,
1728 },
1729#endif
1730
1731STEXI
1732@item migration_mode @var{mode}
1733@findex migration_mode
1734Enables or disables migration mode.
1735ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001736SRST
1737``migration_mode`` *mode*
1738 Enables or disables migration mode.
1739ERST
Claudio Imbrendaf860d492016-08-15 18:44:04 +02001740
Gerd Hoffmanne866e232010-04-23 13:28:21 +02001741 {
Jes Sorensen2ea720d2011-03-09 16:54:34 +01001742 .name = "snapshot_blkdev",
Paolo Bonzini6cc2a412012-03-06 18:55:59 +01001743 .args_type = "reuse:-n,device:B,snapshot-file:s?,format:s?",
1744 .params = "[-n] device [new-image-file] [format]",
Jes Sorensen2ea720d2011-03-09 16:54:34 +01001745 .help = "initiates a live snapshot\n\t\t\t"
1746 "of device. If a new image file is specified, the\n\t\t\t"
1747 "new image file will become the new root image.\n\t\t\t"
1748 "If format is specified, the snapshot file will\n\t\t\t"
Wenchao Xia775ca882013-09-11 14:04:37 +08001749 "be created in that format.\n\t\t\t"
Paolo Bonzini6cc2a412012-03-06 18:55:59 +01001750 "The default format is qcow2. The -n flag requests QEMU\n\t\t\t"
1751 "to reuse the image found in new-image-file, instead of\n\t\t\t"
1752 "recreating it from scratch.",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001753 .cmd = hmp_snapshot_blkdev,
Gerd Hoffmanne866e232010-04-23 13:28:21 +02001754 },
1755
1756STEXI
Jes Sorensenf8882562010-12-16 13:52:16 +01001757@item snapshot_blkdev
1758@findex snapshot_blkdev
1759Snapshot device, using snapshot file as target if provided
1760ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001761SRST
1762``snapshot_blkdev``
1763 Snapshot device, using snapshot file as target if provided
1764ERST
Jes Sorensenf8882562010-12-16 13:52:16 +01001765
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001766 {
Wenchao Xia775ca882013-09-11 14:04:37 +08001767 .name = "snapshot_blkdev_internal",
1768 .args_type = "device:B,name:s",
1769 .params = "device name",
1770 .help = "take an internal snapshot of device.\n\t\t\t"
1771 "The format of the image used by device must\n\t\t\t"
1772 "support it, such as qcow2.\n\t\t\t",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001773 .cmd = hmp_snapshot_blkdev_internal,
Wenchao Xia775ca882013-09-11 14:04:37 +08001774 },
1775
1776STEXI
1777@item snapshot_blkdev_internal
1778@findex snapshot_blkdev_internal
1779Take an internal snapshot on device if it support
1780ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001781SRST
1782``snapshot_blkdev_internal``
1783 Take an internal snapshot on device if it support
1784ERST
Wenchao Xia775ca882013-09-11 14:04:37 +08001785
1786 {
Wenchao Xia7a4ed2e2013-09-11 14:04:38 +08001787 .name = "snapshot_delete_blkdev_internal",
1788 .args_type = "device:B,name:s,id:s?",
1789 .params = "device name [id]",
1790 .help = "delete an internal snapshot of device.\n\t\t\t"
1791 "If id is specified, qemu will try delete\n\t\t\t"
1792 "the snapshot matching both id and name.\n\t\t\t"
1793 "The format of the image used by device must\n\t\t\t"
1794 "support it, such as qcow2.\n\t\t\t",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001795 .cmd = hmp_snapshot_delete_blkdev_internal,
Wenchao Xia7a4ed2e2013-09-11 14:04:38 +08001796 },
1797
1798STEXI
1799@item snapshot_delete_blkdev_internal
1800@findex snapshot_delete_blkdev_internal
1801Delete an internal snapshot on device if it support
1802ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001803SRST
1804``snapshot_delete_blkdev_internal``
1805 Delete an internal snapshot on device if it support
1806ERST
Wenchao Xia7a4ed2e2013-09-11 14:04:38 +08001807
1808 {
Paolo Bonzinid9b902d2012-10-18 16:49:24 +02001809 .name = "drive_mirror",
1810 .args_type = "reuse:-n,full:-f,device:B,target:s,format:s?",
1811 .params = "[-n] [-f] device target [format]",
1812 .help = "initiates live storage\n\t\t\t"
1813 "migration for a device. The device's contents are\n\t\t\t"
1814 "copied to the new image file, including data that\n\t\t\t"
1815 "is written after the command is started.\n\t\t\t"
1816 "The -n flag requests QEMU to reuse the image found\n\t\t\t"
1817 "in new-image-file, instead of recreating it from scratch.\n\t\t\t"
1818 "The -f flag requests QEMU to copy the whole disk,\n\t\t\t"
1819 "so that the result does not need a backing file.\n\t\t\t",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001820 .cmd = hmp_drive_mirror,
Paolo Bonzinid9b902d2012-10-18 16:49:24 +02001821 },
1822STEXI
1823@item drive_mirror
1824@findex drive_mirror
1825Start mirroring a block device's writes to a new destination,
1826using the specified target.
1827ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001828SRST
1829``drive_mirror``
1830 Start mirroring a block device's writes to a new destination,
1831 using the specified target.
1832ERST
Paolo Bonzinid9b902d2012-10-18 16:49:24 +02001833
1834 {
Stefan Hajnoczide909302013-06-26 14:11:58 +02001835 .name = "drive_backup",
Pavel Butsykin13b94142016-07-22 11:17:52 +03001836 .args_type = "reuse:-n,full:-f,compress:-c,device:B,target:s,format:s?",
1837 .params = "[-n] [-f] [-c] device target [format]",
Stefan Hajnoczide909302013-06-26 14:11:58 +02001838 .help = "initiates a point-in-time\n\t\t\t"
1839 "copy for a device. The device's contents are\n\t\t\t"
1840 "copied to the new image file, excluding data that\n\t\t\t"
1841 "is written after the command is started.\n\t\t\t"
1842 "The -n flag requests QEMU to reuse the image found\n\t\t\t"
1843 "in new-image-file, instead of recreating it from scratch.\n\t\t\t"
1844 "The -f flag requests QEMU to copy the whole disk,\n\t\t\t"
Pavel Butsykin13b94142016-07-22 11:17:52 +03001845 "so that the result does not need a backing file.\n\t\t\t"
1846 "The -c flag requests QEMU to compress backup data\n\t\t\t"
1847 "(if the target format supports it).\n\t\t\t",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001848 .cmd = hmp_drive_backup,
Stefan Hajnoczide909302013-06-26 14:11:58 +02001849 },
1850STEXI
1851@item drive_backup
1852@findex drive_backup
1853Start a point-in-time copy of a block device to a specificed target.
1854ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001855SRST
1856``drive_backup``
1857 Start a point-in-time copy of a block device to a specificed target.
1858ERST
Stefan Hajnoczide909302013-06-26 14:11:58 +02001859
1860 {
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001861 .name = "drive_add",
Kevin Wolfabb21ac2016-02-23 17:33:24 +01001862 .args_type = "node:-n,pci_addr:s,opts:s",
1863 .params = "[-n] [[<domain>:]<bus>:]<slot>\n"
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001864 "[file=file][,if=type][,bus=n]\n"
Stefan Hajnoczifb0490f2011-11-17 13:40:32 +00001865 "[,unit=m][,media=d][,index=i]\n"
Stefan Hajnoczifb0490f2011-11-17 13:40:32 +00001866 "[,snapshot=on|off][,cache=on|off]\n"
1867 "[,readonly=on|off][,copy-on-read=on|off]",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001868 .help = "add drive to PCI storage controller",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001869 .cmd = hmp_drive_add,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001870 },
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001871
Blue Swirl23130862009-06-06 08:22:04 +00001872STEXI
1873@item drive_add
Stefan Weil70fcbbe2010-02-05 23:52:04 +01001874@findex drive_add
Blue Swirl23130862009-06-06 08:22:04 +00001875Add drive to PCI storage controller.
1876ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001877SRST
1878``drive_add``
1879 Add drive to PCI storage controller.
1880ERST
Blue Swirl23130862009-06-06 08:22:04 +00001881
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001882 {
Isaku Yamahata2ae63bd2010-12-24 12:14:14 +09001883 .name = "pcie_aer_inject_error",
1884 .args_type = "advisory_non_fatal:-a,correctable:-c,"
1885 "id:s,error_status:s,"
1886 "header0:i?,header1:i?,header2:i?,header3:i?,"
1887 "prefix0:i?,prefix1:i?,prefix2:i?,prefix3:i?",
1888 .params = "[-a] [-c] id "
1889 "<error_status> [<tlp header> [<tlp header prefix>]]",
1890 .help = "inject pcie aer error\n\t\t\t"
1891 " -a for advisory non fatal error\n\t\t\t"
1892 " -c for correctable error\n\t\t\t"
1893 "<id> = qdev device id\n\t\t\t"
1894 "<error_status> = error string or 32bit\n\t\t\t"
1895 "<tlb header> = 32bit x 4\n\t\t\t"
1896 "<tlb header prefix> = 32bit x 4",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001897 .cmd = hmp_pcie_aer_inject_error,
Isaku Yamahata2ae63bd2010-12-24 12:14:14 +09001898 },
1899
1900STEXI
1901@item pcie_aer_inject_error
1902@findex pcie_aer_inject_error
1903Inject PCIe AER error
1904ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001905SRST
1906``pcie_aer_inject_error``
1907 Inject PCIe AER error
1908ERST
Isaku Yamahata2ae63bd2010-12-24 12:14:14 +09001909
1910 {
Markus Armbrusterae82d322010-03-25 17:22:40 +01001911 .name = "netdev_add",
1912 .args_type = "netdev:O",
Nikolay Nikolaev03ce5742014-06-10 13:02:16 +03001913 .params = "[user|tap|socket|vde|bridge|hubport|netmap|vhost-user],id=str[,prop=value][,...]",
Markus Armbrusterae82d322010-03-25 17:22:40 +01001914 .help = "add host network device",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001915 .cmd = hmp_netdev_add,
Hani Benhabilesb162b492014-05-07 23:41:31 +01001916 .command_completion = netdev_add_completion,
Markus Armbrusterae82d322010-03-25 17:22:40 +01001917 },
1918
1919STEXI
1920@item netdev_add
1921@findex netdev_add
1922Add host network device.
1923ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001924SRST
1925``netdev_add``
1926 Add host network device.
1927ERST
Markus Armbrusterae82d322010-03-25 17:22:40 +01001928
1929 {
1930 .name = "netdev_del",
1931 .args_type = "id:s",
1932 .params = "id",
1933 .help = "remove host network device",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001934 .cmd = hmp_netdev_del,
Hani Benhabiles11b389f2014-05-07 23:41:32 +01001935 .command_completion = netdev_del_completion,
Markus Armbrusterae82d322010-03-25 17:22:40 +01001936 },
1937
1938STEXI
1939@item netdev_del
1940@findex netdev_del
1941Remove host network device.
1942ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001943SRST
1944``netdev_del``
1945 Remove host network device.
1946ERST
Markus Armbrusterae82d322010-03-25 17:22:40 +01001947
Paolo Bonziniab2d0532013-12-20 23:21:09 +01001948 {
Paolo Bonzinicff8b2c2013-12-20 23:21:10 +01001949 .name = "object_add",
1950 .args_type = "object:O",
1951 .params = "[qom-type=]type,id=str[,prop=value][,...]",
1952 .help = "create QOM object",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001953 .cmd = hmp_object_add,
Hani Benhabilesbfa40f72014-04-13 16:25:06 +01001954 .command_completion = object_add_completion,
Paolo Bonzinicff8b2c2013-12-20 23:21:10 +01001955 },
1956
1957STEXI
1958@item object_add
1959@findex object_add
1960Create QOM object.
1961ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001962SRST
1963``object_add``
1964 Create QOM object.
1965ERST
Paolo Bonzinicff8b2c2013-12-20 23:21:10 +01001966
1967 {
Paolo Bonziniab2d0532013-12-20 23:21:09 +01001968 .name = "object_del",
1969 .args_type = "id:s",
1970 .params = "id",
1971 .help = "destroy QOM object",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001972 .cmd = hmp_object_del,
Hani Benhabilesbfa40f72014-04-13 16:25:06 +01001973 .command_completion = object_del_completion,
Paolo Bonziniab2d0532013-12-20 23:21:09 +01001974 },
1975
1976STEXI
1977@item object_del
1978@findex object_del
1979Destroy QOM object.
1980ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00001981SRST
1982``object_del``
1983 Destroy QOM object.
1984ERST
Paolo Bonziniab2d0532013-12-20 23:21:09 +01001985
Blue Swirl23130862009-06-06 08:22:04 +00001986#ifdef CONFIG_SLIRP
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001987 {
1988 .name = "hostfwd_add",
1989 .args_type = "arg1:s,arg2:s?,arg3:s?",
Thomas Huth93653062018-01-11 21:02:40 +01001990 .params = "[hub_id name]|[netdev_id] [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001991 .help = "redirect TCP or UDP connections from host to guest (requires -net user)",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04001992 .cmd = hmp_hostfwd_add,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03001993 },
Markus Armbruster21413d62010-05-04 13:20:30 +02001994#endif
1995STEXI
1996@item hostfwd_add
1997@findex hostfwd_add
1998Redirect TCP or UDP connections from host to guest (requires -net user).
1999ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00002000SRST
2001``hostfwd_add``
2002 Redirect TCP or UDP connections from host to guest (requires -net user).
2003ERST
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002004
Markus Armbruster21413d62010-05-04 13:20:30 +02002005#ifdef CONFIG_SLIRP
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002006 {
2007 .name = "hostfwd_remove",
2008 .args_type = "arg1:s,arg2:s?,arg3:s?",
Thomas Huth93653062018-01-11 21:02:40 +01002009 .params = "[hub_id name]|[netdev_id] [tcp|udp]:[hostaddr]:hostport",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002010 .help = "remove host-to-guest TCP or UDP redirection",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04002011 .cmd = hmp_hostfwd_remove,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002012 },
2013
Blue Swirl23130862009-06-06 08:22:04 +00002014#endif
2015STEXI
Markus Armbruster21413d62010-05-04 13:20:30 +02002016@item hostfwd_remove
2017@findex hostfwd_remove
2018Remove host-to-guest TCP or UDP redirection.
Blue Swirl23130862009-06-06 08:22:04 +00002019ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00002020SRST
2021``hostfwd_remove``
2022 Remove host-to-guest TCP or UDP redirection.
2023ERST
Blue Swirl23130862009-06-06 08:22:04 +00002024
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002025 {
2026 .name = "balloon",
Luiz Capitulino3b0bd6e2009-12-18 13:25:05 -02002027 .args_type = "value:M",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002028 .params = "target",
Riccardo Magliocchetti3c056132010-05-19 18:49:28 +02002029 .help = "request VM to change its memory allocation (in MB)",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04002030 .cmd = hmp_balloon,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002031 },
2032
Blue Swirl23130862009-06-06 08:22:04 +00002033STEXI
2034@item balloon @var{value}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01002035@findex balloon
Blue Swirl23130862009-06-06 08:22:04 +00002036Request VM to change its memory allocation to @var{value} (in MB).
2037ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00002038SRST
2039``balloon`` *value*
2040 Request VM to change its memory allocation to *value* (in MB).
2041ERST
Blue Swirl23130862009-06-06 08:22:04 +00002042
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002043 {
2044 .name = "set_link",
Markus Armbrusterc9b26a42010-03-26 09:07:10 +01002045 .args_type = "name:s,up:b",
2046 .params = "name on|off",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002047 .help = "change the link status of a network adapter",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04002048 .cmd = hmp_set_link,
Hani Benhabiles40d19392014-05-07 23:41:30 +01002049 .command_completion = set_link_completion,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002050 },
2051
Blue Swirl23130862009-06-06 08:22:04 +00002052STEXI
Markus Armbrusterc9b26a42010-03-26 09:07:10 +01002053@item set_link @var{name} [on|off]
Stefan Weil70fcbbe2010-02-05 23:52:04 +01002054@findex set_link
Markus Armbrusterc9b26a42010-03-26 09:07:10 +01002055Switch link @var{name} on (i.e. up) or off (i.e. down).
Blue Swirl23130862009-06-06 08:22:04 +00002056ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00002057SRST
2058``set_link`` *name* ``[on|off]``
2059 Switch link *name* on (i.e. up) or off (i.e. down).
2060ERST
Blue Swirl23130862009-06-06 08:22:04 +00002061
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002062 {
2063 .name = "watchdog_action",
2064 .args_type = "action:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002065 .params = "[reset|shutdown|poweroff|pause|debug|none]",
2066 .help = "change watchdog action",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04002067 .cmd = hmp_watchdog_action,
Hani Benhabilesd0ece342014-05-27 23:39:31 +01002068 .command_completion = watchdog_action_completion,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002069 },
2070
Blue Swirl23130862009-06-06 08:22:04 +00002071STEXI
2072@item watchdog_action
Stefan Weil70fcbbe2010-02-05 23:52:04 +01002073@findex watchdog_action
Blue Swirl23130862009-06-06 08:22:04 +00002074Change watchdog action.
2075ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00002076SRST
2077``watchdog_action``
2078 Change watchdog action.
2079ERST
Blue Swirl23130862009-06-06 08:22:04 +00002080
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002081 {
2082 .name = "acl_show",
2083 .args_type = "aclname:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002084 .params = "aclname",
2085 .help = "list rules in the access control list",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04002086 .cmd = hmp_acl_show,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002087 },
2088
Blue Swirl23130862009-06-06 08:22:04 +00002089STEXI
Jan Kiszka15dfcd42009-06-25 08:22:08 +02002090@item acl_show @var{aclname}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01002091@findex acl_show
Jan Kiszka15dfcd42009-06-25 08:22:08 +02002092List all the matching rules in the access control list, and the default
2093policy. There are currently two named access control lists,
2094@var{vnc.x509dname} and @var{vnc.username} matching on the x509 client
2095certificate distinguished name, and SASL username respectively.
2096ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00002097SRST
2098``acl_show`` *aclname*
2099 List all the matching rules in the access control list, and the default
2100 policy. There are currently two named access control lists,
2101 *vnc.x509dname* and *vnc.username* matching on the x509 client
2102 certificate distinguished name, and SASL username respectively.
2103ERST
Blue Swirl23130862009-06-06 08:22:04 +00002104
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002105 {
2106 .name = "acl_policy",
2107 .args_type = "aclname:s,policy:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002108 .params = "aclname allow|deny",
2109 .help = "set default access control list policy",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04002110 .cmd = hmp_acl_policy,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002111 },
2112
Jan Kiszka15dfcd42009-06-25 08:22:08 +02002113STEXI
Jan Kiszkacbbfacc2009-07-03 08:46:05 +02002114@item acl_policy @var{aclname} @code{allow|deny}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01002115@findex acl_policy
Jan Kiszka15dfcd42009-06-25 08:22:08 +02002116Set the default access control list policy, used in the event that
Blue Swirl23130862009-06-06 08:22:04 +00002117none of the explicit rules match. The default policy at startup is
Jan Kiszka15dfcd42009-06-25 08:22:08 +02002118always @code{deny}.
2119ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00002120SRST
2121``acl_policy`` *aclname* ``allow|deny``
2122 Set the default access control list policy, used in the event that
2123 none of the explicit rules match. The default policy at startup is
2124 always ``deny``.
2125ERST
Jan Kiszka15dfcd42009-06-25 08:22:08 +02002126
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002127 {
2128 .name = "acl_add",
2129 .args_type = "aclname:s,match:s,policy:s,index:i?",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002130 .params = "aclname match allow|deny [index]",
2131 .help = "add a match rule to the access control list",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04002132 .cmd = hmp_acl_add,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002133 },
2134
Jan Kiszka15dfcd42009-06-25 08:22:08 +02002135STEXI
Markus Armbruster0e4aec92010-05-04 13:20:31 +02002136@item acl_add @var{aclname} @var{match} @code{allow|deny} [@var{index}]
2137@findex acl_add
Jan Kiszka15dfcd42009-06-25 08:22:08 +02002138Add a match rule to the access control list, allowing or denying access.
2139The match will normally be an exact username or x509 distinguished name,
2140but can optionally include wildcard globs. eg @code{*@@EXAMPLE.COM} to
2141allow all users in the @code{EXAMPLE.COM} kerberos realm. The match will
Blue Swirl23130862009-06-06 08:22:04 +00002142normally be appended to the end of the ACL, but can be inserted
Jan Kiszka15dfcd42009-06-25 08:22:08 +02002143earlier in the list if the optional @var{index} parameter is supplied.
2144ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00002145SRST
2146``acl_add`` *aclname* *match* ``allow|deny`` [*index*]
2147 Add a match rule to the access control list, allowing or denying access.
2148 The match will normally be an exact username or x509 distinguished name,
2149 but can optionally include wildcard globs. eg ``*@EXAMPLE.COM`` to
2150 allow all users in the ``EXAMPLE.COM`` kerberos realm. The match will
2151 normally be appended to the end of the ACL, but can be inserted
2152 earlier in the list if the optional *index* parameter is supplied.
2153ERST
Jan Kiszka15dfcd42009-06-25 08:22:08 +02002154
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002155 {
2156 .name = "acl_remove",
2157 .args_type = "aclname:s,match:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002158 .params = "aclname match",
2159 .help = "remove a match rule from the access control list",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04002160 .cmd = hmp_acl_remove,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002161 },
2162
Jan Kiszka15dfcd42009-06-25 08:22:08 +02002163STEXI
2164@item acl_remove @var{aclname} @var{match}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01002165@findex acl_remove
Jan Kiszka15dfcd42009-06-25 08:22:08 +02002166Remove the specified match rule from the access control list.
2167ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00002168SRST
2169``acl_remove`` *aclname* *match*
2170 Remove the specified match rule from the access control list.
2171ERST
Jan Kiszka15dfcd42009-06-25 08:22:08 +02002172
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002173 {
2174 .name = "acl_reset",
2175 .args_type = "aclname:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002176 .params = "aclname",
2177 .help = "reset the access control list",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04002178 .cmd = hmp_acl_reset,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002179 },
2180
Jan Kiszka15dfcd42009-06-25 08:22:08 +02002181STEXI
Markus Armbruster0e4aec92010-05-04 13:20:31 +02002182@item acl_reset @var{aclname}
2183@findex acl_reset
Jan Kiszka15dfcd42009-06-25 08:22:08 +02002184Remove all matches from the access control list, and set the default
Blue Swirl23130862009-06-06 08:22:04 +00002185policy back to @code{deny}.
Blue Swirl23130862009-06-06 08:22:04 +00002186ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00002187SRST
2188``acl_reset`` *aclname*
2189 Remove all matches from the access control list, and set the default
2190 policy back to ``deny``.
2191ERST
Blue Swirl23130862009-06-06 08:22:04 +00002192
Paolo Bonzini40577252012-08-23 11:53:04 +02002193 {
2194 .name = "nbd_server_start",
2195 .args_type = "all:-a,writable:-w,uri:s",
2196 .params = "nbd_server_start [-a] [-w] host:port",
2197 .help = "serve block devices on the given host and port",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04002198 .cmd = hmp_nbd_server_start,
Paolo Bonzini40577252012-08-23 11:53:04 +02002199 },
2200STEXI
2201@item nbd_server_start @var{host}:@var{port}
2202@findex nbd_server_start
2203Start an NBD server on the given host and/or port. If the @option{-a}
2204option is included, all of the virtual machine's block devices that
2205have an inserted media on them are automatically exported; in this case,
2206the @option{-w} option makes the devices writable too.
2207ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00002208SRST
2209``nbd_server_start`` *host*:*port*
2210 Start an NBD server on the given host and/or port. If the ``-a``
2211 option is included, all of the virtual machine's block devices that
2212 have an inserted media on them are automatically exported; in this case,
2213 the ``-w`` option makes the devices writable too.
2214ERST
Paolo Bonzini40577252012-08-23 11:53:04 +02002215
2216 {
2217 .name = "nbd_server_add",
Eric Blakedba49322018-01-09 13:28:02 -06002218 .args_type = "writable:-w,device:B,name:s?",
2219 .params = "nbd_server_add [-w] device [name]",
Paolo Bonzini40577252012-08-23 11:53:04 +02002220 .help = "export a block device via NBD",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04002221 .cmd = hmp_nbd_server_add,
Paolo Bonzini40577252012-08-23 11:53:04 +02002222 },
2223STEXI
Eric Blakedba49322018-01-09 13:28:02 -06002224@item nbd_server_add @var{device} [ @var{name} ]
Paolo Bonzini40577252012-08-23 11:53:04 +02002225@findex nbd_server_add
2226Export a block device through QEMU's NBD server, which must be started
2227beforehand with @command{nbd_server_start}. The @option{-w} option makes the
Eric Blakedba49322018-01-09 13:28:02 -06002228exported device writable too. The export name is controlled by @var{name},
2229defaulting to @var{device}.
Paolo Bonzini40577252012-08-23 11:53:04 +02002230ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00002231SRST
2232``nbd_server_add`` *device* [ *name* ]
2233 Export a block device through QEMU's NBD server, which must be started
2234 beforehand with ``nbd_server_start``. The ``-w`` option makes the
2235 exported device writable too. The export name is controlled by *name*,
2236 defaulting to *device*.
2237ERST
Paolo Bonzini40577252012-08-23 11:53:04 +02002238
2239 {
Eric Blake08fb10a2018-01-25 08:45:57 -06002240 .name = "nbd_server_remove",
2241 .args_type = "force:-f,name:s",
2242 .params = "nbd_server_remove [-f] name",
2243 .help = "remove an export previously exposed via NBD",
2244 .cmd = hmp_nbd_server_remove,
2245 },
2246STEXI
2247@item nbd_server_remove [-f] @var{name}
2248@findex nbd_server_remove
2249Stop exporting a block device through QEMU's NBD server, which was
2250previously started with @command{nbd_server_add}. The @option{-f}
2251option forces the server to drop the export immediately even if
2252clients are connected; otherwise the command fails unless there are no
2253clients.
2254ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00002255SRST
2256``nbd_server_remove [-f]`` *name*
2257 Stop exporting a block device through QEMU's NBD server, which was
2258 previously started with ``nbd_server_add``. The ``-f``
2259 option forces the server to drop the export immediately even if
2260 clients are connected; otherwise the command fails unless there are no
2261 clients.
2262ERST
Eric Blake08fb10a2018-01-25 08:45:57 -06002263
2264 {
Paolo Bonzini40577252012-08-23 11:53:04 +02002265 .name = "nbd_server_stop",
2266 .args_type = "",
2267 .params = "nbd_server_stop",
2268 .help = "stop serving block devices using the NBD protocol",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04002269 .cmd = hmp_nbd_server_stop,
Paolo Bonzini40577252012-08-23 11:53:04 +02002270 },
2271STEXI
2272@item nbd_server_stop
2273@findex nbd_server_stop
2274Stop the QEMU embedded NBD server.
2275ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00002276SRST
2277``nbd_server_stop``
2278 Stop the QEMU embedded NBD server.
2279ERST
Paolo Bonzini40577252012-08-23 11:53:04 +02002280
2281
Huang Ying79c4f6b2009-06-23 10:05:14 +08002282#if defined(TARGET_I386)
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002283
2284 {
2285 .name = "mce",
Jin Dongming31ce5e02010-12-10 17:21:02 +09002286 .args_type = "broadcast:-b,cpu_index:i,bank:i,status:l,mcg_status:l,addr:l,misc:l",
2287 .params = "[-b] cpu bank status mcgstatus addr misc",
2288 .help = "inject a MCE on the given CPU [and broadcast to other CPUs with -b option]",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04002289 .cmd = hmp_mce,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002290 },
2291
Huang Ying79c4f6b2009-06-23 10:05:14 +08002292#endif
2293STEXI
2294@item mce @var{cpu} @var{bank} @var{status} @var{mcgstatus} @var{addr} @var{misc}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01002295@findex mce (x86)
Huang Ying79c4f6b2009-06-23 10:05:14 +08002296Inject an MCE on the given CPU (x86 only).
2297ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00002298SRST
2299``mce`` *cpu* *bank* *status* *mcgstatus* *addr* *misc*
2300 Inject an MCE on the given CPU (x86 only).
2301ERST
Huang Ying79c4f6b2009-06-23 10:05:14 +08002302
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002303 {
2304 .name = "getfd",
2305 .args_type = "fdname:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002306 .params = "getfd name",
2307 .help = "receive a file descriptor via SCM rights and assign it a name",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04002308 .cmd = hmp_getfd,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002309 },
2310
Mark McLoughlinf07918f2009-07-22 09:11:40 +01002311STEXI
2312@item getfd @var{fdname}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01002313@findex getfd
Mark McLoughlinf07918f2009-07-22 09:11:40 +01002314If a file descriptor is passed alongside this command using the SCM_RIGHTS
2315mechanism on unix sockets, it is stored using the name @var{fdname} for
2316later use by other monitor commands.
2317ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00002318SRST
2319``getfd`` *fdname*
2320 If a file descriptor is passed alongside this command using the SCM_RIGHTS
2321 mechanism on unix sockets, it is stored using the name *fdname* for
2322 later use by other monitor commands.
2323ERST
Mark McLoughlinf07918f2009-07-22 09:11:40 +01002324
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002325 {
2326 .name = "closefd",
2327 .args_type = "fdname:s",
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002328 .params = "closefd name",
2329 .help = "close a file descriptor previously passed via SCM rights",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04002330 .cmd = hmp_closefd,
Luiz Capitulinod7f9b682009-10-07 13:41:50 -03002331 },
2332
Mark McLoughlinf07918f2009-07-22 09:11:40 +01002333STEXI
2334@item closefd @var{fdname}
Stefan Weil70fcbbe2010-02-05 23:52:04 +01002335@findex closefd
Mark McLoughlinf07918f2009-07-22 09:11:40 +01002336Close the file descriptor previously assigned to @var{fdname} using the
2337@code{getfd} command. This is only needed if the file descriptor was never
2338used by another monitor command.
2339ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00002340SRST
2341``closefd`` *fdname*
2342 Close the file descriptor previously assigned to *fdname* using the
2343 ``getfd`` command. This is only needed if the file descriptor was never
2344 used by another monitor command.
2345ERST
Mark McLoughlinf07918f2009-07-22 09:11:40 +01002346
Luiz Capitulinoa3a55a22009-12-04 15:24:09 -02002347 {
2348 .name = "block_passwd",
2349 .args_type = "device:B,password:s",
2350 .params = "block_passwd device password",
2351 .help = "set the password of encrypted block devices",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04002352 .cmd = hmp_block_passwd,
Luiz Capitulinoa3a55a22009-12-04 15:24:09 -02002353 },
2354
2355STEXI
Markus Armbrusterb76d7992015-03-10 13:23:04 +01002356@item block_passwd @var{device} @var{password}
2357@findex block_passwd
2358Set the encrypted device @var{device} password to @var{password}
Daniel P. Berrangec01c2142017-06-23 17:24:16 +01002359
2360This command is now obsolete and will always return an error since 2.10
Zhi Yong Wu727f0052011-11-08 13:00:31 +08002361ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00002362SRST
2363``block_passwd`` *device* *password*
2364 Set the encrypted device *device* password to *password*
2365
2366 This command is now obsolete and will always return an error since 2.10
2367ERST
Zhi Yong Wu727f0052011-11-08 13:00:31 +08002368
2369 {
2370 .name = "block_set_io_throttle",
2371 .args_type = "device:B,bps:l,bps_rd:l,bps_wr:l,iops:l,iops_rd:l,iops_wr:l",
2372 .params = "device bps bps_rd bps_wr iops iops_rd iops_wr",
2373 .help = "change I/O throttle limits for a block drive",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04002374 .cmd = hmp_block_set_io_throttle,
Zhi Yong Wu727f0052011-11-08 13:00:31 +08002375 },
2376
2377STEXI
Markus Armbrusterb76d7992015-03-10 13:23:04 +01002378@item block_set_io_throttle @var{device} @var{bps} @var{bps_rd} @var{bps_wr} @var{iops} @var{iops_rd} @var{iops_wr}
2379@findex block_set_io_throttle
Alberto Garcia83592182018-03-09 16:11:07 +02002380Change 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}.
2381@var{device} can be a block device name, a qdev ID or a QOM path.
Luiz Capitulinoa3a55a22009-12-04 15:24:09 -02002382ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00002383SRST
2384``block_set_io_throttle`` *device* *bps* *bps_rd* *bps_wr* *iops* *iops_rd* *iops_wr*
2385 Change I/O throttle limits for a block drive to
2386 *bps* *bps_rd* *bps_wr* *iops* *iops_rd* *iops_wr*.
2387 *device* can be a block device name, a qdev ID or a QOM path.
2388ERST
Jan Kiszkab40292e2010-05-31 14:43:31 -03002389
Jan Kiszka33572ec2010-05-31 14:43:30 -03002390 {
Gerd Hoffmann75721502010-10-07 12:22:54 +02002391 .name = "set_password",
2392 .args_type = "protocol:s,password:s,connected:s?",
2393 .params = "protocol password action-if-connected",
2394 .help = "set spice/vnc password",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04002395 .cmd = hmp_set_password,
Gerd Hoffmann75721502010-10-07 12:22:54 +02002396 },
2397
2398STEXI
2399@item set_password [ vnc | spice ] password [ action-if-connected ]
2400@findex set_password
Gerd Hoffmann75721502010-10-07 12:22:54 +02002401Change spice/vnc password. Use zero to make the password stay valid
2402forever. @var{action-if-connected} specifies what should happen in
2403case a connection is established: @var{fail} makes the password change
2404fail. @var{disconnect} changes the password and disconnects the
2405client. @var{keep} changes the password and keeps the connection up.
2406@var{keep} is the default.
2407ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00002408SRST
2409``set_password [ vnc | spice ] password [ action-if-connected ]``
2410 Change spice/vnc password. Use zero to make the password stay valid
2411 forever. *action-if-connected* specifies what should happen in
2412 case a connection is established: *fail* makes the password change
2413 fail. *disconnect* changes the password and disconnects the
2414 client. *keep* changes the password and keeps the connection up.
2415 *keep* is the default.
2416ERST
Gerd Hoffmann75721502010-10-07 12:22:54 +02002417
2418 {
2419 .name = "expire_password",
2420 .args_type = "protocol:s,time:s",
2421 .params = "protocol time",
2422 .help = "set spice/vnc password expire-time",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04002423 .cmd = hmp_expire_password,
Gerd Hoffmann75721502010-10-07 12:22:54 +02002424 },
2425
2426STEXI
2427@item expire_password [ vnc | spice ] expire-time
2428@findex expire_password
Gerd Hoffmann75721502010-10-07 12:22:54 +02002429Specify when a password for spice/vnc becomes
2430invalid. @var{expire-time} accepts:
2431
2432@table @var
2433@item now
2434Invalidate password instantly.
2435
2436@item never
2437Password stays valid forever.
2438
2439@item +nsec
2440Password stays valid for @var{nsec} seconds starting now.
2441
2442@item nsec
2443Password is invalidated at the given time. @var{nsec} are the seconds
2444passed since 1970, i.e. unix epoch.
2445
2446@end table
2447ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00002448SRST
2449``expire_password [ vnc | spice ]`` *expire-time*
2450 Specify when a password for spice/vnc becomes
2451 invalid. *expire-time* accepts:
2452
2453 ``now``
2454 Invalidate password instantly.
2455 ``never``
2456 Password stays valid forever.
2457 ``+``\ *nsec*
2458 Password stays valid for *nsec* seconds starting now.
2459 *nsec*
2460 Password is invalidated at the given time. *nsec* are the seconds
2461 passed since 1970, i.e. unix epoch.
2462
2463ERST
Gerd Hoffmann75721502010-10-07 12:22:54 +02002464
Gerd Hoffmann46920822013-02-28 08:46:10 +01002465 {
2466 .name = "chardev-add",
2467 .args_type = "args:s",
2468 .params = "args",
2469 .help = "add chardev",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04002470 .cmd = hmp_chardev_add,
Hani Benhabiles13e315d2014-05-07 23:41:29 +01002471 .command_completion = chardev_add_completion,
Gerd Hoffmann46920822013-02-28 08:46:10 +01002472 },
2473
2474STEXI
Markus Armbrusterb76d7992015-03-10 13:23:04 +01002475@item chardev-add args
2476@findex chardev-add
Anton Nefedov75b60162017-07-06 15:08:57 +03002477chardev-add accepts the same parameters as the -chardev command line switch.
2478
2479ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00002480SRST
2481``chardev-add`` *args*
2482 chardev-add accepts the same parameters as the -chardev command line switch.
2483ERST
Anton Nefedov75b60162017-07-06 15:08:57 +03002484
2485 {
2486 .name = "chardev-change",
2487 .args_type = "id:s,args:s",
2488 .params = "id args",
2489 .help = "change chardev",
2490 .cmd = hmp_chardev_change,
2491 },
2492
2493STEXI
2494@item chardev-change args
2495@findex chardev-change
2496chardev-change accepts existing chardev @var{id} and then the same arguments
2497as the -chardev command line switch (except for "id").
Gerd Hoffmann46920822013-02-28 08:46:10 +01002498
2499ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00002500SRST
2501``chardev-change`` *args*
2502 chardev-change accepts existing chardev *id* and then the same arguments
2503 as the -chardev command line switch (except for "id").
2504ERST
Gerd Hoffmann46920822013-02-28 08:46:10 +01002505
2506 {
2507 .name = "chardev-remove",
2508 .args_type = "id:s",
2509 .params = "id",
2510 .help = "remove chardev",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04002511 .cmd = hmp_chardev_remove,
Hani Benhabiles6297d9a2014-05-07 23:41:28 +01002512 .command_completion = chardev_remove_completion,
Gerd Hoffmann46920822013-02-28 08:46:10 +01002513 },
2514
2515STEXI
Markus Armbrusterb76d7992015-03-10 13:23:04 +01002516@item chardev-remove id
2517@findex chardev-remove
Gerd Hoffmann46920822013-02-28 08:46:10 +01002518Removes the chardev @var{id}.
2519
2520ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00002521SRST
2522``chardev-remove`` *id*
2523 Removes the chardev *id*.
2524ERST
Gerd Hoffmannf1088902012-12-19 10:33:40 +01002525
2526 {
Stefan Fritschbd1d5ad2017-06-11 09:48:17 +02002527 .name = "chardev-send-break",
2528 .args_type = "id:s",
2529 .params = "id",
2530 .help = "send a break on chardev",
2531 .cmd = hmp_chardev_send_break,
2532 .command_completion = chardev_remove_completion,
2533 },
2534
2535STEXI
2536@item chardev-send-break id
2537@findex chardev-send-break
2538Send a break on the chardev @var{id}.
2539
2540ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00002541SRST
2542``chardev-send-break`` *id*
2543 Send a break on the chardev *id*.
2544ERST
Stefan Fritschbd1d5ad2017-06-11 09:48:17 +02002545
2546 {
Kevin Wolf587da2c2013-06-05 14:19:41 +02002547 .name = "qemu-io",
Kevin Wolf89b6fc42019-12-17 15:13:34 +01002548 .args_type = "qdev:-d,device:B,command:s",
2549 .params = "[-d] [device] \"[command]\"",
2550 .help = "run a qemu-io command on a block device\n\t\t\t"
2551 "-d: [device] is a device ID rather than a "
2552 "drive ID or node name",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04002553 .cmd = hmp_qemu_io,
Kevin Wolf587da2c2013-06-05 14:19:41 +02002554 },
2555
2556STEXI
2557@item qemu-io @var{device} @var{command}
2558@findex qemu-io
Kevin Wolf587da2c2013-06-05 14:19:41 +02002559Executes a qemu-io command on the given block device.
2560
2561ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00002562SRST
2563``qemu-io`` *device* *command*
2564 Executes a qemu-io command on the given block device.
2565ERST
Kevin Wolf587da2c2013-06-05 14:19:41 +02002566
2567 {
Jason J. Herneabf23322013-12-11 13:24:14 -05002568 .name = "cpu-add",
2569 .args_type = "id:i",
2570 .params = "id",
Kashyap Chamarthye25701b2018-10-30 13:35:25 +01002571 .help = "add cpu (deprecated, use device_add instead)",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04002572 .cmd = hmp_cpu_add,
Jason J. Herneabf23322013-12-11 13:24:14 -05002573 },
2574
2575STEXI
2576@item cpu-add @var{id}
Markus Armbrusterb76d7992015-03-10 13:23:04 +01002577@findex cpu-add
Kashyap Chamarthye25701b2018-10-30 13:35:25 +01002578Add CPU with id @var{id}. This command is deprecated, please
2579+use @code{device_add} instead. For details, refer to
2580'docs/cpu-hotplug.rst'.
Jason J. Herneabf23322013-12-11 13:24:14 -05002581ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00002582SRST
2583``cpu-add`` *id*
2584 Add CPU with id *id*. This command is deprecated, please
2585 +use ``device_add`` instead. For details, refer to
2586 'docs/cpu-hotplug.rst'.
2587ERST
Jason J. Herneabf23322013-12-11 13:24:14 -05002588
2589 {
Andreas Färber89d7fa92014-05-07 18:08:29 +02002590 .name = "qom-list",
2591 .args_type = "path:s?",
2592 .params = "path",
2593 .help = "list QOM properties",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04002594 .cmd = hmp_qom_list,
Dr. David Alan Gilbert8c7c7ec2018-06-20 16:39:45 +01002595 .flags = "p",
Andreas Färber89d7fa92014-05-07 18:08:29 +02002596 },
2597
2598STEXI
2599@item qom-list [@var{path}]
2600Print QOM properties of object at location @var{path}
2601ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00002602SRST
2603``qom-list`` [*path*]
2604 Print QOM properties of object at location *path*
2605ERST
Andreas Färber89d7fa92014-05-07 18:08:29 +02002606
2607 {
Andreas Färberc0e6ee92014-05-07 19:48:15 +02002608 .name = "qom-set",
2609 .args_type = "path:s,property:s,value:s",
2610 .params = "path property value",
2611 .help = "set QOM property",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04002612 .cmd = hmp_qom_set,
Dr. David Alan Gilbert8c7c7ec2018-06-20 16:39:45 +01002613 .flags = "p",
Andreas Färberc0e6ee92014-05-07 19:48:15 +02002614 },
2615
2616STEXI
2617@item qom-set @var{path} @var{property} @var{value}
2618Set QOM property @var{property} of object at location @var{path} to value @var{value}
2619ETEXI
Peter Maydella6b30bc2020-02-28 15:36:06 +00002620SRST
2621``qom-set`` *path* *property* *value*
2622 Set QOM property *property* of object at location *path* to value *value*
2623ERST
Andreas Färberc0e6ee92014-05-07 19:48:15 +02002624
2625 {
Jan Kiszka33572ec2010-05-31 14:43:30 -03002626 .name = "info",
2627 .args_type = "item:s?",
2628 .params = "[subcommand]",
2629 .help = "show various information about the system state",
Marc-André Lureau2b9e3572016-09-12 13:19:06 +04002630 .cmd = hmp_info_help,
Kevin Wolfa0cd5e12019-06-13 17:33:56 +02002631 .sub_table = hmp_info_cmds,
Dr. David Alan Gilbert8c7c7ec2018-06-20 16:39:45 +01002632 .flags = "p",
Jan Kiszka33572ec2010-05-31 14:43:30 -03002633 },
2634
2635STEXI
Pavel Butsykin70703342015-09-10 18:39:00 +03002636@end table
2637ETEXI