]> git.ipfire.org Git - thirdparty/qemu.git/blame - hmp-commands.hx
docs: Remove old texinfo sources
[thirdparty/qemu.git] / hmp-commands.hx
CommitLineData
2313086a
BS
1HXCOMM 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
d7f9b689
LC
12 {
13 .name = "help|?",
129be006 14 .args_type = "name:S?",
d7f9b689
LC
15 .params = "[cmd]",
16 .help = "show the help",
2b9e3576 17 .cmd = do_help_cmd,
31785f1b 18 .flags = "p",
d7f9b689
LC
19 },
20
2313086a
BS
21STEXI
22@item help or ? [@var{cmd}]
70fcbbe7 23@findex help
2313086a
BS
24Show the help for all commands or just for command @var{cmd}.
25ETEXI
a6b30bca
PM
26SRST
27``help`` or ``?`` [*cmd*]
28 Show the help for all commands or just for command *cmd*.
29ERST
2313086a 30
d7f9b689
LC
31 {
32 .name = "commit",
33 .args_type = "device:B",
d7f9b689
LC
34 .params = "device|all",
35 .help = "commit changes to the disk images (if -snapshot is used) or backing files",
2b9e3576 36 .cmd = hmp_commit,
d7f9b689
LC
37 },
38
2313086a
BS
39STEXI
40@item commit
70fcbbe7 41@findex commit
2313086a 42Commit changes to the disk images (if -snapshot is used) or backing files.
37222900
JC
43If 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.
2313086a 48ETEXI
a6b30bca
PM
49SRST
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
2313086a 59
d7f9b689
LC
60 {
61 .name = "q|quit",
62 .args_type = "",
d7f9b689
LC
63 .params = "",
64 .help = "quit the emulator",
2b9e3576 65 .cmd = hmp_quit,
d7f9b689
LC
66 },
67
2313086a
BS
68STEXI
69@item q or quit
70fcbbe7 70@findex quit
2313086a 71Quit the emulator.
8e8581e6 72ETEXI
a6b30bca
PM
73SRST
74``q`` or ``quit``
75 Quit the emulator.
76ERST
8e8581e6
DDAG
77
78 {
79 .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).
2313086a 95ETEXI
a6b30bca
PM
96SRST
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
2313086a 104
6d4a2b3a
CH
105 {
106 .name = "block_resize",
107 .args_type = "device:B,size:o",
108 .params = "device size",
109 .help = "resize a block image",
2b9e3576 110 .cmd = hmp_block_resize,
6d4a2b3a
CH
111 },
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
a6b30bca
PM
121SRST
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
6d4a2b3a 128
12bd451f
SH
129 {
130 .name = "block_stream",
c83c66c3
SH
131 .args_type = "device:B,speed:o?,base:s?",
132 .params = "device [speed [base]]",
12bd451f 133 .help = "copy data from a backing file into a block device",
2b9e3576 134 .cmd = hmp_block_stream,
12bd451f
SH
135 },
136
137STEXI
138@item block_stream
139@findex block_stream
140Copy data from a backing file into a block device.
2d47c6e9 141ETEXI
a6b30bca
PM
142SRST
143``block_stream``
144 Copy data from a backing file into a block device.
145ERST
2d47c6e9
SH
146
147 {
148 .name = "block_job_set_speed",
882ec7ce
SH
149 .args_type = "device:B,speed:o",
150 .params = "device speed",
2d47c6e9 151 .help = "set maximum speed for a background block operation",
2b9e3576 152 .cmd = hmp_block_job_set_speed,
2d47c6e9
SH
153 },
154
155STEXI
4451b799
PB
156@item block_job_set_speed
157@findex block_job_set_speed
2d47c6e9 158Set maximum speed for a background block operation.
370521a1 159ETEXI
a6b30bca
PM
160SRST
161``block_job_set_speed``
162 Set maximum speed for a background block operation.
163ERST
370521a1
SH
164
165 {
166 .name = "block_job_cancel",
6e37fb81
PB
167 .args_type = "force:-f,device:B",
168 .params = "[-f] device",
169 .help = "stop an active background block operation (use -f"
b76e4458
LL
170 "\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)",
2b9e3576 172 .cmd = hmp_block_job_cancel,
370521a1
SH
173 },
174
175STEXI
176@item block_job_cancel
177@findex block_job_cancel
aeae883b
PB
178Stop an active background block operation (streaming, mirroring).
179ETEXI
a6b30bca
PM
180SRST
181``block_job_cancel``
182 Stop an active background block operation (streaming, mirroring).
183ERST
aeae883b
PB
184
185 {
186 .name = "block_job_complete",
187 .args_type = "device:B",
188 .params = "device",
189 .help = "stop an active background block operation",
2b9e3576 190 .cmd = hmp_block_job_complete,
aeae883b
PB
191 },
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.
6e37fb81 198ETEXI
a6b30bca
PM
199SRST
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
6e37fb81
PB
204
205 {
206 .name = "block_job_pause",
207 .args_type = "device:B",
208 .params = "device",
209 .help = "pause an active background block operation",
2b9e3576 210 .cmd = hmp_block_job_pause,
6e37fb81
PB
211 },
212
213STEXI
214@item block_job_pause
215@findex block_job_pause
216Pause an active block streaming operation.
217ETEXI
a6b30bca
PM
218SRST
219``block_job_pause``
220 Pause an active block streaming operation.
221ERST
6e37fb81
PB
222
223 {
224 .name = "block_job_resume",
225 .args_type = "device:B",
226 .params = "device",
227 .help = "resume a paused background block operation",
2b9e3576 228 .cmd = hmp_block_job_resume,
6e37fb81
PB
229 },
230
231STEXI
232@item block_job_resume
233@findex block_job_resume
234Resume a paused block streaming operation.
12bd451f 235ETEXI
a6b30bca
PM
236SRST
237``block_job_resume``
238 Resume a paused block streaming operation.
239ERST
6d4a2b3a 240
d7f9b689
LC
241 {
242 .name = "eject",
78d714e0 243 .args_type = "force:-f,device:B",
d7f9b689
LC
244 .params = "[-f] device",
245 .help = "eject a removable medium (use -f to force it)",
2b9e3576 246 .cmd = hmp_eject,
d7f9b689
LC
247 },
248
2313086a
BS
249STEXI
250@item eject [-f] @var{device}
70fcbbe7 251@findex eject
2313086a 252Eject a removable medium (use -f to force it).
9063f814 253ETEXI
a6b30bca
PM
254SRST
255``eject [-f]`` *device*
256 Eject a removable medium (use -f to force it).
257ERST
9063f814
RH
258
259 {
260 .name = "drive_del",
f7bdc41a 261 .args_type = "id:B",
9063f814
RH
262 .params = "device",
263 .help = "remove host block device",
2b9e3576 264 .cmd = hmp_drive_del,
9063f814
RH
265 },
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.
293c51a6
SH
274These errors are always reported to the guest, regardless of the drive's error
275actions (drive options rerror, werror).
2313086a 276ETEXI
a6b30bca
PM
277SRST
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
2313086a 286
d7f9b689
LC
287 {
288 .name = "change",
baead0ab
HR
289 .args_type = "device:B,target:F,arg:s?,read-only-mode:s?",
290 .params = "device filename [format [read-only-mode]]",
d7f9b689 291 .help = "change a removable medium, optional format",
2b9e3576 292 .cmd = hmp_change,
d7f9b689
LC
293 },
294
2313086a
BS
295STEXI
296@item change @var{device} @var{setting}
70fcbbe7 297@findex change
2313086a
BS
298Change the configuration of a device.
299
300@table @option
baead0ab 301@item change @var{diskdevice} @var{filename} [@var{format} [@var{read-only-mode}]]
2313086a
BS
302Change 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
baead0ab
HR
310@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
2313086a
BS
324@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
a6b30bca
PM
345SRST
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
2313086a 384
d7f9b689
LC
385 {
386 .name = "screendump",
f771c544
TH
387 .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'",
2b9e3576 391 .cmd = hmp_screendump,
d7f9b689
LC
392 },
393
2313086a
BS
394STEXI
395@item screendump @var{filename}
70fcbbe7 396@findex screendump
2313086a
BS
397Save screen into PPM image @var{filename}.
398ETEXI
a6b30bca
PM
399SRST
400``screendump`` *filename*
401 Save screen into PPM image *filename*.
402ERST
2313086a 403
d7f9b689
LC
404 {
405 .name = "logfile",
406 .args_type = "filename:F",
d7f9b689
LC
407 .params = "filename",
408 .help = "output logs to 'filename'",
2b9e3576 409 .cmd = hmp_logfile,
d7f9b689
LC
410 },
411
2313086a
BS
412STEXI
413@item logfile @var{filename}
70fcbbe7 414@findex logfile
2313086a
BS
415Output logs to @var{filename}.
416ETEXI
a6b30bca
PM
417SRST
418``logfile`` *filename*
419 Output logs to *filename*.
420ERST
2313086a 421
22890ab5
PS
422 {
423 .name = "trace-event",
77e2b172
LV
424 .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)",
2b9e3576 428 .cmd = hmp_trace_event,
987bd270 429 .command_completion = trace_event_completion,
22890ab5
PS
430 },
431
432STEXI
433@item trace-event
434@findex trace-event
435changes status of a trace event
c5ceb523 436ETEXI
a6b30bca
PM
437SRST
438``trace-event``
439 changes status of a trace event
440ERST
c5ceb523 441
c45a8168 442#if defined(CONFIG_TRACE_SIMPLE)
c5ceb523
SH
443 {
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",
2b9e3576 448 .cmd = hmp_trace_file,
c5ceb523
SH
449 },
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.
22890ab5 455ETEXI
a6b30bca
PM
456SRST
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
22890ab5
PS
461#endif
462
d7f9b689
LC
463 {
464 .name = "log",
465 .args_type = "items:s",
d7f9b689 466 .params = "item1[,...]",
989b697d 467 .help = "activate logging of the specified items",
2b9e3576 468 .cmd = hmp_log,
d7f9b689
LC
469 },
470
2313086a
BS
471STEXI
472@item log @var{item1}[,...]
70fcbbe7 473@findex log
989b697d 474Activate logging of the specified items.
2313086a 475ETEXI
a6b30bca
PM
476SRST
477``log`` *item1*\ [,...]
478 Activate logging of the specified items.
479ERST
2313086a 480
d7f9b689
LC
481 {
482 .name = "savevm",
483 .args_type = "name:s?",
6ca08045
DHB
484 .params = "tag",
485 .help = "save a VM snapshot. If no tag is provided, a new snapshot is created",
2b9e3576 486 .cmd = hmp_savevm,
d7f9b689
LC
487 },
488
2313086a 489STEXI
6ca08045 490@item savevm @var{tag}
70fcbbe7 491@findex savevm
2313086a
BS
492Create a snapshot of the whole virtual machine. If @var{tag} is
493provided, it is used as human readable identifier. If there is already
6ca08045 494a snapshot with the same tag, it is replaced. More info at
2313086a 495@ref{vm_snapshots}.
6ca08045
DHB
496
497Since 4.0, savevm stopped allowing the snapshot id to be set, accepting
498only @var{tag} as parameter.
2313086a 499ETEXI
a6b30bca
PM
500SRST
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
2313086a 510
d7f9b689
LC
511 {
512 .name = "loadvm",
513 .args_type = "name:s",
6ca08045
DHB
514 .params = "tag",
515 .help = "restore a VM snapshot from its tag",
2b9e3576 516 .cmd = hmp_loadvm,
b21631f3 517 .command_completion = loadvm_completion,
d7f9b689
LC
518 },
519
2313086a 520STEXI
6ca08045 521@item loadvm @var{tag}
70fcbbe7 522@findex loadvm
2313086a 523Set the whole virtual machine to the snapshot identified by the tag
6ca08045
DHB
524@var{tag}.
525
526Since 4.0, loadvm stopped accepting snapshot id as parameter.
2313086a 527ETEXI
a6b30bca
PM
528SRST
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
2313086a 535
d7f9b689
LC
536 {
537 .name = "delvm",
538 .args_type = "name:s",
6ca08045
DHB
539 .params = "tag",
540 .help = "delete a VM snapshot from its tag",
2b9e3576 541 .cmd = hmp_delvm,
b21631f3 542 .command_completion = delvm_completion,
d7f9b689
LC
543 },
544
2313086a 545STEXI
6ca08045 546@item delvm @var{tag}
70fcbbe7 547@findex delvm
6ca08045
DHB
548Delete the snapshot identified by @var{tag}.
549
550Since 4.0, delvm stopped deleting snapshots by snapshot id, accepting
551only @var{tag} as parameter.
2313086a 552ETEXI
a6b30bca
PM
553SRST
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
2313086a 560
d7f9b689
LC
561 {
562 .name = "singlestep",
563 .args_type = "option:s?",
d7f9b689
LC
564 .params = "[on|off]",
565 .help = "run emulation in singlestep mode or switch to normal mode",
2b9e3576 566 .cmd = hmp_singlestep,
d7f9b689
LC
567 },
568
2313086a
BS
569STEXI
570@item singlestep [off]
70fcbbe7 571@findex singlestep
2313086a
BS
572Run the emulation in single step mode.
573If called with option off, the emulation returns to normal mode.
574ETEXI
a6b30bca
PM
575SRST
576``singlestep [off]``
577 Run the emulation in single step mode.
578 If called with option off, the emulation returns to normal mode.
579ERST
2313086a 580
d7f9b689
LC
581 {
582 .name = "stop",
583 .args_type = "",
d7f9b689
LC
584 .params = "",
585 .help = "stop emulation",
2b9e3576 586 .cmd = hmp_stop,
d7f9b689
LC
587 },
588
2313086a
BS
589STEXI
590@item stop
70fcbbe7 591@findex stop
2313086a
BS
592Stop emulation.
593ETEXI
a6b30bca
PM
594SRST
595``stop``
596 Stop emulation.
597ERST
2313086a 598
d7f9b689
LC
599 {
600 .name = "c|cont",
601 .args_type = "",
d7f9b689
LC
602 .params = "",
603 .help = "resume emulation",
2b9e3576 604 .cmd = hmp_cont,
d7f9b689
LC
605 },
606
2313086a
BS
607STEXI
608@item c or cont
70fcbbe7 609@findex cont
2313086a 610Resume emulation.
9b9df25a 611ETEXI
a6b30bca
PM
612SRST
613``c`` or ``cont``
614 Resume emulation.
615ERST
9b9df25a
GH
616
617 {
618 .name = "system_wakeup",
619 .args_type = "",
620 .params = "",
621 .help = "wakeup guest from suspend",
2b9e3576 622 .cmd = hmp_system_wakeup,
9b9df25a
GH
623 },
624
625STEXI
626@item system_wakeup
627@findex system_wakeup
628Wakeup guest from suspend.
2313086a 629ETEXI
a6b30bca
PM
630SRST
631``system_wakeup``
632 Wakeup guest from suspend.
633ERST
2313086a 634
d7f9b689
LC
635 {
636 .name = "gdbserver",
637 .args_type = "device:s?",
d7f9b689
LC
638 .params = "[device]",
639 .help = "start gdbserver on given device (default 'tcp::1234'), stop with 'none'",
2b9e3576 640 .cmd = hmp_gdbserver,
d7f9b689
LC
641 },
642
2313086a
BS
643STEXI
644@item gdbserver [@var{port}]
70fcbbe7 645@findex gdbserver
2313086a
BS
646Start gdbserver session (default @var{port}=1234)
647ETEXI
a6b30bca
PM
648SRST
649``gdbserver`` [*port*]
650 Start gdbserver session (default *port*\=1234)
651ERST
2313086a 652
d7f9b689
LC
653 {
654 .name = "x",
655 .args_type = "fmt:/,addr:l",
d7f9b689
LC
656 .params = "/fmt addr",
657 .help = "virtual memory dump starting at 'addr'",
2b9e3576 658 .cmd = hmp_memory_dump,
d7f9b689
LC
659 },
660
2313086a
BS
661STEXI
662@item x/fmt @var{addr}
70fcbbe7 663@findex x
2313086a
BS
664Virtual memory dump starting at @var{addr}.
665ETEXI
a6b30bca
PM
666SRST
667``x/``\ *fmt* *addr*
668 Virtual memory dump starting at *addr*.
669ERST
2313086a 670
d7f9b689
LC
671 {
672 .name = "xp",
673 .args_type = "fmt:/,addr:l",
d7f9b689
LC
674 .params = "/fmt addr",
675 .help = "physical memory dump starting at 'addr'",
2b9e3576 676 .cmd = hmp_physical_memory_dump,
d7f9b689
LC
677 },
678
2313086a
BS
679STEXI
680@item xp /@var{fmt} @var{addr}
70fcbbe7 681@findex xp
2313086a
BS
682Physical 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
e9628441 736ETEXI
a6b30bca
PM
737SRST
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
e9628441
PB
785
786 {
787 .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
a6b30bca
PM
800SRST
801``gpa2hva`` *addr*
802 Print the host virtual address at which the guest's physical address *addr*
803 is mapped.
804ERST
e9628441
PB
805
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.
574d9693 821ETEXI
a6b30bca
PM
822SRST
823``gpa2hpa`` *addr*
824 Print the host physical address at which the guest's physical address *addr*
825 is mapped.
826ERST
574d9693
DDAG
827
828 {
829 .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.
2313086a 841ETEXI
a6b30bca
PM
842SRST
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
2313086a 847
d7f9b689
LC
848 {
849 .name = "p|print",
850 .args_type = "fmt:/,val:l",
d7f9b689
LC
851 .params = "/fmt expr",
852 .help = "print expression value (use $reg for CPU register access)",
2b9e3576 853 .cmd = do_print,
d7f9b689
LC
854 },
855
2313086a
BS
856STEXI
857@item p or print/@var{fmt} @var{expr}
70fcbbe7 858@findex print
2313086a
BS
859Print expression value. Only the @var{format} part of @var{fmt} is
860used.
861ETEXI
a6b30bca
PM
862SRST
863``p`` or ``print/``\ *fmt* *expr*
864 Print expression value. Only the *format* part of *fmt* is
865 used.
866ERST
2313086a 867
d7f9b689
LC
868 {
869 .name = "i",
870 .args_type = "fmt:/,addr:i,index:i.",
d7f9b689
LC
871 .params = "/fmt addr",
872 .help = "I/O port read",
2b9e3576 873 .cmd = hmp_ioport_read,
d7f9b689
LC
874 },
875
2313086a 876STEXI
b76d799e
MA
877@item i/@var{fmt} @var{addr} [.@var{index}]
878@findex i
2313086a
BS
879Read I/O port.
880ETEXI
a6b30bca
PM
881SRST
882``i/``\ *fmt* *addr* [.\ *index*\ ]
883 Read I/O port.
884ERST
2313086a 885
d7f9b689
LC
886 {
887 .name = "o",
888 .args_type = "fmt:/,addr:i,val:i",
d7f9b689
LC
889 .params = "/fmt addr value",
890 .help = "I/O port write",
2b9e3576 891 .cmd = hmp_ioport_write,
d7f9b689
LC
892 },
893
f114784f 894STEXI
b76d799e
MA
895@item o/@var{fmt} @var{addr} @var{val}
896@findex o
f114784f
JK
897Write to I/O port.
898ETEXI
a6b30bca
PM
899SRST
900``o/``\ *fmt* *addr* *val*
901 Write to I/O port.
902ERST
2313086a 903
d7f9b689
LC
904 {
905 .name = "sendkey",
2ef20c15 906 .args_type = "keys:s,hold-time:i?",
d7f9b689
LC
907 .params = "keys [hold_ms]",
908 .help = "send keys to the VM (e.g. 'sendkey ctrl-alt-f1', default hold time=100 ms)",
2b9e3576 909 .cmd = hmp_sendkey,
29136cd8 910 .command_completion = sendkey_completion,
d7f9b689
LC
911 },
912
2313086a
BS
913STEXI
914@item sendkey @var{keys}
70fcbbe7 915@findex sendkey
886cc706
AK
916Send @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:
2313086a
BS
919@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.
dd12e1bb 925ETEXI
a6b30bca
PM
926SRST
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
dd12e1bb
EC
937 {
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.
2313086a 951ETEXI
a6b30bca
PM
952SRST
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
2313086a 957
d7f9b689
LC
958 {
959 .name = "system_reset",
960 .args_type = "",
d7f9b689
LC
961 .params = "",
962 .help = "reset the system",
2b9e3576 963 .cmd = hmp_system_reset,
d7f9b689
LC
964 },
965
2313086a
BS
966STEXI
967@item system_reset
70fcbbe7 968@findex system_reset
2313086a
BS
969Reset the system.
970ETEXI
a6b30bca
PM
971SRST
972``system_reset``
973 Reset the system.
974ERST
2313086a 975
d7f9b689
LC
976 {
977 .name = "system_powerdown",
978 .args_type = "",
d7f9b689
LC
979 .params = "",
980 .help = "send system power down event",
2b9e3576 981 .cmd = hmp_system_powerdown,
d7f9b689
LC
982 },
983
2313086a
BS
984STEXI
985@item system_powerdown
70fcbbe7 986@findex system_powerdown
2313086a
BS
987Power down the system (if supported).
988ETEXI
a6b30bca
PM
989SRST
990``system_powerdown``
991 Power down the system (if supported).
992ERST
2313086a 993
d7f9b689
LC
994 {
995 .name = "sum",
996 .args_type = "start:i,size:i",
d7f9b689
LC
997 .params = "addr size",
998 .help = "compute the checksum of a memory region",
2b9e3576 999 .cmd = hmp_sum,
d7f9b689
LC
1000 },
1001
2313086a
BS
1002STEXI
1003@item sum @var{addr} @var{size}
70fcbbe7 1004@findex sum
2313086a 1005Compute the checksum of a memory region.
2313086a 1006ETEXI
a6b30bca
PM
1007SRST
1008``sum`` *addr* *size*
1009 Compute the checksum of a memory region.
1010ERST
2313086a 1011
d7f9b689
LC
1012 {
1013 .name = "device_add",
c7e4e8ce
MA
1014 .args_type = "device:O",
1015 .params = "driver[,prop=value][,...]",
d7f9b689 1016 .help = "add device, like -device on the command line",
2b9e3576 1017 .cmd = hmp_device_add,
2da1b3ab 1018 .command_completion = device_add_completion,
d7f9b689
LC
1019 },
1020
3418bd25
GH
1021STEXI
1022@item device_add @var{config}
70fcbbe7 1023@findex device_add
3418bd25
GH
1024Add device.
1025ETEXI
a6b30bca
PM
1026SRST
1027``device_add`` *config*
1028 Add device.
1029ERST
3418bd25 1030
d7f9b689
LC
1031 {
1032 .name = "device_del",
1033 .args_type = "id:s",
d7f9b689
LC
1034 .params = "device",
1035 .help = "remove device",
2b9e3576 1036 .cmd = hmp_device_del,
2da1b3ab 1037 .command_completion = device_del_completion,
d7f9b689
LC
1038 },
1039
3418bd25
GH
1040STEXI
1041@item device_del @var{id}
70fcbbe7 1042@findex device_del
6287d827
DB
1043Remove device @var{id}. @var{id} may be a short ID
1044or a QOM object path.
3418bd25 1045ETEXI
a6b30bca
PM
1046SRST
1047``device_del`` *id*
1048 Remove device *id*. *id* may be a short ID
1049 or a QOM object path.
1050ERST
3418bd25 1051
d7f9b689
LC
1052 {
1053 .name = "cpu",
1054 .args_type = "index:i",
d7f9b689
LC
1055 .params = "index",
1056 .help = "set the default CPU",
2b9e3576 1057 .cmd = hmp_cpu,
d7f9b689 1058 },
3418bd25 1059
2313086a 1060STEXI
c427ea9c
MA
1061@item cpu @var{index}
1062@findex cpu
2313086a
BS
1063Set the default CPU.
1064ETEXI
a6b30bca
PM
1065SRST
1066``cpu`` *index*
1067 Set the default CPU.
1068ERST
2313086a 1069
d7f9b689
LC
1070 {
1071 .name = "mouse_move",
1072 .args_type = "dx_str:s,dy_str:s,dz_str:s?",
d7f9b689
LC
1073 .params = "dx dy [dz]",
1074 .help = "send mouse move events",
2b9e3576 1075 .cmd = hmp_mouse_move,
d7f9b689
LC
1076 },
1077
2313086a
BS
1078STEXI
1079@item mouse_move @var{dx} @var{dy} [@var{dz}]
70fcbbe7 1080@findex mouse_move
2313086a
BS
1081Move the active mouse to the specified coordinates @var{dx} @var{dy}
1082with optional scroll axis @var{dz}.
1083ETEXI
a6b30bca
PM
1084SRST
1085``mouse_move`` *dx* *dy* [*dz*]
1086 Move the active mouse to the specified coordinates *dx* *dy*
1087 with optional scroll axis *dz*.
1088ERST
2313086a 1089
d7f9b689
LC
1090 {
1091 .name = "mouse_button",
1092 .args_type = "button_state:i",
d7f9b689
LC
1093 .params = "state",
1094 .help = "change mouse button state (1=L, 2=M, 4=R)",
2b9e3576 1095 .cmd = hmp_mouse_button,
d7f9b689
LC
1096 },
1097
2313086a
BS
1098STEXI
1099@item mouse_button @var{val}
70fcbbe7 1100@findex mouse_button
2313086a
BS
1101Change the active mouse button state @var{val} (1=L, 2=M, 4=R).
1102ETEXI
a6b30bca
PM
1103SRST
1104``mouse_button`` *val*
1105 Change the active mouse button state *val* (1=L, 2=M, 4=R).
1106ERST
2313086a 1107
d7f9b689
LC
1108 {
1109 .name = "mouse_set",
1110 .args_type = "index:i",
d7f9b689
LC
1111 .params = "index",
1112 .help = "set which mouse device receives events",
2b9e3576 1113 .cmd = hmp_mouse_set,
d7f9b689
LC
1114 },
1115
2313086a
BS
1116STEXI
1117@item mouse_set @var{index}
70fcbbe7 1118@findex mouse_set
2313086a
BS
1119Set which mouse device receives events at given @var{index}, index
1120can be obtained with
1121@example
1122info mice
1123@end example
1124ETEXI
a6b30bca
PM
1125SRST
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
2313086a 1133
d7f9b689
LC
1134 {
1135 .name = "wavcapture",
f0b9f36d
KZ
1136 .args_type = "path:F,audiodev:s,freq:i?,bits:i?,nchannels:i?",
1137 .params = "path audiodev [frequency [bits [channels]]]",
d7f9b689 1138 .help = "capture audio to a wave file (default frequency=44100 bits=16 channels=2)",
2b9e3576 1139 .cmd = hmp_wavcapture,
d7f9b689 1140 },
2313086a 1141STEXI
f0b9f36d 1142@item wavcapture @var{filename} @var{audiodev} [@var{frequency} [@var{bits} [@var{channels}]]]
70fcbbe7 1143@findex wavcapture
f0b9f36d
KZ
1144Capture 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}.
2313086a
BS
1147
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
a6b30bca
PM
1155SRST
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
2313086a 1167
d7f9b689
LC
1168 {
1169 .name = "stopcapture",
1170 .args_type = "n:i",
d7f9b689
LC
1171 .params = "capture index",
1172 .help = "stop capture",
2b9e3576 1173 .cmd = hmp_stopcapture,
d7f9b689 1174 },
2313086a
BS
1175STEXI
1176@item stopcapture @var{index}
70fcbbe7 1177@findex stopcapture
2313086a
BS
1178Stop capture with a given @var{index}, index can be obtained with
1179@example
1180info capture
1181@end example
1182ETEXI
a6b30bca
PM
1183SRST
1184``stopcapture`` *index*
1185 Stop capture with a given *index*, index can be obtained with::
1186
1187 info capture
1188
1189ERST
2313086a 1190
d7f9b689
LC
1191 {
1192 .name = "memsave",
1193 .args_type = "val:l,size:i,filename:s",
d7f9b689
LC
1194 .params = "addr size file",
1195 .help = "save to disk virtual memory dump starting at 'addr' of size 'size'",
2b9e3576 1196 .cmd = hmp_memsave,
d7f9b689
LC
1197 },
1198
2313086a
BS
1199STEXI
1200@item memsave @var{addr} @var{size} @var{file}
70fcbbe7 1201@findex memsave
2313086a
BS
1202save to disk virtual memory dump starting at @var{addr} of size @var{size}.
1203ETEXI
a6b30bca
PM
1204SRST
1205``memsave`` *addr* *size* *file*
1206 save to disk virtual memory dump starting at *addr* of size *size*.
1207ERST
2313086a 1208
d7f9b689
LC
1209 {
1210 .name = "pmemsave",
1211 .args_type = "val:l,size:i,filename:s",
d7f9b689
LC
1212 .params = "addr size file",
1213 .help = "save to disk physical memory dump starting at 'addr' of size 'size'",
2b9e3576 1214 .cmd = hmp_pmemsave,
d7f9b689
LC
1215 },
1216
2313086a
BS
1217STEXI
1218@item pmemsave @var{addr} @var{size} @var{file}
70fcbbe7 1219@findex pmemsave
2313086a
BS
1220save to disk physical memory dump starting at @var{addr} of size @var{size}.
1221ETEXI
a6b30bca
PM
1222SRST
1223``pmemsave`` *addr* *size* *file*
1224 save to disk physical memory dump starting at *addr* of size *size*.
1225ERST
2313086a 1226
d7f9b689
LC
1227 {
1228 .name = "boot_set",
1229 .args_type = "bootdevice:s",
d7f9b689
LC
1230 .params = "bootdevice",
1231 .help = "define new values for the boot device list",
2b9e3576 1232 .cmd = hmp_boot_set,
d7f9b689
LC
1233 },
1234
2313086a
BS
1235STEXI
1236@item boot_set @var{bootdevicelist}
70fcbbe7 1237@findex boot_set
2313086a
BS
1238Define 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
a6b30bca
PM
1244SRST
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
2313086a 1252
d7f9b689
LC
1253 {
1254 .name = "nmi",
e9b4b432
LC
1255 .args_type = "",
1256 .params = "",
9cb805fd 1257 .help = "inject an NMI",
2b9e3576 1258 .cmd = hmp_nmi,
d7f9b689 1259 },
2313086a
BS
1260STEXI
1261@item nmi @var{cpu}
70fcbbe7 1262@findex nmi
9cb805fd 1263Inject an NMI on the default CPU (x86/s390) or all CPUs (ppc64).
1f590cf9
LL
1264
1265ETEXI
a6b30bca
PM
1266SRST
1267``nmi`` *cpu*
1268 Inject an NMI on the default CPU (x86/s390) or all CPUs (ppc64).
1269ERST
1f590cf9
LL
1270
1271 {
3949e594 1272 .name = "ringbuf_write",
1f590cf9
LL
1273 .args_type = "device:s,data:s",
1274 .params = "device data",
3949e594 1275 .help = "Write to a ring buffer character device",
2b9e3576 1276 .cmd = hmp_ringbuf_write,
8e597779 1277 .command_completion = ringbuf_write_completion,
1f590cf9
LL
1278 },
1279
1280STEXI
3949e594
MA
1281@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.
1f590cf9 1285
49b6d722 1286ETEXI
a6b30bca
PM
1287SRST
1288``ringbuf_write`` *device* *data*
1289 Write *data* to ring buffer character device *device*.
1290 *data* must be a UTF-8 string.
1291ERST
49b6d722
LL
1292
1293 {
3949e594 1294 .name = "ringbuf_read",
49b6d722
LL
1295 .args_type = "device:s,size:i",
1296 .params = "device size",
3949e594 1297 .help = "Read from a ring buffer character device",
2b9e3576 1298 .cmd = hmp_ringbuf_read,
8e597779 1299 .command_completion = ringbuf_write_completion,
49b6d722
LL
1300 },
1301
1302STEXI
3949e594
MA
1303@item ringbuf_read @var{device}
1304@findex ringbuf_read
1305Read and print up to @var{size} bytes from ring buffer character
1306device @var{device}.
543f3412
MA
1307Certain non-printable characters are printed \uXXXX, where XXXX is the
1308character code in hexadecimal. Character \ is printed \\.
3949e594
MA
1309Bug: 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.
49b6d722 1312
544f6ea3 1313ETEXI
a6b30bca
PM
1314SRST
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
544f6ea3
DDAG
1324
1325 {
1326 .name = "announce_self",
c6644548
DDAG
1327 .args_type = "interfaces:s?,id:s?",
1328 .params = "[interfaces] [id]",
544f6ea3
DDAG
1329 .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.
08528271 1339An optional comma separated @var{interfaces} list restricts the announce to the
c6644548
DDAG
1340named set of interfaces. An optional @var{id} can be used to start a separate announce
1341timer and to change the parameters of it later.
2313086a 1342ETEXI
a6b30bca
PM
1343SRST
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
2313086a 1352
d7f9b689
LC
1353 {
1354 .name = "migrate",
7a4da28b
PX
1355 .args_type = "detach:-d,blk:-b,inc:-i,resume:-r,uri:s",
1356 .params = "[-d] [-b] [-i] [-r] uri",
fbc3d96c
LS
1357 .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 "
7a4da28b
PX
1361 "(base image shared between src and destination)"
1362 "\n\t\t\t -r to resume a paused migration",
2b9e3576 1363 .cmd = hmp_migrate,
d7f9b689
LC
1364 },
1365
fbc3d96c 1366
2313086a 1367STEXI
fbc3d96c 1368@item migrate [-d] [-b] [-i] @var{uri}
70fcbbe7 1369@findex migrate
2313086a 1370Migrate to @var{uri} (using -d to not wait for completion).
fbc3d96c
LS
1371 -b for migration with full copy of disk
1372 -i for migration with incremental copy of disk (base image is shared)
2313086a 1373ETEXI
a6b30bca
PM
1374SRST
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
2313086a 1383
d7f9b689
LC
1384 {
1385 .name = "migrate_cancel",
1386 .args_type = "",
d7f9b689
LC
1387 .params = "",
1388 .help = "cancel the current VM migration",
2b9e3576 1389 .cmd = hmp_migrate_cancel,
d7f9b689
LC
1390 },
1391
2313086a
BS
1392STEXI
1393@item migrate_cancel
70fcbbe7 1394@findex migrate_cancel
2313086a 1395Cancel the current VM migration.
94ae12cb 1396ETEXI
a6b30bca
PM
1397SRST
1398``migrate_cancel``
1399 Cancel the current VM migration.
1400ERST
9e1ba4cc 1401
94ae12cb
DDAG
1402 {
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}
bf1ae1f4 1413ETEXI
a6b30bca
PM
1414SRST
1415``migrate_continue`` *state*
1416 Continue migration from the paused state *state*
1417ERST
bf1ae1f4
DDAG
1418
1419 {
1420 .name = "migrate_incoming",
1421 .args_type = "uri:s",
1422 .params = "uri",
1423 .help = "Continue an incoming migration from an -incoming defer",
2b9e3576 1424 .cmd = hmp_migrate_incoming,
bf1ae1f4
DDAG
1425 },
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).
3b563c4b 1432ETEXI
a6b30bca
PM
1433SRST
1434``migrate_incoming`` *uri*
1435 Continue an incoming migration using the *uri* (that has the same syntax
1436 as the ``-incoming`` option).
1437ERST
bf1ae1f4 1438
3b563c4b
PX
1439 {
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}.
d37297dc 1451ETEXI
a6b30bca
PM
1452SRST
1453``migrate_recover`` *uri*
1454 Continue a paused incoming postcopy migration using the *uri*.
1455ERST
d37297dc
PX
1456
1457 {
1458 .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.
9e1ba4cc 1469ETEXI
a6b30bca
PM
1470SRST
1471``migrate_pause``
1472 Pause an ongoing migration. Currently it only supports postcopy.
1473ERST
9e1ba4cc
OW
1474
1475 {
1476 .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",
2b9e3576 1485 .cmd = hmp_migrate_set_cache_size,
9e1ba4cc
OW
1486 },
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.
2313086a 1492ETEXI
a6b30bca
PM
1493SRST
1494``migrate_set_cache_size`` *value*
1495 Set cache size to *value* (in bytes) for xbzrle migrations.
1496ERST
2313086a 1497
d7f9b689
LC
1498 {
1499 .name = "migrate_set_speed",
ed3d4a80 1500 .args_type = "value:o",
d7f9b689 1501 .params = "value",
ed3d4a80
JS
1502 .help = "set maximum speed (in bytes) for migrations. "
1503 "Defaults to MB if no size suffix is specified, ie. B/K/M/G/T",
2b9e3576 1504 .cmd = hmp_migrate_set_speed,
d7f9b689
LC
1505 },
1506
2313086a
BS
1507STEXI
1508@item migrate_set_speed @var{value}
70fcbbe7 1509@findex migrate_set_speed
2313086a 1510Set maximum speed to @var{value} (in bytes) for migrations.
2ea42952 1511ETEXI
a6b30bca
PM
1512SRST
1513``migrate_set_speed`` *value*
1514 Set maximum speed to *value* (in bytes) for migrations.
1515ERST
2ea42952 1516
d7f9b689
LC
1517 {
1518 .name = "migrate_set_downtime",
b0fbf7d3 1519 .args_type = "value:T",
d7f9b689
LC
1520 .params = "value",
1521 .help = "set maximum tolerated downtime (in seconds) for migrations",
2b9e3576 1522 .cmd = hmp_migrate_set_downtime,
d7f9b689 1523 },
2ea42952
GC
1524
1525STEXI
1526@item migrate_set_downtime @var{second}
70fcbbe7 1527@findex migrate_set_downtime
2ea42952 1528Set maximum tolerated downtime (in seconds) for migration.
00458433 1529ETEXI
a6b30bca
PM
1530SRST
1531``migrate_set_downtime`` *second*
1532 Set maximum tolerated downtime (in seconds) for migration.
1533ERST
00458433
OW
1534
1535 {
1536 .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",
2b9e3576 1540 .cmd = hmp_migrate_set_capability,
c68a0409 1541 .command_completion = migrate_set_capability_completion,
00458433
OW
1542 },
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.
50e9a629 1548ETEXI
a6b30bca
PM
1549SRST
1550``migrate_set_capability`` *capability* *state*
1551 Enable/Disable the usage of a capability *capability* for migration.
1552ERST
50e9a629
LL
1553
1554 {
1555 .name = "migrate_set_parameter",
69ef1f36 1556 .args_type = "parameter:s,value:s",
50e9a629
LL
1557 .params = "parameter value",
1558 .help = "Set the parameter for migration",
2b9e3576 1559 .cmd = hmp_migrate_set_parameter,
50e9a629
LL
1560 .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.
4886a1bc 1567ETEXI
a6b30bca
PM
1568SRST
1569``migrate_set_parameter`` *parameter* *value*
1570 Set the parameter *parameter* for migration.
1571ERST
4886a1bc
DDAG
1572
1573 {
1574 .name = "migrate_start_postcopy",
1575 .args_type = "",
1576 .params = "",
a54d340b 1577 .help = "Followup to a migration command to switch the migration"
32c3db5b 1578 " to postcopy mode. The postcopy-ram capability must "
c2eb7f21
GK
1579 "be set on both source and destination before the "
1580 "original migration command .",
2b9e3576 1581 .cmd = hmp_migrate_start_postcopy,
4886a1bc
DDAG
1582 },
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).
d89e666e 1589ETEXI
a6b30bca
PM
1590SRST
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
d89e666e
HZ
1595
1596 {
1597 .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.
f8882568 1609ETEXI
a6b30bca
PM
1610SRST
1611``x_colo_lost_heartbeat``
1612 Tell COLO that heartbeat is lost, a failover or takeover is needed.
1613ERST
f8882568
JS
1614
1615 {
2ea720db
JS
1616 .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",
13cadefb 1619 .help = "set migration information for remote display",
2b9e3576 1620 .cmd = hmp_client_migrate_info,
f8882568
JS
1621 },
1622
e866e239
GH
1623STEXI
1624@item client_migrate_info @var{protocol} @var{hostname} @var{port} @var{tls-port} @var{cert-subject}
1625@findex client_migrate_info
13cadefb
MA
1626Set 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.
e866e239 1629ETEXI
a6b30bca
PM
1630SRST
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
e866e239 1636
783e9b48
WC
1637 {
1638 .name = "dump-guest-memory",
2da91b54
VP
1639 .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]",
c20499d9
QN
1641 .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"
228de9cf 1643 "-d: return immediately (do not wait for completion).\n\t\t\t"
1b7a0f75
QN
1644 "-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"
2da91b54
VP
1647 "-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"
c20499d9
QN
1649 "begin: the starting physical address.\n\t\t\t"
1650 "length: the memory size, in bytes.",
2b9e3576 1651 .cmd = hmp_dump_guest_memory,
783e9b48
WC
1652 },
1653
783e9b48 1654STEXI
c20499d9 1655@item dump-guest-memory [-p] @var{filename} @var{begin} @var{length}
2da91b54 1656@item dump-guest-memory [-z|-l|-s|-w] @var{filename}
783e9b48
WC
1657@findex dump-guest-memory
1658Dump guest memory to @var{protocol}. The file can be processed with crash or
2da91b54 1659gdb. Without -z|-l|-s|-w, the dump format is ELF.
c20499d9 1660 -p: do paging to get guest's memory mapping.
1b7a0f75
QN
1661 -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.
2da91b54
VP
1664 -w: dump in Windows crashdump format (can be used instead of ELF-dump converting),
1665 for Windows x64 guests with vmcoreinfo driver only
c20499d9 1666 filename: dump file name.
783e9b48 1667 begin: the starting physical address. It's optional, and should be
c20499d9 1668 specified together with length.
783e9b48 1669 length: the memory size, in bytes. It's optional, and should be specified
c20499d9 1670 together with begin.
783e9b48 1671ETEXI
a6b30bca
PM
1672SRST
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
783e9b48 1700
a4538a5c
JH
1701#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",
2b9e3576 1707 .cmd = hmp_dump_skeys,
a4538a5c
JH
1708 },
1709#endif
1710
1711STEXI
1712@item dump-skeys @var{filename}
1713@findex dump-skeys
1714Save guest storage keys to a file.
f860d497 1715ETEXI
a6b30bca
PM
1716SRST
1717``dump-skeys`` *filename*
1718 Save guest storage keys to a file.
1719ERST
f860d497
CI
1720
1721#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.
a4538a5c 1735ETEXI
a6b30bca
PM
1736SRST
1737``migration_mode`` *mode*
1738 Enables or disables migration mode.
1739ERST
a4538a5c 1740
e866e239 1741 {
2ea720db 1742 .name = "snapshot_blkdev",
6cc2a415
PB
1743 .args_type = "reuse:-n,device:B,snapshot-file:s?,format:s?",
1744 .params = "[-n] device [new-image-file] [format]",
2ea720db
JS
1745 .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"
775ca88e 1749 "be created in that format.\n\t\t\t"
6cc2a415
PB
1750 "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.",
2b9e3576 1753 .cmd = hmp_snapshot_blkdev,
e866e239
GH
1754 },
1755
f8882568
JS
1756STEXI
1757@item snapshot_blkdev
1758@findex snapshot_blkdev
1759Snapshot device, using snapshot file as target if provided
775ca88e 1760ETEXI
a6b30bca
PM
1761SRST
1762``snapshot_blkdev``
1763 Snapshot device, using snapshot file as target if provided
1764ERST
775ca88e
WX
1765
1766 {
1767 .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",
2b9e3576 1773 .cmd = hmp_snapshot_blkdev_internal,
775ca88e
WX
1774 },
1775
1776STEXI
1777@item snapshot_blkdev_internal
1778@findex snapshot_blkdev_internal
1779Take an internal snapshot on device if it support
7a4ed2ee 1780ETEXI
a6b30bca
PM
1781SRST
1782``snapshot_blkdev_internal``
1783 Take an internal snapshot on device if it support
1784ERST
7a4ed2ee
WX
1785
1786 {
1787 .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",
2b9e3576 1795 .cmd = hmp_snapshot_delete_blkdev_internal,
7a4ed2ee
WX
1796 },
1797
1798STEXI
1799@item snapshot_delete_blkdev_internal
1800@findex snapshot_delete_blkdev_internal
1801Delete an internal snapshot on device if it support
d9b902db 1802ETEXI
a6b30bca
PM
1803SRST
1804``snapshot_delete_blkdev_internal``
1805 Delete an internal snapshot on device if it support
1806ERST
d9b902db
PB
1807
1808 {
1809 .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",
2b9e3576 1820 .cmd = hmp_drive_mirror,
d9b902db
PB
1821 },
1822STEXI
1823@item drive_mirror
1824@findex drive_mirror
1825Start mirroring a block device's writes to a new destination,
1826using the specified target.
de90930a 1827ETEXI
a6b30bca
PM
1828SRST
1829``drive_mirror``
1830 Start mirroring a block device's writes to a new destination,
1831 using the specified target.
1832ERST
de90930a
SH
1833
1834 {
1835 .name = "drive_backup",
13b9414b
PB
1836 .args_type = "reuse:-n,full:-f,compress:-c,device:B,target:s,format:s?",
1837 .params = "[-n] [-f] [-c] device target [format]",
de90930a
SH
1838 .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"
13b9414b
PB
1845 "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",
2b9e3576 1848 .cmd = hmp_drive_backup,
de90930a
SH
1849 },
1850STEXI
1851@item drive_backup
1852@findex drive_backup
1853Start a point-in-time copy of a block device to a specificed target.
2313086a 1854ETEXI
a6b30bca
PM
1855SRST
1856``drive_backup``
1857 Start a point-in-time copy of a block device to a specificed target.
1858ERST
2313086a 1859
d7f9b689
LC
1860 {
1861 .name = "drive_add",
abb21ac3
KW
1862 .args_type = "node:-n,pci_addr:s,opts:s",
1863 .params = "[-n] [[<domain>:]<bus>:]<slot>\n"
d7f9b689 1864 "[file=file][,if=type][,bus=n]\n"
fb0490f6 1865 "[,unit=m][,media=d][,index=i]\n"
fb0490f6
SH
1866 "[,snapshot=on|off][,cache=on|off]\n"
1867 "[,readonly=on|off][,copy-on-read=on|off]",
d7f9b689 1868 .help = "add drive to PCI storage controller",
2b9e3576 1869 .cmd = hmp_drive_add,
d7f9b689 1870 },
d7f9b689 1871
2313086a
BS
1872STEXI
1873@item drive_add
70fcbbe7 1874@findex drive_add
2313086a 1875Add drive to PCI storage controller.
2ae63bda 1876ETEXI
a6b30bca
PM
1877SRST
1878``drive_add``
1879 Add drive to PCI storage controller.
1880ERST
2ae63bda
IY
1881
1882 {
1883 .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",
2b9e3576 1897 .cmd = hmp_pcie_aer_inject_error,
2ae63bda
IY
1898 },
1899
1900STEXI
1901@item pcie_aer_inject_error
1902@findex pcie_aer_inject_error
1903Inject PCIe AER error
ae82d324 1904ETEXI
a6b30bca
PM
1905SRST
1906``pcie_aer_inject_error``
1907 Inject PCIe AER error
1908ERST
ae82d324
MA
1909
1910 {
1911 .name = "netdev_add",
1912 .args_type = "netdev:O",
03ce5744 1913 .params = "[user|tap|socket|vde|bridge|hubport|netmap|vhost-user],id=str[,prop=value][,...]",
ae82d324 1914 .help = "add host network device",
2b9e3576 1915 .cmd = hmp_netdev_add,
b162b49a 1916 .command_completion = netdev_add_completion,
ae82d324
MA
1917 },
1918
1919STEXI
1920@item netdev_add
1921@findex netdev_add
1922Add host network device.
1923ETEXI
a6b30bca
PM
1924SRST
1925``netdev_add``
1926 Add host network device.
1927ERST
ae82d324
MA
1928
1929 {
1930 .name = "netdev_del",
1931 .args_type = "id:s",
1932 .params = "id",
1933 .help = "remove host network device",
2b9e3576 1934 .cmd = hmp_netdev_del,
11b389f2 1935 .command_completion = netdev_del_completion,
ae82d324
MA
1936 },
1937
1938STEXI
1939@item netdev_del
1940@findex netdev_del
1941Remove host network device.
cff8b2c6 1942ETEXI
a6b30bca
PM
1943SRST
1944``netdev_del``
1945 Remove host network device.
1946ERST
cff8b2c6
PB
1947
1948 {
1949 .name = "object_add",
1950 .args_type = "object:O",
1951 .params = "[qom-type=]type,id=str[,prop=value][,...]",
1952 .help = "create QOM object",
2b9e3576 1953 .cmd = hmp_object_add,
bfa40f77 1954 .command_completion = object_add_completion,
cff8b2c6
PB
1955 },
1956
1957STEXI
1958@item object_add
1959@findex object_add
1960Create QOM object.
ab2d0531 1961ETEXI
a6b30bca
PM
1962SRST
1963``object_add``
1964 Create QOM object.
1965ERST
ab2d0531
PB
1966
1967 {
1968 .name = "object_del",
1969 .args_type = "id:s",
1970 .params = "id",
1971 .help = "destroy QOM object",
2b9e3576 1972 .cmd = hmp_object_del,
bfa40f77 1973 .command_completion = object_del_completion,
ab2d0531
PB
1974 },
1975
1976STEXI
1977@item object_del
1978@findex object_del
1979Destroy QOM object.
2313086a 1980ETEXI
a6b30bca
PM
1981SRST
1982``object_del``
1983 Destroy QOM object.
1984ERST
2313086a
BS
1985
1986#ifdef CONFIG_SLIRP
d7f9b689
LC
1987 {
1988 .name = "hostfwd_add",
1989 .args_type = "arg1:s,arg2:s?,arg3:s?",
93653066 1990 .params = "[hub_id name]|[netdev_id] [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport",
d7f9b689 1991 .help = "redirect TCP or UDP connections from host to guest (requires -net user)",
2b9e3576 1992 .cmd = hmp_hostfwd_add,
d7f9b689 1993 },
21413d68
MA
1994#endif
1995STEXI
1996@item hostfwd_add
1997@findex hostfwd_add
1998Redirect TCP or UDP connections from host to guest (requires -net user).
1999ETEXI
a6b30bca
PM
2000SRST
2001``hostfwd_add``
2002 Redirect TCP or UDP connections from host to guest (requires -net user).
2003ERST
d7f9b689 2004
21413d68 2005#ifdef CONFIG_SLIRP
d7f9b689
LC
2006 {
2007 .name = "hostfwd_remove",
2008 .args_type = "arg1:s,arg2:s?,arg3:s?",
93653066 2009 .params = "[hub_id name]|[netdev_id] [tcp|udp]:[hostaddr]:hostport",
d7f9b689 2010 .help = "remove host-to-guest TCP or UDP redirection",
2b9e3576 2011 .cmd = hmp_hostfwd_remove,
d7f9b689
LC
2012 },
2013
2313086a
BS
2014#endif
2015STEXI
21413d68
MA
2016@item hostfwd_remove
2017@findex hostfwd_remove
2018Remove host-to-guest TCP or UDP redirection.
2313086a 2019ETEXI
a6b30bca
PM
2020SRST
2021``hostfwd_remove``
2022 Remove host-to-guest TCP or UDP redirection.
2023ERST
2313086a 2024
d7f9b689
LC
2025 {
2026 .name = "balloon",
3b0bd6ec 2027 .args_type = "value:M",
d7f9b689 2028 .params = "target",
3c05613a 2029 .help = "request VM to change its memory allocation (in MB)",
2b9e3576 2030 .cmd = hmp_balloon,
d7f9b689
LC
2031 },
2032
2313086a
BS
2033STEXI
2034@item balloon @var{value}
70fcbbe7 2035@findex balloon
2313086a
BS
2036Request VM to change its memory allocation to @var{value} (in MB).
2037ETEXI
a6b30bca
PM
2038SRST
2039``balloon`` *value*
2040 Request VM to change its memory allocation to *value* (in MB).
2041ERST
2313086a 2042
d7f9b689
LC
2043 {
2044 .name = "set_link",
c9b26a4c
MA
2045 .args_type = "name:s,up:b",
2046 .params = "name on|off",
d7f9b689 2047 .help = "change the link status of a network adapter",
2b9e3576 2048 .cmd = hmp_set_link,
40d19394 2049 .command_completion = set_link_completion,
d7f9b689
LC
2050 },
2051
2313086a 2052STEXI
c9b26a4c 2053@item set_link @var{name} [on|off]
70fcbbe7 2054@findex set_link
c9b26a4c 2055Switch link @var{name} on (i.e. up) or off (i.e. down).
2313086a 2056ETEXI
a6b30bca
PM
2057SRST
2058``set_link`` *name* ``[on|off]``
2059 Switch link *name* on (i.e. up) or off (i.e. down).
2060ERST
2313086a 2061
d7f9b689
LC
2062 {
2063 .name = "watchdog_action",
2064 .args_type = "action:s",
d7f9b689
LC
2065 .params = "[reset|shutdown|poweroff|pause|debug|none]",
2066 .help = "change watchdog action",
2b9e3576 2067 .cmd = hmp_watchdog_action,
d0ece345 2068 .command_completion = watchdog_action_completion,
d7f9b689
LC
2069 },
2070
2313086a
BS
2071STEXI
2072@item watchdog_action
70fcbbe7 2073@findex watchdog_action
2313086a
BS
2074Change watchdog action.
2075ETEXI
a6b30bca
PM
2076SRST
2077``watchdog_action``
2078 Change watchdog action.
2079ERST
2313086a 2080
d7f9b689
LC
2081 {
2082 .name = "acl_show",
2083 .args_type = "aclname:s",
d7f9b689
LC
2084 .params = "aclname",
2085 .help = "list rules in the access control list",
2b9e3576 2086 .cmd = hmp_acl_show,
d7f9b689
LC
2087 },
2088
2313086a 2089STEXI
15dfcd45 2090@item acl_show @var{aclname}
70fcbbe7 2091@findex acl_show
15dfcd45
JK
2092List 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
a6b30bca
PM
2097SRST
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
2313086a 2104
d7f9b689
LC
2105 {
2106 .name = "acl_policy",
2107 .args_type = "aclname:s,policy:s",
d7f9b689
LC
2108 .params = "aclname allow|deny",
2109 .help = "set default access control list policy",
2b9e3576 2110 .cmd = hmp_acl_policy,
d7f9b689
LC
2111 },
2112
15dfcd45 2113STEXI
cbbfacc6 2114@item acl_policy @var{aclname} @code{allow|deny}
70fcbbe7 2115@findex acl_policy
15dfcd45 2116Set the default access control list policy, used in the event that
2313086a 2117none of the explicit rules match. The default policy at startup is
15dfcd45
JK
2118always @code{deny}.
2119ETEXI
a6b30bca
PM
2120SRST
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
15dfcd45 2126
d7f9b689
LC
2127 {
2128 .name = "acl_add",
2129 .args_type = "aclname:s,match:s,policy:s,index:i?",
d7f9b689
LC
2130 .params = "aclname match allow|deny [index]",
2131 .help = "add a match rule to the access control list",
2b9e3576 2132 .cmd = hmp_acl_add,
d7f9b689
LC
2133 },
2134
15dfcd45 2135STEXI
0e4aec98
MA
2136@item acl_add @var{aclname} @var{match} @code{allow|deny} [@var{index}]
2137@findex acl_add
15dfcd45
JK
2138Add 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
2313086a 2142normally be appended to the end of the ACL, but can be inserted
15dfcd45
JK
2143earlier in the list if the optional @var{index} parameter is supplied.
2144ETEXI
a6b30bca
PM
2145SRST
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
15dfcd45 2154
d7f9b689
LC
2155 {
2156 .name = "acl_remove",
2157 .args_type = "aclname:s,match:s",
d7f9b689
LC
2158 .params = "aclname match",
2159 .help = "remove a match rule from the access control list",
2b9e3576 2160 .cmd = hmp_acl_remove,
d7f9b689
LC
2161 },
2162
15dfcd45
JK
2163STEXI
2164@item acl_remove @var{aclname} @var{match}
70fcbbe7 2165@findex acl_remove
15dfcd45
JK
2166Remove the specified match rule from the access control list.
2167ETEXI
a6b30bca
PM
2168SRST
2169``acl_remove`` *aclname* *match*
2170 Remove the specified match rule from the access control list.
2171ERST
15dfcd45 2172
d7f9b689
LC
2173 {
2174 .name = "acl_reset",
2175 .args_type = "aclname:s",
d7f9b689
LC
2176 .params = "aclname",
2177 .help = "reset the access control list",
2b9e3576 2178 .cmd = hmp_acl_reset,
d7f9b689
LC
2179 },
2180
15dfcd45 2181STEXI
0e4aec98
MA
2182@item acl_reset @var{aclname}
2183@findex acl_reset
15dfcd45 2184Remove all matches from the access control list, and set the default
2313086a 2185policy back to @code{deny}.
2313086a 2186ETEXI
a6b30bca
PM
2187SRST
2188``acl_reset`` *aclname*
2189 Remove all matches from the access control list, and set the default
2190 policy back to ``deny``.
2191ERST
2313086a 2192
4057725f
PB
2193 {
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",
2b9e3576 2198 .cmd = hmp_nbd_server_start,
4057725f
PB
2199 },
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
a6b30bca
PM
2208SRST
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
4057725f
PB
2215
2216 {
2217 .name = "nbd_server_add",
dba49323
EB
2218 .args_type = "writable:-w,device:B,name:s?",
2219 .params = "nbd_server_add [-w] device [name]",
4057725f 2220 .help = "export a block device via NBD",
2b9e3576 2221 .cmd = hmp_nbd_server_add,
4057725f
PB
2222 },
2223STEXI
dba49323 2224@item nbd_server_add @var{device} [ @var{name} ]
4057725f
PB
2225@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
dba49323
EB
2228exported device writable too. The export name is controlled by @var{name},
2229defaulting to @var{device}.
08fb10a7 2230ETEXI
a6b30bca
PM
2231SRST
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
08fb10a7
EB
2238
2239 {
2240 .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.
4057725f 2254ETEXI
a6b30bca
PM
2255SRST
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
4057725f
PB
2263
2264 {
2265 .name = "nbd_server_stop",
2266 .args_type = "",
2267 .params = "nbd_server_stop",
2268 .help = "stop serving block devices using the NBD protocol",
2b9e3576 2269 .cmd = hmp_nbd_server_stop,
4057725f
PB
2270 },
2271STEXI
2272@item nbd_server_stop
2273@findex nbd_server_stop
2274Stop the QEMU embedded NBD server.
2275ETEXI
a6b30bca
PM
2276SRST
2277``nbd_server_stop``
2278 Stop the QEMU embedded NBD server.
2279ERST
4057725f
PB
2280
2281
79c4f6b0 2282#if defined(TARGET_I386)
d7f9b689
LC
2283
2284 {
2285 .name = "mce",
31ce5e0c
JD
2286 .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]",
2b9e3576 2289 .cmd = hmp_mce,
d7f9b689
LC
2290 },
2291
79c4f6b0
HY
2292#endif
2293STEXI
2294@item mce @var{cpu} @var{bank} @var{status} @var{mcgstatus} @var{addr} @var{misc}
70fcbbe7 2295@findex mce (x86)
79c4f6b0 2296Inject an MCE on the given CPU (x86 only).
f07918fd 2297ETEXI
a6b30bca
PM
2298SRST
2299``mce`` *cpu* *bank* *status* *mcgstatus* *addr* *misc*
2300 Inject an MCE on the given CPU (x86 only).
2301ERST
f07918fd 2302
d7f9b689
LC
2303 {
2304 .name = "getfd",
2305 .args_type = "fdname:s",
d7f9b689
LC
2306 .params = "getfd name",
2307 .help = "receive a file descriptor via SCM rights and assign it a name",
2b9e3576 2308 .cmd = hmp_getfd,
d7f9b689
LC
2309 },
2310
f07918fd
MM
2311STEXI
2312@item getfd @var{fdname}
70fcbbe7 2313@findex getfd
f07918fd
MM
2314If 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
a6b30bca
PM
2318SRST
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
f07918fd 2324
d7f9b689
LC
2325 {
2326 .name = "closefd",
2327 .args_type = "fdname:s",
d7f9b689
LC
2328 .params = "closefd name",
2329 .help = "close a file descriptor previously passed via SCM rights",
2b9e3576 2330 .cmd = hmp_closefd,
d7f9b689
LC
2331 },
2332
f07918fd
MM
2333STEXI
2334@item closefd @var{fdname}
70fcbbe7 2335@findex closefd
f07918fd
MM
2336Close 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.
a3a55a2e 2339ETEXI
a6b30bca
PM
2340SRST
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
a3a55a2e
LC
2346
2347 {
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",
2b9e3576 2352 .cmd = hmp_block_passwd,
a3a55a2e
LC
2353 },
2354
727f005e 2355STEXI
b76d799e
MA
2356@item block_passwd @var{device} @var{password}
2357@findex block_passwd
2358Set the encrypted device @var{device} password to @var{password}
c01c214b
DB
2359
2360This command is now obsolete and will always return an error since 2.10
727f005e 2361ETEXI
a6b30bca
PM
2362SRST
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
727f005e
ZYW
2368
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",
2b9e3576 2374 .cmd = hmp_block_set_io_throttle,
727f005e
ZYW
2375 },
2376
a3a55a2e 2377STEXI
b76d799e
MA
2378@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
83592184
AG
2380Change 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.
7572150c 2382ETEXI
a6b30bca
PM
2383SRST
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
7572150c
GH
2389
2390 {
2391 .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",
2b9e3576 2395 .cmd = hmp_set_password,
7572150c
GH
2396 },
2397
2398STEXI
2399@item set_password [ vnc | spice ] password [ action-if-connected ]
2400@findex set_password
7572150c
GH
2401Change 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
a6b30bca
PM
2408SRST
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
7572150c
GH
2417
2418 {
2419 .name = "expire_password",
2420 .args_type = "protocol:s,time:s",
2421 .params = "protocol time",
2422 .help = "set spice/vnc password expire-time",
2b9e3576 2423 .cmd = hmp_expire_password,
7572150c
GH
2424 },
2425
2426STEXI
2427@item expire_password [ vnc | spice ] expire-time
2428@findex expire_password
7572150c
GH
2429Specify 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
f1088908 2447ETEXI
a6b30bca
PM
2448SRST
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
f1088908 2464
46920825
GH
2465 {
2466 .name = "chardev-add",
2467 .args_type = "args:s",
2468 .params = "args",
2469 .help = "add chardev",
2b9e3576 2470 .cmd = hmp_chardev_add,
13e315da 2471 .command_completion = chardev_add_completion,
46920825
GH
2472 },
2473
2474STEXI
b76d799e
MA
2475@item chardev-add args
2476@findex chardev-add
75b60160
AN
2477chardev-add accepts the same parameters as the -chardev command line switch.
2478
2479ETEXI
a6b30bca
PM
2480SRST
2481``chardev-add`` *args*
2482 chardev-add accepts the same parameters as the -chardev command line switch.
2483ERST
75b60160
AN
2484
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").
46920825
GH
2498
2499ETEXI
a6b30bca
PM
2500SRST
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
46920825
GH
2505
2506 {
2507 .name = "chardev-remove",
2508 .args_type = "id:s",
2509 .params = "id",
2510 .help = "remove chardev",
2b9e3576 2511 .cmd = hmp_chardev_remove,
6297d9a2 2512 .command_completion = chardev_remove_completion,
46920825
GH
2513 },
2514
2515STEXI
b76d799e
MA
2516@item chardev-remove id
2517@findex chardev-remove
46920825
GH
2518Removes the chardev @var{id}.
2519
bd1d5ad9 2520ETEXI
a6b30bca
PM
2521SRST
2522``chardev-remove`` *id*
2523 Removes the chardev *id*.
2524ERST
bd1d5ad9
SF
2525
2526 {
2527 .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
587da2c3 2540ETEXI
a6b30bca
PM
2541SRST
2542``chardev-send-break`` *id*
2543 Send a break on the chardev *id*.
2544ERST
587da2c3
KW
2545
2546 {
2547 .name = "qemu-io",
89b6fc45
KW
2548 .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",
2b9e3576 2553 .cmd = hmp_qemu_io,
587da2c3
KW
2554 },
2555
2556STEXI
2557@item qemu-io @var{device} @var{command}
2558@findex qemu-io
587da2c3
KW
2559Executes a qemu-io command on the given block device.
2560
abf23329 2561ETEXI
a6b30bca
PM
2562SRST
2563``qemu-io`` *device* *command*
2564 Executes a qemu-io command on the given block device.
2565ERST
abf23329
JH
2566
2567 {
2568 .name = "cpu-add",
2569 .args_type = "id:i",
2570 .params = "id",
e25701b7 2571 .help = "add cpu (deprecated, use device_add instead)",
2b9e3576 2572 .cmd = hmp_cpu_add,
abf23329
JH
2573 },
2574
2575STEXI
2576@item cpu-add @var{id}
b76d799e 2577@findex cpu-add
e25701b7
KC
2578Add 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'.
89d7fa9e 2581ETEXI
a6b30bca
PM
2582SRST
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
89d7fa9e
AF
2588
2589 {
2590 .name = "qom-list",
2591 .args_type = "path:s?",
2592 .params = "path",
2593 .help = "list QOM properties",
2b9e3576 2594 .cmd = hmp_qom_list,
8c7c7ecb 2595 .flags = "p",
89d7fa9e
AF
2596 },
2597
2598STEXI
2599@item qom-list [@var{path}]
2600Print QOM properties of object at location @var{path}
c0e6ee9e 2601ETEXI
a6b30bca
PM
2602SRST
2603``qom-list`` [*path*]
2604 Print QOM properties of object at location *path*
2605ERST
c0e6ee9e
AF
2606
2607 {
2608 .name = "qom-set",
2609 .args_type = "path:s,property:s,value:s",
2610 .params = "path property value",
2611 .help = "set QOM property",
2b9e3576 2612 .cmd = hmp_qom_set,
8c7c7ecb 2613 .flags = "p",
c0e6ee9e
AF
2614 },
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}
46920825 2619ETEXI
a6b30bca
PM
2620SRST
2621``qom-set`` *path* *property* *value*
2622 Set QOM property *property* of object at location *path* to value *value*
2623ERST
b40292e7 2624
33572ece
JK
2625 {
2626 .name = "info",
2627 .args_type = "item:s?",
2628 .params = "[subcommand]",
2629 .help = "show various information about the system state",
2b9e3576 2630 .cmd = hmp_info_help,
a0cd5e1c 2631 .sub_table = hmp_info_cmds,
8c7c7ecb 2632 .flags = "p",
33572ece
JK
2633 },
2634
70703344
PB
2635STEXI
2636@end table
2637ETEXI