xref: /qemu/hmp-commands.hx (revision 7572150c189c6553c2448334116ab717680de66d)
12313086aSBlue SwirlHXCOMM Use DEFHEADING() to define headings in both help text and texi
22313086aSBlue SwirlHXCOMM Text between STEXI and ETEXI are copied to texi version and
32313086aSBlue SwirlHXCOMM discarded from C version
42313086aSBlue SwirlHXCOMM DEF(command, args, callback, arg_string, help) is used to construct
52313086aSBlue SwirlHXCOMM monitor commands
62313086aSBlue SwirlHXCOMM HXCOMM can be used for comments, discarded from both texi and C
72313086aSBlue Swirl
82313086aSBlue SwirlSTEXI
92313086aSBlue Swirl@table @option
102313086aSBlue SwirlETEXI
112313086aSBlue Swirl
12d7f9b689SLuiz Capitulino    {
13d7f9b689SLuiz Capitulino        .name       = "help|?",
14d7f9b689SLuiz Capitulino        .args_type  = "name:s?",
15d7f9b689SLuiz Capitulino        .params     = "[cmd]",
16d7f9b689SLuiz Capitulino        .help       = "show the help",
17af4ce882SLuiz Capitulino        .mhandler.cmd = do_help_cmd,
18d7f9b689SLuiz Capitulino    },
19d7f9b689SLuiz Capitulino
202313086aSBlue SwirlSTEXI
212313086aSBlue Swirl@item help or ? [@var{cmd}]
2270fcbbe7SStefan Weil@findex help
232313086aSBlue SwirlShow the help for all commands or just for command @var{cmd}.
242313086aSBlue SwirlETEXI
252313086aSBlue Swirl
26d7f9b689SLuiz Capitulino    {
27d7f9b689SLuiz Capitulino        .name       = "commit",
28d7f9b689SLuiz Capitulino        .args_type  = "device:B",
29d7f9b689SLuiz Capitulino        .params     = "device|all",
30d7f9b689SLuiz Capitulino        .help       = "commit changes to the disk images (if -snapshot is used) or backing files",
31af4ce882SLuiz Capitulino        .mhandler.cmd = do_commit,
32d7f9b689SLuiz Capitulino    },
33d7f9b689SLuiz Capitulino
342313086aSBlue SwirlSTEXI
352313086aSBlue Swirl@item commit
3670fcbbe7SStefan Weil@findex commit
372313086aSBlue SwirlCommit changes to the disk images (if -snapshot is used) or backing files.
382313086aSBlue SwirlETEXI
392313086aSBlue Swirl
40d7f9b689SLuiz Capitulino    {
41d7f9b689SLuiz Capitulino        .name       = "q|quit",
42d7f9b689SLuiz Capitulino        .args_type  = "",
43d7f9b689SLuiz Capitulino        .params     = "",
44d7f9b689SLuiz Capitulino        .help       = "quit the emulator",
45b223f35fSLuiz Capitulino        .user_print = monitor_user_noop,
46261394dbSLuiz Capitulino        .mhandler.cmd_new = do_quit,
47d7f9b689SLuiz Capitulino    },
48d7f9b689SLuiz Capitulino
492313086aSBlue SwirlSTEXI
502313086aSBlue Swirl@item q or quit
5170fcbbe7SStefan Weil@findex quit
522313086aSBlue SwirlQuit the emulator.
532313086aSBlue SwirlETEXI
542313086aSBlue Swirl
55d7f9b689SLuiz Capitulino    {
56d7f9b689SLuiz Capitulino        .name       = "eject",
5778d714e0SLuiz Capitulino        .args_type  = "force:-f,device:B",
58d7f9b689SLuiz Capitulino        .params     = "[-f] device",
59d7f9b689SLuiz Capitulino        .help       = "eject a removable medium (use -f to force it)",
60e1c923a6SLuiz Capitulino        .user_print = monitor_user_noop,
61261394dbSLuiz Capitulino        .mhandler.cmd_new = do_eject,
62d7f9b689SLuiz Capitulino    },
63d7f9b689SLuiz Capitulino
642313086aSBlue SwirlSTEXI
652313086aSBlue Swirl@item eject [-f] @var{device}
6670fcbbe7SStefan Weil@findex eject
672313086aSBlue SwirlEject a removable medium (use -f to force it).
682313086aSBlue SwirlETEXI
692313086aSBlue Swirl
70d7f9b689SLuiz Capitulino    {
719063f814SRyan Harper        .name       = "drive_del",
729063f814SRyan Harper        .args_type  = "id:s",
739063f814SRyan Harper        .params     = "device",
749063f814SRyan Harper        .help       = "remove host block device",
759063f814SRyan Harper        .user_print = monitor_user_noop,
769063f814SRyan Harper        .mhandler.cmd_new = do_drive_del,
779063f814SRyan Harper    },
789063f814SRyan Harper
799063f814SRyan HarperSTEXI
809063f814SRyan Harper@item drive_del @var{device}
819063f814SRyan Harper@findex drive_del
829063f814SRyan HarperRemove host block device.  The result is that guest generated IO is no longer
839063f814SRyan Harpersubmitted against the host device underlying the disk.  Once a drive has
849063f814SRyan Harperbeen deleted, the QEMU Block layer returns -EIO which results in IO
859063f814SRyan Harpererrors in the guest for applications that are reading/writing to the device.
869063f814SRyan HarperETEXI
879063f814SRyan Harper
889063f814SRyan Harper    {
89d7f9b689SLuiz Capitulino        .name       = "change",
90d7f9b689SLuiz Capitulino        .args_type  = "device:B,target:F,arg:s?",
91d7f9b689SLuiz Capitulino        .params     = "device filename [format]",
92d7f9b689SLuiz Capitulino        .help       = "change a removable medium, optional format",
93ec3b82afSMarkus Armbruster        .user_print = monitor_user_noop,
94261394dbSLuiz Capitulino        .mhandler.cmd_new = do_change,
95d7f9b689SLuiz Capitulino    },
96d7f9b689SLuiz Capitulino
972313086aSBlue SwirlSTEXI
982313086aSBlue Swirl@item change @var{device} @var{setting}
9970fcbbe7SStefan Weil@findex change
1002313086aSBlue Swirl
1012313086aSBlue SwirlChange the configuration of a device.
1022313086aSBlue Swirl
1032313086aSBlue Swirl@table @option
1042313086aSBlue Swirl@item change @var{diskdevice} @var{filename} [@var{format}]
1052313086aSBlue SwirlChange the medium for a removable disk device to point to @var{filename}. eg
1062313086aSBlue Swirl
1072313086aSBlue Swirl@example
1082313086aSBlue Swirl(qemu) change ide1-cd0 /path/to/some.iso
1092313086aSBlue Swirl@end example
1102313086aSBlue Swirl
1112313086aSBlue Swirl@var{format} is optional.
1122313086aSBlue Swirl
1132313086aSBlue Swirl@item change vnc @var{display},@var{options}
1142313086aSBlue SwirlChange the configuration of the VNC server. The valid syntax for @var{display}
1152313086aSBlue Swirland @var{options} are described at @ref{sec_invocation}. eg
1162313086aSBlue Swirl
1172313086aSBlue Swirl@example
1182313086aSBlue Swirl(qemu) change vnc localhost:1
1192313086aSBlue Swirl@end example
1202313086aSBlue Swirl
1212313086aSBlue Swirl@item change vnc password [@var{password}]
1222313086aSBlue Swirl
1232313086aSBlue SwirlChange the password associated with the VNC server. If the new password is not
1242313086aSBlue Swirlsupplied, the monitor will prompt for it to be entered. VNC passwords are only
1252313086aSBlue Swirlsignificant up to 8 letters. eg
1262313086aSBlue Swirl
1272313086aSBlue Swirl@example
1282313086aSBlue Swirl(qemu) change vnc password
1292313086aSBlue SwirlPassword: ********
1302313086aSBlue Swirl@end example
1312313086aSBlue Swirl
1322313086aSBlue Swirl@end table
1332313086aSBlue SwirlETEXI
1342313086aSBlue Swirl
135d7f9b689SLuiz Capitulino    {
136d7f9b689SLuiz Capitulino        .name       = "screendump",
137d7f9b689SLuiz Capitulino        .args_type  = "filename:F",
138d7f9b689SLuiz Capitulino        .params     = "filename",
139d7f9b689SLuiz Capitulino        .help       = "save screen into PPM image 'filename'",
140f1dc58e0SLuiz Capitulino        .user_print = monitor_user_noop,
141f1dc58e0SLuiz Capitulino        .mhandler.cmd_new = do_screen_dump,
142d7f9b689SLuiz Capitulino    },
143d7f9b689SLuiz Capitulino
1442313086aSBlue SwirlSTEXI
1452313086aSBlue Swirl@item screendump @var{filename}
14670fcbbe7SStefan Weil@findex screendump
1472313086aSBlue SwirlSave screen into PPM image @var{filename}.
1482313086aSBlue SwirlETEXI
1492313086aSBlue Swirl
150d7f9b689SLuiz Capitulino    {
151d7f9b689SLuiz Capitulino        .name       = "logfile",
152d7f9b689SLuiz Capitulino        .args_type  = "filename:F",
153d7f9b689SLuiz Capitulino        .params     = "filename",
154d7f9b689SLuiz Capitulino        .help       = "output logs to 'filename'",
155af4ce882SLuiz Capitulino        .mhandler.cmd = do_logfile,
156d7f9b689SLuiz Capitulino    },
157d7f9b689SLuiz Capitulino
1582313086aSBlue SwirlSTEXI
1592313086aSBlue Swirl@item logfile @var{filename}
16070fcbbe7SStefan Weil@findex logfile
1612313086aSBlue SwirlOutput logs to @var{filename}.
1622313086aSBlue SwirlETEXI
1632313086aSBlue Swirl
16422890ab5SPrerna Saxena#ifdef CONFIG_SIMPLE_TRACE
16522890ab5SPrerna Saxena    {
16622890ab5SPrerna Saxena        .name       = "trace-event",
16722890ab5SPrerna Saxena        .args_type  = "name:s,option:b",
16822890ab5SPrerna Saxena        .params     = "name on|off",
16922890ab5SPrerna Saxena        .help       = "changes status of a specific trace event",
17022890ab5SPrerna Saxena        .mhandler.cmd = do_change_trace_event_state,
17122890ab5SPrerna Saxena    },
17222890ab5SPrerna Saxena
17322890ab5SPrerna SaxenaSTEXI
17422890ab5SPrerna Saxena@item trace-event
17522890ab5SPrerna Saxena@findex trace-event
17622890ab5SPrerna Saxenachanges status of a trace event
17722890ab5SPrerna SaxenaETEXI
178c5ceb523SStefan Hajnoczi
179c5ceb523SStefan Hajnoczi    {
180c5ceb523SStefan Hajnoczi        .name       = "trace-file",
181c5ceb523SStefan Hajnoczi        .args_type  = "op:s?,arg:F?",
182c5ceb523SStefan Hajnoczi        .params     = "on|off|flush|set [arg]",
183c5ceb523SStefan Hajnoczi        .help       = "open, close, or flush trace file, or set a new file name",
184c5ceb523SStefan Hajnoczi        .mhandler.cmd = do_trace_file,
185c5ceb523SStefan Hajnoczi    },
186c5ceb523SStefan Hajnoczi
187c5ceb523SStefan HajnocziSTEXI
188c5ceb523SStefan Hajnoczi@item trace-file on|off|flush
189c5ceb523SStefan Hajnoczi@findex trace-file
190c5ceb523SStefan HajnocziOpen, close, or flush the trace file.  If no argument is given, the status of the trace file is displayed.
191c5ceb523SStefan HajnocziETEXI
19222890ab5SPrerna Saxena#endif
19322890ab5SPrerna Saxena
194d7f9b689SLuiz Capitulino    {
195d7f9b689SLuiz Capitulino        .name       = "log",
196d7f9b689SLuiz Capitulino        .args_type  = "items:s",
197d7f9b689SLuiz Capitulino        .params     = "item1[,...]",
198d7f9b689SLuiz Capitulino        .help       = "activate logging of the specified items to '/tmp/qemu.log'",
199af4ce882SLuiz Capitulino        .mhandler.cmd = do_log,
200d7f9b689SLuiz Capitulino    },
201d7f9b689SLuiz Capitulino
2022313086aSBlue SwirlSTEXI
2032313086aSBlue Swirl@item log @var{item1}[,...]
20470fcbbe7SStefan Weil@findex log
2052313086aSBlue SwirlActivate logging of the specified items to @file{/tmp/qemu.log}.
2062313086aSBlue SwirlETEXI
2072313086aSBlue Swirl
208d7f9b689SLuiz Capitulino    {
209d7f9b689SLuiz Capitulino        .name       = "savevm",
210d7f9b689SLuiz Capitulino        .args_type  = "name:s?",
211d7f9b689SLuiz Capitulino        .params     = "[tag|id]",
212d7f9b689SLuiz Capitulino        .help       = "save a VM snapshot. If no tag or id are provided, a new snapshot is created",
213af4ce882SLuiz Capitulino        .mhandler.cmd = do_savevm,
214d7f9b689SLuiz Capitulino    },
215d7f9b689SLuiz Capitulino
2162313086aSBlue SwirlSTEXI
2172313086aSBlue Swirl@item savevm [@var{tag}|@var{id}]
21870fcbbe7SStefan Weil@findex savevm
2192313086aSBlue SwirlCreate a snapshot of the whole virtual machine. If @var{tag} is
2202313086aSBlue Swirlprovided, it is used as human readable identifier. If there is already
2212313086aSBlue Swirla snapshot with the same tag or ID, it is replaced. More info at
2222313086aSBlue Swirl@ref{vm_snapshots}.
2232313086aSBlue SwirlETEXI
2242313086aSBlue Swirl
225d7f9b689SLuiz Capitulino    {
226d7f9b689SLuiz Capitulino        .name       = "loadvm",
227d7f9b689SLuiz Capitulino        .args_type  = "name:s",
228d7f9b689SLuiz Capitulino        .params     = "tag|id",
229d7f9b689SLuiz Capitulino        .help       = "restore a VM snapshot from its tag or id",
230af4ce882SLuiz Capitulino        .mhandler.cmd = do_loadvm,
231d7f9b689SLuiz Capitulino    },
232d7f9b689SLuiz Capitulino
2332313086aSBlue SwirlSTEXI
2342313086aSBlue Swirl@item loadvm @var{tag}|@var{id}
23570fcbbe7SStefan Weil@findex loadvm
2362313086aSBlue SwirlSet the whole virtual machine to the snapshot identified by the tag
2372313086aSBlue Swirl@var{tag} or the unique snapshot ID @var{id}.
2382313086aSBlue SwirlETEXI
2392313086aSBlue Swirl
240d7f9b689SLuiz Capitulino    {
241d7f9b689SLuiz Capitulino        .name       = "delvm",
242d7f9b689SLuiz Capitulino        .args_type  = "name:s",
243d7f9b689SLuiz Capitulino        .params     = "tag|id",
244d7f9b689SLuiz Capitulino        .help       = "delete a VM snapshot from its tag or id",
245af4ce882SLuiz Capitulino        .mhandler.cmd = do_delvm,
246d7f9b689SLuiz Capitulino    },
247d7f9b689SLuiz Capitulino
2482313086aSBlue SwirlSTEXI
2492313086aSBlue Swirl@item delvm @var{tag}|@var{id}
25070fcbbe7SStefan Weil@findex delvm
2512313086aSBlue SwirlDelete the snapshot identified by @var{tag} or @var{id}.
2522313086aSBlue SwirlETEXI
2532313086aSBlue Swirl
254d7f9b689SLuiz Capitulino    {
255d7f9b689SLuiz Capitulino        .name       = "singlestep",
256d7f9b689SLuiz Capitulino        .args_type  = "option:s?",
257d7f9b689SLuiz Capitulino        .params     = "[on|off]",
258d7f9b689SLuiz Capitulino        .help       = "run emulation in singlestep mode or switch to normal mode",
259af4ce882SLuiz Capitulino        .mhandler.cmd = do_singlestep,
260d7f9b689SLuiz Capitulino    },
261d7f9b689SLuiz Capitulino
2622313086aSBlue SwirlSTEXI
2632313086aSBlue Swirl@item singlestep [off]
26470fcbbe7SStefan Weil@findex singlestep
2652313086aSBlue SwirlRun the emulation in single step mode.
2662313086aSBlue SwirlIf called with option off, the emulation returns to normal mode.
2672313086aSBlue SwirlETEXI
2682313086aSBlue Swirl
269d7f9b689SLuiz Capitulino    {
270d7f9b689SLuiz Capitulino        .name       = "stop",
271d7f9b689SLuiz Capitulino        .args_type  = "",
272d7f9b689SLuiz Capitulino        .params     = "",
273d7f9b689SLuiz Capitulino        .help       = "stop emulation",
274e0c97bdeSLuiz Capitulino        .user_print = monitor_user_noop,
275261394dbSLuiz Capitulino        .mhandler.cmd_new = do_stop,
276d7f9b689SLuiz Capitulino    },
277d7f9b689SLuiz Capitulino
2782313086aSBlue SwirlSTEXI
2792313086aSBlue Swirl@item stop
28070fcbbe7SStefan Weil@findex stop
2812313086aSBlue SwirlStop emulation.
2822313086aSBlue SwirlETEXI
2832313086aSBlue Swirl
284d7f9b689SLuiz Capitulino    {
285d7f9b689SLuiz Capitulino        .name       = "c|cont",
286d7f9b689SLuiz Capitulino        .args_type  = "",
287d7f9b689SLuiz Capitulino        .params     = "",
288d7f9b689SLuiz Capitulino        .help       = "resume emulation",
289a1f896a0SLuiz Capitulino        .user_print = monitor_user_noop,
290261394dbSLuiz Capitulino        .mhandler.cmd_new = do_cont,
291d7f9b689SLuiz Capitulino    },
292d7f9b689SLuiz Capitulino
2932313086aSBlue SwirlSTEXI
2942313086aSBlue Swirl@item c or cont
29570fcbbe7SStefan Weil@findex cont
2962313086aSBlue SwirlResume emulation.
2972313086aSBlue SwirlETEXI
2982313086aSBlue Swirl
299d7f9b689SLuiz Capitulino    {
300d7f9b689SLuiz Capitulino        .name       = "gdbserver",
301d7f9b689SLuiz Capitulino        .args_type  = "device:s?",
302d7f9b689SLuiz Capitulino        .params     = "[device]",
303d7f9b689SLuiz Capitulino        .help       = "start gdbserver on given device (default 'tcp::1234'), stop with 'none'",
304af4ce882SLuiz Capitulino        .mhandler.cmd = do_gdbserver,
305d7f9b689SLuiz Capitulino    },
306d7f9b689SLuiz Capitulino
3072313086aSBlue SwirlSTEXI
3082313086aSBlue Swirl@item gdbserver [@var{port}]
30970fcbbe7SStefan Weil@findex gdbserver
3102313086aSBlue SwirlStart gdbserver session (default @var{port}=1234)
3112313086aSBlue SwirlETEXI
3122313086aSBlue Swirl
313d7f9b689SLuiz Capitulino    {
314d7f9b689SLuiz Capitulino        .name       = "x",
315d7f9b689SLuiz Capitulino        .args_type  = "fmt:/,addr:l",
316d7f9b689SLuiz Capitulino        .params     = "/fmt addr",
317d7f9b689SLuiz Capitulino        .help       = "virtual memory dump starting at 'addr'",
318af4ce882SLuiz Capitulino        .mhandler.cmd = do_memory_dump,
319d7f9b689SLuiz Capitulino    },
320d7f9b689SLuiz Capitulino
3212313086aSBlue SwirlSTEXI
3222313086aSBlue Swirl@item x/fmt @var{addr}
32370fcbbe7SStefan Weil@findex x
3242313086aSBlue SwirlVirtual memory dump starting at @var{addr}.
3252313086aSBlue SwirlETEXI
3262313086aSBlue Swirl
327d7f9b689SLuiz Capitulino    {
328d7f9b689SLuiz Capitulino        .name       = "xp",
329d7f9b689SLuiz Capitulino        .args_type  = "fmt:/,addr:l",
330d7f9b689SLuiz Capitulino        .params     = "/fmt addr",
331d7f9b689SLuiz Capitulino        .help       = "physical memory dump starting at 'addr'",
332af4ce882SLuiz Capitulino        .mhandler.cmd = do_physical_memory_dump,
333d7f9b689SLuiz Capitulino    },
334d7f9b689SLuiz Capitulino
3352313086aSBlue SwirlSTEXI
3362313086aSBlue Swirl@item xp /@var{fmt} @var{addr}
33770fcbbe7SStefan Weil@findex xp
3382313086aSBlue SwirlPhysical memory dump starting at @var{addr}.
3392313086aSBlue Swirl
3402313086aSBlue Swirl@var{fmt} is a format which tells the command how to format the
3412313086aSBlue Swirldata. Its syntax is: @option{/@{count@}@{format@}@{size@}}
3422313086aSBlue Swirl
3432313086aSBlue Swirl@table @var
3442313086aSBlue Swirl@item count
3452313086aSBlue Swirlis the number of items to be dumped.
3462313086aSBlue Swirl
3472313086aSBlue Swirl@item format
3482313086aSBlue Swirlcan be x (hex), d (signed decimal), u (unsigned decimal), o (octal),
3492313086aSBlue Swirlc (char) or i (asm instruction).
3502313086aSBlue Swirl
3512313086aSBlue Swirl@item size
3522313086aSBlue Swirlcan be b (8 bits), h (16 bits), w (32 bits) or g (64 bits). On x86,
3532313086aSBlue Swirl@code{h} or @code{w} can be specified with the @code{i} format to
3542313086aSBlue Swirlrespectively select 16 or 32 bit code instruction size.
3552313086aSBlue Swirl
3562313086aSBlue Swirl@end table
3572313086aSBlue Swirl
3582313086aSBlue SwirlExamples:
3592313086aSBlue Swirl@itemize
3602313086aSBlue Swirl@item
3612313086aSBlue SwirlDump 10 instructions at the current instruction pointer:
3622313086aSBlue Swirl@example
3632313086aSBlue Swirl(qemu) x/10i $eip
3642313086aSBlue Swirl0x90107063:  ret
3652313086aSBlue Swirl0x90107064:  sti
3662313086aSBlue Swirl0x90107065:  lea    0x0(%esi,1),%esi
3672313086aSBlue Swirl0x90107069:  lea    0x0(%edi,1),%edi
3682313086aSBlue Swirl0x90107070:  ret
3692313086aSBlue Swirl0x90107071:  jmp    0x90107080
3702313086aSBlue Swirl0x90107073:  nop
3712313086aSBlue Swirl0x90107074:  nop
3722313086aSBlue Swirl0x90107075:  nop
3732313086aSBlue Swirl0x90107076:  nop
3742313086aSBlue Swirl@end example
3752313086aSBlue Swirl
3762313086aSBlue Swirl@item
3772313086aSBlue SwirlDump 80 16 bit values at the start of the video memory.
3782313086aSBlue Swirl@smallexample
3792313086aSBlue Swirl(qemu) xp/80hx 0xb8000
3802313086aSBlue Swirl0x000b8000: 0x0b50 0x0b6c 0x0b65 0x0b78 0x0b38 0x0b36 0x0b2f 0x0b42
3812313086aSBlue Swirl0x000b8010: 0x0b6f 0x0b63 0x0b68 0x0b73 0x0b20 0x0b56 0x0b47 0x0b41
3822313086aSBlue Swirl0x000b8020: 0x0b42 0x0b69 0x0b6f 0x0b73 0x0b20 0x0b63 0x0b75 0x0b72
3832313086aSBlue Swirl0x000b8030: 0x0b72 0x0b65 0x0b6e 0x0b74 0x0b2d 0x0b63 0x0b76 0x0b73
3842313086aSBlue Swirl0x000b8040: 0x0b20 0x0b30 0x0b35 0x0b20 0x0b4e 0x0b6f 0x0b76 0x0b20
3852313086aSBlue Swirl0x000b8050: 0x0b32 0x0b30 0x0b30 0x0b33 0x0720 0x0720 0x0720 0x0720
3862313086aSBlue Swirl0x000b8060: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
3872313086aSBlue Swirl0x000b8070: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
3882313086aSBlue Swirl0x000b8080: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
3892313086aSBlue Swirl0x000b8090: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
3902313086aSBlue Swirl@end smallexample
3912313086aSBlue Swirl@end itemize
3922313086aSBlue SwirlETEXI
3932313086aSBlue Swirl
394d7f9b689SLuiz Capitulino    {
395d7f9b689SLuiz Capitulino        .name       = "p|print",
396d7f9b689SLuiz Capitulino        .args_type  = "fmt:/,val:l",
397d7f9b689SLuiz Capitulino        .params     = "/fmt expr",
398d7f9b689SLuiz Capitulino        .help       = "print expression value (use $reg for CPU register access)",
399af4ce882SLuiz Capitulino        .mhandler.cmd = do_print,
400d7f9b689SLuiz Capitulino    },
401d7f9b689SLuiz Capitulino
4022313086aSBlue SwirlSTEXI
4032313086aSBlue Swirl@item p or print/@var{fmt} @var{expr}
40470fcbbe7SStefan Weil@findex print
4052313086aSBlue Swirl
4062313086aSBlue SwirlPrint expression value. Only the @var{format} part of @var{fmt} is
4072313086aSBlue Swirlused.
4082313086aSBlue SwirlETEXI
4092313086aSBlue Swirl
410d7f9b689SLuiz Capitulino    {
411d7f9b689SLuiz Capitulino        .name       = "i",
412d7f9b689SLuiz Capitulino        .args_type  = "fmt:/,addr:i,index:i.",
413d7f9b689SLuiz Capitulino        .params     = "/fmt addr",
414d7f9b689SLuiz Capitulino        .help       = "I/O port read",
415af4ce882SLuiz Capitulino        .mhandler.cmd = do_ioport_read,
416d7f9b689SLuiz Capitulino    },
417d7f9b689SLuiz Capitulino
4182313086aSBlue SwirlSTEXI
4192313086aSBlue SwirlRead I/O port.
4202313086aSBlue SwirlETEXI
4212313086aSBlue Swirl
422d7f9b689SLuiz Capitulino    {
423d7f9b689SLuiz Capitulino        .name       = "o",
424d7f9b689SLuiz Capitulino        .args_type  = "fmt:/,addr:i,val:i",
425d7f9b689SLuiz Capitulino        .params     = "/fmt addr value",
426d7f9b689SLuiz Capitulino        .help       = "I/O port write",
427af4ce882SLuiz Capitulino        .mhandler.cmd = do_ioport_write,
428d7f9b689SLuiz Capitulino    },
429d7f9b689SLuiz Capitulino
430f114784fSJan KiszkaSTEXI
431f114784fSJan KiszkaWrite to I/O port.
432f114784fSJan KiszkaETEXI
4332313086aSBlue Swirl
434d7f9b689SLuiz Capitulino    {
435d7f9b689SLuiz Capitulino        .name       = "sendkey",
436d7f9b689SLuiz Capitulino        .args_type  = "string:s,hold_time:i?",
437d7f9b689SLuiz Capitulino        .params     = "keys [hold_ms]",
438d7f9b689SLuiz Capitulino        .help       = "send keys to the VM (e.g. 'sendkey ctrl-alt-f1', default hold time=100 ms)",
439af4ce882SLuiz Capitulino        .mhandler.cmd = do_sendkey,
440d7f9b689SLuiz Capitulino    },
441d7f9b689SLuiz Capitulino
4422313086aSBlue SwirlSTEXI
4432313086aSBlue Swirl@item sendkey @var{keys}
44470fcbbe7SStefan Weil@findex sendkey
4452313086aSBlue Swirl
4462313086aSBlue SwirlSend @var{keys} to the emulator. @var{keys} could be the name of the
4472313086aSBlue Swirlkey or @code{#} followed by the raw value in either decimal or hexadecimal
4482313086aSBlue Swirlformat. Use @code{-} to press several keys simultaneously. Example:
4492313086aSBlue Swirl@example
4502313086aSBlue Swirlsendkey ctrl-alt-f1
4512313086aSBlue Swirl@end example
4522313086aSBlue Swirl
4532313086aSBlue SwirlThis command is useful to send keys that your graphical user interface
4542313086aSBlue Swirlintercepts at low level, such as @code{ctrl-alt-f1} in X Window.
4552313086aSBlue SwirlETEXI
4562313086aSBlue Swirl
457d7f9b689SLuiz Capitulino    {
458d7f9b689SLuiz Capitulino        .name       = "system_reset",
459d7f9b689SLuiz Capitulino        .args_type  = "",
460d7f9b689SLuiz Capitulino        .params     = "",
461d7f9b689SLuiz Capitulino        .help       = "reset the system",
462c80d259eSLuiz Capitulino        .user_print = monitor_user_noop,
463261394dbSLuiz Capitulino        .mhandler.cmd_new = do_system_reset,
464d7f9b689SLuiz Capitulino    },
465d7f9b689SLuiz Capitulino
4662313086aSBlue SwirlSTEXI
4672313086aSBlue Swirl@item system_reset
46870fcbbe7SStefan Weil@findex system_reset
4692313086aSBlue Swirl
4702313086aSBlue SwirlReset the system.
4712313086aSBlue SwirlETEXI
4722313086aSBlue Swirl
473d7f9b689SLuiz Capitulino    {
474d7f9b689SLuiz Capitulino        .name       = "system_powerdown",
475d7f9b689SLuiz Capitulino        .args_type  = "",
476d7f9b689SLuiz Capitulino        .params     = "",
477d7f9b689SLuiz Capitulino        .help       = "send system power down event",
47843076664SLuiz Capitulino        .user_print = monitor_user_noop,
479261394dbSLuiz Capitulino        .mhandler.cmd_new = do_system_powerdown,
480d7f9b689SLuiz Capitulino    },
481d7f9b689SLuiz Capitulino
4822313086aSBlue SwirlSTEXI
4832313086aSBlue Swirl@item system_powerdown
48470fcbbe7SStefan Weil@findex system_powerdown
4852313086aSBlue Swirl
4862313086aSBlue SwirlPower down the system (if supported).
4872313086aSBlue SwirlETEXI
4882313086aSBlue Swirl
489d7f9b689SLuiz Capitulino    {
490d7f9b689SLuiz Capitulino        .name       = "sum",
491d7f9b689SLuiz Capitulino        .args_type  = "start:i,size:i",
492d7f9b689SLuiz Capitulino        .params     = "addr size",
493d7f9b689SLuiz Capitulino        .help       = "compute the checksum of a memory region",
494af4ce882SLuiz Capitulino        .mhandler.cmd = do_sum,
495d7f9b689SLuiz Capitulino    },
496d7f9b689SLuiz Capitulino
4972313086aSBlue SwirlSTEXI
4982313086aSBlue Swirl@item sum @var{addr} @var{size}
49970fcbbe7SStefan Weil@findex sum
5002313086aSBlue Swirl
5012313086aSBlue SwirlCompute the checksum of a memory region.
5022313086aSBlue SwirlETEXI
5032313086aSBlue Swirl
504d7f9b689SLuiz Capitulino    {
505d7f9b689SLuiz Capitulino        .name       = "usb_add",
506d7f9b689SLuiz Capitulino        .args_type  = "devname:s",
507d7f9b689SLuiz Capitulino        .params     = "device",
508d7f9b689SLuiz Capitulino        .help       = "add USB device (e.g. 'host:bus.addr' or 'host:vendor_id:product_id')",
509af4ce882SLuiz Capitulino        .mhandler.cmd = do_usb_add,
510d7f9b689SLuiz Capitulino    },
511d7f9b689SLuiz Capitulino
5122313086aSBlue SwirlSTEXI
5132313086aSBlue Swirl@item usb_add @var{devname}
51470fcbbe7SStefan Weil@findex usb_add
5152313086aSBlue Swirl
5162313086aSBlue SwirlAdd the USB device @var{devname}.  For details of available devices see
5172313086aSBlue Swirl@ref{usb_devices}
5182313086aSBlue SwirlETEXI
5192313086aSBlue Swirl
520d7f9b689SLuiz Capitulino    {
521d7f9b689SLuiz Capitulino        .name       = "usb_del",
522d7f9b689SLuiz Capitulino        .args_type  = "devname:s",
523d7f9b689SLuiz Capitulino        .params     = "device",
524d7f9b689SLuiz Capitulino        .help       = "remove USB device 'bus.addr'",
525af4ce882SLuiz Capitulino        .mhandler.cmd = do_usb_del,
526d7f9b689SLuiz Capitulino    },
527d7f9b689SLuiz Capitulino
5282313086aSBlue SwirlSTEXI
5292313086aSBlue Swirl@item usb_del @var{devname}
53070fcbbe7SStefan Weil@findex usb_del
5312313086aSBlue Swirl
5322313086aSBlue SwirlRemove the USB device @var{devname} from the QEMU virtual USB
5332313086aSBlue Swirlhub. @var{devname} has the syntax @code{bus.addr}. Use the monitor
5342313086aSBlue Swirlcommand @code{info usb} to see the devices you can remove.
5352313086aSBlue SwirlETEXI
5362313086aSBlue Swirl
537d7f9b689SLuiz Capitulino    {
538d7f9b689SLuiz Capitulino        .name       = "device_add",
539c7e4e8ceSMarkus Armbruster        .args_type  = "device:O",
540c7e4e8ceSMarkus Armbruster        .params     = "driver[,prop=value][,...]",
541d7f9b689SLuiz Capitulino        .help       = "add device, like -device on the command line",
5428bc27249SMarkus Armbruster        .user_print = monitor_user_noop,
5438bc27249SMarkus Armbruster        .mhandler.cmd_new = do_device_add,
544d7f9b689SLuiz Capitulino    },
545d7f9b689SLuiz Capitulino
5463418bd25SGerd HoffmannSTEXI
5473418bd25SGerd Hoffmann@item device_add @var{config}
54870fcbbe7SStefan Weil@findex device_add
5493418bd25SGerd Hoffmann
5503418bd25SGerd HoffmannAdd device.
5513418bd25SGerd HoffmannETEXI
5523418bd25SGerd Hoffmann
553d7f9b689SLuiz Capitulino    {
554d7f9b689SLuiz Capitulino        .name       = "device_del",
555d7f9b689SLuiz Capitulino        .args_type  = "id:s",
556d7f9b689SLuiz Capitulino        .params     = "device",
557d7f9b689SLuiz Capitulino        .help       = "remove device",
55817a38eaaSMarkus Armbruster        .user_print = monitor_user_noop,
55917a38eaaSMarkus Armbruster        .mhandler.cmd_new = do_device_del,
560d7f9b689SLuiz Capitulino    },
561d7f9b689SLuiz Capitulino
5623418bd25SGerd HoffmannSTEXI
5633418bd25SGerd Hoffmann@item device_del @var{id}
56470fcbbe7SStefan Weil@findex device_del
5653418bd25SGerd Hoffmann
5663418bd25SGerd HoffmannRemove device @var{id}.
5673418bd25SGerd HoffmannETEXI
5683418bd25SGerd Hoffmann
569d7f9b689SLuiz Capitulino    {
570d7f9b689SLuiz Capitulino        .name       = "cpu",
571d7f9b689SLuiz Capitulino        .args_type  = "index:i",
572d7f9b689SLuiz Capitulino        .params     = "index",
573d7f9b689SLuiz Capitulino        .help       = "set the default CPU",
57481a1b45aSMarkus Armbruster        .user_print = monitor_user_noop,
575261394dbSLuiz Capitulino        .mhandler.cmd_new = do_cpu_set,
576d7f9b689SLuiz Capitulino    },
5773418bd25SGerd Hoffmann
5782313086aSBlue SwirlSTEXI
579c427ea9cSMarkus Armbruster@item cpu @var{index}
580c427ea9cSMarkus Armbruster@findex cpu
5812313086aSBlue SwirlSet the default CPU.
5822313086aSBlue SwirlETEXI
5832313086aSBlue Swirl
584d7f9b689SLuiz Capitulino    {
585d7f9b689SLuiz Capitulino        .name       = "mouse_move",
586d7f9b689SLuiz Capitulino        .args_type  = "dx_str:s,dy_str:s,dz_str:s?",
587d7f9b689SLuiz Capitulino        .params     = "dx dy [dz]",
588d7f9b689SLuiz Capitulino        .help       = "send mouse move events",
589af4ce882SLuiz Capitulino        .mhandler.cmd = do_mouse_move,
590d7f9b689SLuiz Capitulino    },
591d7f9b689SLuiz Capitulino
5922313086aSBlue SwirlSTEXI
5932313086aSBlue Swirl@item mouse_move @var{dx} @var{dy} [@var{dz}]
59470fcbbe7SStefan Weil@findex mouse_move
5952313086aSBlue SwirlMove the active mouse to the specified coordinates @var{dx} @var{dy}
5962313086aSBlue Swirlwith optional scroll axis @var{dz}.
5972313086aSBlue SwirlETEXI
5982313086aSBlue Swirl
599d7f9b689SLuiz Capitulino    {
600d7f9b689SLuiz Capitulino        .name       = "mouse_button",
601d7f9b689SLuiz Capitulino        .args_type  = "button_state:i",
602d7f9b689SLuiz Capitulino        .params     = "state",
603d7f9b689SLuiz Capitulino        .help       = "change mouse button state (1=L, 2=M, 4=R)",
604af4ce882SLuiz Capitulino        .mhandler.cmd = do_mouse_button,
605d7f9b689SLuiz Capitulino    },
606d7f9b689SLuiz Capitulino
6072313086aSBlue SwirlSTEXI
6082313086aSBlue Swirl@item mouse_button @var{val}
60970fcbbe7SStefan Weil@findex mouse_button
6102313086aSBlue SwirlChange the active mouse button state @var{val} (1=L, 2=M, 4=R).
6112313086aSBlue SwirlETEXI
6122313086aSBlue Swirl
613d7f9b689SLuiz Capitulino    {
614d7f9b689SLuiz Capitulino        .name       = "mouse_set",
615d7f9b689SLuiz Capitulino        .args_type  = "index:i",
616d7f9b689SLuiz Capitulino        .params     = "index",
617d7f9b689SLuiz Capitulino        .help       = "set which mouse device receives events",
618af4ce882SLuiz Capitulino        .mhandler.cmd = do_mouse_set,
619d7f9b689SLuiz Capitulino    },
620d7f9b689SLuiz Capitulino
6212313086aSBlue SwirlSTEXI
6222313086aSBlue Swirl@item mouse_set @var{index}
62370fcbbe7SStefan Weil@findex mouse_set
6242313086aSBlue SwirlSet which mouse device receives events at given @var{index}, index
6252313086aSBlue Swirlcan be obtained with
6262313086aSBlue Swirl@example
6272313086aSBlue Swirlinfo mice
6282313086aSBlue Swirl@end example
6292313086aSBlue SwirlETEXI
6302313086aSBlue Swirl
6312313086aSBlue Swirl#ifdef HAS_AUDIO
632d7f9b689SLuiz Capitulino    {
633d7f9b689SLuiz Capitulino        .name       = "wavcapture",
634d7f9b689SLuiz Capitulino        .args_type  = "path:F,freq:i?,bits:i?,nchannels:i?",
635d7f9b689SLuiz Capitulino        .params     = "path [frequency [bits [channels]]]",
636d7f9b689SLuiz Capitulino        .help       = "capture audio to a wave file (default frequency=44100 bits=16 channels=2)",
637af4ce882SLuiz Capitulino        .mhandler.cmd = do_wav_capture,
638d7f9b689SLuiz Capitulino    },
6392313086aSBlue Swirl#endif
6402313086aSBlue SwirlSTEXI
6412313086aSBlue Swirl@item wavcapture @var{filename} [@var{frequency} [@var{bits} [@var{channels}]]]
64270fcbbe7SStefan Weil@findex wavcapture
6432313086aSBlue SwirlCapture audio into @var{filename}. Using sample rate @var{frequency}
6442313086aSBlue Swirlbits per sample @var{bits} and number of channels @var{channels}.
6452313086aSBlue Swirl
6462313086aSBlue SwirlDefaults:
6472313086aSBlue Swirl@itemize @minus
6482313086aSBlue Swirl@item Sample rate = 44100 Hz - CD quality
6492313086aSBlue Swirl@item Bits = 16
6502313086aSBlue Swirl@item Number of channels = 2 - Stereo
6512313086aSBlue Swirl@end itemize
6522313086aSBlue SwirlETEXI
6532313086aSBlue Swirl
6542313086aSBlue Swirl#ifdef HAS_AUDIO
655d7f9b689SLuiz Capitulino    {
656d7f9b689SLuiz Capitulino        .name       = "stopcapture",
657d7f9b689SLuiz Capitulino        .args_type  = "n:i",
658d7f9b689SLuiz Capitulino        .params     = "capture index",
659d7f9b689SLuiz Capitulino        .help       = "stop capture",
660af4ce882SLuiz Capitulino        .mhandler.cmd = do_stop_capture,
661d7f9b689SLuiz Capitulino    },
6622313086aSBlue Swirl#endif
6632313086aSBlue SwirlSTEXI
6642313086aSBlue Swirl@item stopcapture @var{index}
66570fcbbe7SStefan Weil@findex stopcapture
6662313086aSBlue SwirlStop capture with a given @var{index}, index can be obtained with
6672313086aSBlue Swirl@example
6682313086aSBlue Swirlinfo capture
6692313086aSBlue Swirl@end example
6702313086aSBlue SwirlETEXI
6712313086aSBlue Swirl
672d7f9b689SLuiz Capitulino    {
673d7f9b689SLuiz Capitulino        .name       = "memsave",
674d7f9b689SLuiz Capitulino        .args_type  = "val:l,size:i,filename:s",
675d7f9b689SLuiz Capitulino        .params     = "addr size file",
676d7f9b689SLuiz Capitulino        .help       = "save to disk virtual memory dump starting at 'addr' of size 'size'",
67757e09454SLuiz Capitulino        .user_print = monitor_user_noop,
678261394dbSLuiz Capitulino        .mhandler.cmd_new = do_memory_save,
679d7f9b689SLuiz Capitulino    },
680d7f9b689SLuiz Capitulino
6812313086aSBlue SwirlSTEXI
6822313086aSBlue Swirl@item memsave @var{addr} @var{size} @var{file}
68370fcbbe7SStefan Weil@findex memsave
6842313086aSBlue Swirlsave to disk virtual memory dump starting at @var{addr} of size @var{size}.
6852313086aSBlue SwirlETEXI
6862313086aSBlue Swirl
687d7f9b689SLuiz Capitulino    {
688d7f9b689SLuiz Capitulino        .name       = "pmemsave",
689d7f9b689SLuiz Capitulino        .args_type  = "val:l,size:i,filename:s",
690d7f9b689SLuiz Capitulino        .params     = "addr size file",
691d7f9b689SLuiz Capitulino        .help       = "save to disk physical memory dump starting at 'addr' of size 'size'",
69218f5a8bfSLuiz Capitulino        .user_print = monitor_user_noop,
693261394dbSLuiz Capitulino        .mhandler.cmd_new = do_physical_memory_save,
694d7f9b689SLuiz Capitulino    },
695d7f9b689SLuiz Capitulino
6962313086aSBlue SwirlSTEXI
6972313086aSBlue Swirl@item pmemsave @var{addr} @var{size} @var{file}
69870fcbbe7SStefan Weil@findex pmemsave
6992313086aSBlue Swirlsave to disk physical memory dump starting at @var{addr} of size @var{size}.
7002313086aSBlue SwirlETEXI
7012313086aSBlue Swirl
702d7f9b689SLuiz Capitulino    {
703d7f9b689SLuiz Capitulino        .name       = "boot_set",
704d7f9b689SLuiz Capitulino        .args_type  = "bootdevice:s",
705d7f9b689SLuiz Capitulino        .params     = "bootdevice",
706d7f9b689SLuiz Capitulino        .help       = "define new values for the boot device list",
707af4ce882SLuiz Capitulino        .mhandler.cmd = do_boot_set,
708d7f9b689SLuiz Capitulino    },
709d7f9b689SLuiz Capitulino
7102313086aSBlue SwirlSTEXI
7112313086aSBlue Swirl@item boot_set @var{bootdevicelist}
71270fcbbe7SStefan Weil@findex boot_set
7132313086aSBlue Swirl
7142313086aSBlue SwirlDefine new values for the boot device list. Those values will override
7152313086aSBlue Swirlthe values specified on the command line through the @code{-boot} option.
7162313086aSBlue Swirl
7172313086aSBlue SwirlThe values that can be specified here depend on the machine type, but are
7182313086aSBlue Swirlthe same that can be specified in the @code{-boot} command line option.
7192313086aSBlue SwirlETEXI
7202313086aSBlue Swirl
7212313086aSBlue Swirl#if defined(TARGET_I386)
722d7f9b689SLuiz Capitulino    {
723d7f9b689SLuiz Capitulino        .name       = "nmi",
724d7f9b689SLuiz Capitulino        .args_type  = "cpu_index:i",
725d7f9b689SLuiz Capitulino        .params     = "cpu",
726d7f9b689SLuiz Capitulino        .help       = "inject an NMI on the given CPU",
727af4ce882SLuiz Capitulino        .mhandler.cmd = do_inject_nmi,
728d7f9b689SLuiz Capitulino    },
7292313086aSBlue Swirl#endif
7302313086aSBlue SwirlSTEXI
7312313086aSBlue Swirl@item nmi @var{cpu}
73270fcbbe7SStefan Weil@findex nmi
7332313086aSBlue SwirlInject an NMI on the given CPU (x86 only).
7342313086aSBlue SwirlETEXI
7352313086aSBlue Swirl
736d7f9b689SLuiz Capitulino    {
737d7f9b689SLuiz Capitulino        .name       = "migrate",
738fbc3d96cSlirans@il.ibm.com        .args_type  = "detach:-d,blk:-b,inc:-i,uri:s",
739fbc3d96cSlirans@il.ibm.com        .params     = "[-d] [-b] [-i] uri",
740fbc3d96cSlirans@il.ibm.com        .help       = "migrate to URI (using -d to not wait for completion)"
741fbc3d96cSlirans@il.ibm.com		      "\n\t\t\t -b for migration without shared storage with"
742fbc3d96cSlirans@il.ibm.com		      " full copy of disk\n\t\t\t -i for migration without "
743fbc3d96cSlirans@il.ibm.com		      "shared storage with incremental copy of disk "
744fbc3d96cSlirans@il.ibm.com		      "(base image shared between src and destination)",
7455f79da00SLuiz Capitulino        .user_print = monitor_user_noop,
746261394dbSLuiz Capitulino	.mhandler.cmd_new = do_migrate,
747d7f9b689SLuiz Capitulino    },
748d7f9b689SLuiz Capitulino
749fbc3d96cSlirans@il.ibm.com
7502313086aSBlue SwirlSTEXI
751fbc3d96cSlirans@il.ibm.com@item migrate [-d] [-b] [-i] @var{uri}
75270fcbbe7SStefan Weil@findex migrate
7532313086aSBlue SwirlMigrate to @var{uri} (using -d to not wait for completion).
754fbc3d96cSlirans@il.ibm.com	-b for migration with full copy of disk
755fbc3d96cSlirans@il.ibm.com	-i for migration with incremental copy of disk (base image is shared)
7562313086aSBlue SwirlETEXI
7572313086aSBlue Swirl
758d7f9b689SLuiz Capitulino    {
759d7f9b689SLuiz Capitulino        .name       = "migrate_cancel",
760d7f9b689SLuiz Capitulino        .args_type  = "",
761d7f9b689SLuiz Capitulino        .params     = "",
762d7f9b689SLuiz Capitulino        .help       = "cancel the current VM migration",
763911d2963SLuiz Capitulino        .user_print = monitor_user_noop,
764261394dbSLuiz Capitulino        .mhandler.cmd_new = do_migrate_cancel,
765d7f9b689SLuiz Capitulino    },
766d7f9b689SLuiz Capitulino
7672313086aSBlue SwirlSTEXI
7682313086aSBlue Swirl@item migrate_cancel
76970fcbbe7SStefan Weil@findex migrate_cancel
7702313086aSBlue SwirlCancel the current VM migration.
7712313086aSBlue SwirlETEXI
7722313086aSBlue Swirl
773d7f9b689SLuiz Capitulino    {
774d7f9b689SLuiz Capitulino        .name       = "migrate_set_speed",
775ed3d4a80SJes Sorensen        .args_type  = "value:o",
776d7f9b689SLuiz Capitulino        .params     = "value",
777ed3d4a80SJes Sorensen        .help       = "set maximum speed (in bytes) for migrations. "
778ed3d4a80SJes Sorensen	"Defaults to MB if no size suffix is specified, ie. B/K/M/G/T",
7795fd9083cSMarkus Armbruster        .user_print = monitor_user_noop,
780261394dbSLuiz Capitulino        .mhandler.cmd_new = do_migrate_set_speed,
781d7f9b689SLuiz Capitulino    },
782d7f9b689SLuiz Capitulino
7832313086aSBlue SwirlSTEXI
7842313086aSBlue Swirl@item migrate_set_speed @var{value}
78570fcbbe7SStefan Weil@findex migrate_set_speed
7862313086aSBlue SwirlSet maximum speed to @var{value} (in bytes) for migrations.
7872313086aSBlue SwirlETEXI
7882313086aSBlue Swirl
789d7f9b689SLuiz Capitulino    {
790d7f9b689SLuiz Capitulino        .name       = "migrate_set_downtime",
791b0fbf7d3SMarkus Armbruster        .args_type  = "value:T",
792d7f9b689SLuiz Capitulino        .params     = "value",
793d7f9b689SLuiz Capitulino        .help       = "set maximum tolerated downtime (in seconds) for migrations",
794c6027f56SMarkus Armbruster        .user_print = monitor_user_noop,
795261394dbSLuiz Capitulino        .mhandler.cmd_new = do_migrate_set_downtime,
796d7f9b689SLuiz Capitulino    },
7972ea42952SGlauber Costa
7982ea42952SGlauber CostaSTEXI
7992ea42952SGlauber Costa@item migrate_set_downtime @var{second}
80070fcbbe7SStefan Weil@findex migrate_set_downtime
8012ea42952SGlauber CostaSet maximum tolerated downtime (in seconds) for migration.
8022ea42952SGlauber CostaETEXI
8032ea42952SGlauber Costa
8042313086aSBlue Swirl#if defined(TARGET_I386)
805d7f9b689SLuiz Capitulino    {
806d7f9b689SLuiz Capitulino        .name       = "drive_add",
807d7f9b689SLuiz Capitulino        .args_type  = "pci_addr:s,opts:s",
808d7f9b689SLuiz Capitulino        .params     = "[[<domain>:]<bus>:]<slot>\n"
8092313086aSBlue Swirl                      "[file=file][,if=type][,bus=n]\n"
8102313086aSBlue Swirl                      "[,unit=m][,media=d][index=i]\n"
8112313086aSBlue Swirl                      "[,cyls=c,heads=h,secs=s[,trans=t]]\n"
8122313086aSBlue Swirl                      "[snapshot=on|off][,cache=on|off]",
813d7f9b689SLuiz Capitulino        .help       = "add drive to PCI storage controller",
814af4ce882SLuiz Capitulino        .mhandler.cmd = drive_hot_add,
815d7f9b689SLuiz Capitulino    },
8162313086aSBlue Swirl#endif
817d7f9b689SLuiz Capitulino
8182313086aSBlue SwirlSTEXI
8192313086aSBlue Swirl@item drive_add
82070fcbbe7SStefan Weil@findex drive_add
8212313086aSBlue SwirlAdd drive to PCI storage controller.
8222313086aSBlue SwirlETEXI
8232313086aSBlue Swirl
8242313086aSBlue Swirl#if defined(TARGET_I386)
825d7f9b689SLuiz Capitulino    {
826d7f9b689SLuiz Capitulino        .name       = "pci_add",
827d7f9b689SLuiz Capitulino        .args_type  = "pci_addr:s,type:s,opts:s?",
828d7f9b689SLuiz Capitulino        .params     = "auto|[[<domain>:]<bus>:]<slot> nic|storage [[vlan=n][,macaddr=addr][,model=type]] [file=file][,if=type][,bus=nr]...",
829d7f9b689SLuiz Capitulino        .help       = "hot-add PCI device",
8306c6a58aeSMarkus Armbruster        .mhandler.cmd = pci_device_hot_add,
831d7f9b689SLuiz Capitulino    },
8322313086aSBlue Swirl#endif
833d7f9b689SLuiz Capitulino
8342313086aSBlue SwirlSTEXI
8352313086aSBlue Swirl@item pci_add
83670fcbbe7SStefan Weil@findex pci_add
8372313086aSBlue SwirlHot-add PCI device.
8382313086aSBlue SwirlETEXI
8392313086aSBlue Swirl
8402313086aSBlue Swirl#if defined(TARGET_I386)
841d7f9b689SLuiz Capitulino    {
842d7f9b689SLuiz Capitulino        .name       = "pci_del",
843d7f9b689SLuiz Capitulino        .args_type  = "pci_addr:s",
844d7f9b689SLuiz Capitulino        .params     = "[[<domain>:]<bus>:]<slot>",
845d7f9b689SLuiz Capitulino        .help       = "hot remove PCI device",
846b752daf0SMarkus Armbruster        .mhandler.cmd = do_pci_device_hot_remove,
847d7f9b689SLuiz Capitulino    },
8482313086aSBlue Swirl#endif
849d7f9b689SLuiz Capitulino
8502313086aSBlue SwirlSTEXI
8512313086aSBlue Swirl@item pci_del
85270fcbbe7SStefan Weil@findex pci_del
8532313086aSBlue SwirlHot remove PCI device.
8542313086aSBlue SwirlETEXI
8552313086aSBlue Swirl
856d7f9b689SLuiz Capitulino    {
857d7f9b689SLuiz Capitulino        .name       = "host_net_add",
858d7f9b689SLuiz Capitulino        .args_type  = "device:s,opts:s?",
859d7f9b689SLuiz Capitulino        .params     = "tap|user|socket|vde|dump [options]",
860d7f9b689SLuiz Capitulino        .help       = "add host VLAN client",
861af4ce882SLuiz Capitulino        .mhandler.cmd = net_host_device_add,
862d7f9b689SLuiz Capitulino    },
863d7f9b689SLuiz Capitulino
8642313086aSBlue SwirlSTEXI
8652313086aSBlue Swirl@item host_net_add
86670fcbbe7SStefan Weil@findex host_net_add
8672313086aSBlue SwirlAdd host VLAN client.
8682313086aSBlue SwirlETEXI
8692313086aSBlue Swirl
870d7f9b689SLuiz Capitulino    {
871d7f9b689SLuiz Capitulino        .name       = "host_net_remove",
872d7f9b689SLuiz Capitulino        .args_type  = "vlan_id:i,device:s",
873d7f9b689SLuiz Capitulino        .params     = "vlan_id name",
874d7f9b689SLuiz Capitulino        .help       = "remove host VLAN client",
875af4ce882SLuiz Capitulino        .mhandler.cmd = net_host_device_remove,
876d7f9b689SLuiz Capitulino    },
877d7f9b689SLuiz Capitulino
8782313086aSBlue SwirlSTEXI
8792313086aSBlue Swirl@item host_net_remove
88070fcbbe7SStefan Weil@findex host_net_remove
8812313086aSBlue SwirlRemove host VLAN client.
8822313086aSBlue SwirlETEXI
8832313086aSBlue Swirl
884ae82d324SMarkus Armbruster    {
885ae82d324SMarkus Armbruster        .name       = "netdev_add",
886ae82d324SMarkus Armbruster        .args_type  = "netdev:O",
887ae82d324SMarkus Armbruster        .params     = "[user|tap|socket],id=str[,prop=value][,...]",
888ae82d324SMarkus Armbruster        .help       = "add host network device",
889ae82d324SMarkus Armbruster        .user_print = monitor_user_noop,
890ae82d324SMarkus Armbruster        .mhandler.cmd_new = do_netdev_add,
891ae82d324SMarkus Armbruster    },
892ae82d324SMarkus Armbruster
893ae82d324SMarkus ArmbrusterSTEXI
894ae82d324SMarkus Armbruster@item netdev_add
895ae82d324SMarkus Armbruster@findex netdev_add
896ae82d324SMarkus ArmbrusterAdd host network device.
897ae82d324SMarkus ArmbrusterETEXI
898ae82d324SMarkus Armbruster
899ae82d324SMarkus Armbruster    {
900ae82d324SMarkus Armbruster        .name       = "netdev_del",
901ae82d324SMarkus Armbruster        .args_type  = "id:s",
902ae82d324SMarkus Armbruster        .params     = "id",
903ae82d324SMarkus Armbruster        .help       = "remove host network device",
904ae82d324SMarkus Armbruster        .user_print = monitor_user_noop,
905ae82d324SMarkus Armbruster        .mhandler.cmd_new = do_netdev_del,
906ae82d324SMarkus Armbruster    },
907ae82d324SMarkus Armbruster
908ae82d324SMarkus ArmbrusterSTEXI
909ae82d324SMarkus Armbruster@item netdev_del
910ae82d324SMarkus Armbruster@findex netdev_del
911ae82d324SMarkus ArmbrusterRemove host network device.
912ae82d324SMarkus ArmbrusterETEXI
913ae82d324SMarkus Armbruster
9142313086aSBlue Swirl#ifdef CONFIG_SLIRP
915d7f9b689SLuiz Capitulino    {
916d7f9b689SLuiz Capitulino        .name       = "hostfwd_add",
917d7f9b689SLuiz Capitulino        .args_type  = "arg1:s,arg2:s?,arg3:s?",
918d7f9b689SLuiz Capitulino        .params     = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport",
919d7f9b689SLuiz Capitulino        .help       = "redirect TCP or UDP connections from host to guest (requires -net user)",
920af4ce882SLuiz Capitulino        .mhandler.cmd = net_slirp_hostfwd_add,
921d7f9b689SLuiz Capitulino    },
92221413d68SMarkus Armbruster#endif
92321413d68SMarkus ArmbrusterSTEXI
92421413d68SMarkus Armbruster@item hostfwd_add
92521413d68SMarkus Armbruster@findex hostfwd_add
92621413d68SMarkus ArmbrusterRedirect TCP or UDP connections from host to guest (requires -net user).
92721413d68SMarkus ArmbrusterETEXI
928d7f9b689SLuiz Capitulino
92921413d68SMarkus Armbruster#ifdef CONFIG_SLIRP
930d7f9b689SLuiz Capitulino    {
931d7f9b689SLuiz Capitulino        .name       = "hostfwd_remove",
932d7f9b689SLuiz Capitulino        .args_type  = "arg1:s,arg2:s?,arg3:s?",
933d7f9b689SLuiz Capitulino        .params     = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport",
934d7f9b689SLuiz Capitulino        .help       = "remove host-to-guest TCP or UDP redirection",
935af4ce882SLuiz Capitulino        .mhandler.cmd = net_slirp_hostfwd_remove,
936d7f9b689SLuiz Capitulino    },
937d7f9b689SLuiz Capitulino
9382313086aSBlue Swirl#endif
9392313086aSBlue SwirlSTEXI
94021413d68SMarkus Armbruster@item hostfwd_remove
94121413d68SMarkus Armbruster@findex hostfwd_remove
94221413d68SMarkus ArmbrusterRemove host-to-guest TCP or UDP redirection.
9432313086aSBlue SwirlETEXI
9442313086aSBlue Swirl
945d7f9b689SLuiz Capitulino    {
946d7f9b689SLuiz Capitulino        .name       = "balloon",
9473b0bd6ecSLuiz Capitulino        .args_type  = "value:M",
948d7f9b689SLuiz Capitulino        .params     = "target",
9493c05613aSRiccardo Magliocchetti        .help       = "request VM to change its memory allocation (in MB)",
95083fb1de2SLuiz Capitulino        .user_print = monitor_user_noop,
951625a5befSAdam Litke        .mhandler.cmd_async = do_balloon,
9528ac470c1SJan Kiszka        .flags      = MONITOR_CMD_ASYNC,
953d7f9b689SLuiz Capitulino    },
954d7f9b689SLuiz Capitulino
9552313086aSBlue SwirlSTEXI
9562313086aSBlue Swirl@item balloon @var{value}
95770fcbbe7SStefan Weil@findex balloon
9582313086aSBlue SwirlRequest VM to change its memory allocation to @var{value} (in MB).
9592313086aSBlue SwirlETEXI
9602313086aSBlue Swirl
961d7f9b689SLuiz Capitulino    {
962d7f9b689SLuiz Capitulino        .name       = "set_link",
963c9b26a4cSMarkus Armbruster        .args_type  = "name:s,up:b",
964c9b26a4cSMarkus Armbruster        .params     = "name on|off",
965d7f9b689SLuiz Capitulino        .help       = "change the link status of a network adapter",
9665369e3c0SMarkus Armbruster        .user_print = monitor_user_noop,
9675369e3c0SMarkus Armbruster        .mhandler.cmd_new = do_set_link,
968d7f9b689SLuiz Capitulino    },
969d7f9b689SLuiz Capitulino
9702313086aSBlue SwirlSTEXI
971c9b26a4cSMarkus Armbruster@item set_link @var{name} [on|off]
97270fcbbe7SStefan Weil@findex set_link
973c9b26a4cSMarkus ArmbrusterSwitch link @var{name} on (i.e. up) or off (i.e. down).
9742313086aSBlue SwirlETEXI
9752313086aSBlue Swirl
976d7f9b689SLuiz Capitulino    {
977d7f9b689SLuiz Capitulino        .name       = "watchdog_action",
978d7f9b689SLuiz Capitulino        .args_type  = "action:s",
979d7f9b689SLuiz Capitulino        .params     = "[reset|shutdown|poweroff|pause|debug|none]",
980d7f9b689SLuiz Capitulino        .help       = "change watchdog action",
981af4ce882SLuiz Capitulino        .mhandler.cmd = do_watchdog_action,
982d7f9b689SLuiz Capitulino    },
983d7f9b689SLuiz Capitulino
9842313086aSBlue SwirlSTEXI
9852313086aSBlue Swirl@item watchdog_action
98670fcbbe7SStefan Weil@findex watchdog_action
9872313086aSBlue SwirlChange watchdog action.
9882313086aSBlue SwirlETEXI
9892313086aSBlue Swirl
990d7f9b689SLuiz Capitulino    {
991d7f9b689SLuiz Capitulino        .name       = "acl_show",
992d7f9b689SLuiz Capitulino        .args_type  = "aclname:s",
993d7f9b689SLuiz Capitulino        .params     = "aclname",
994d7f9b689SLuiz Capitulino        .help       = "list rules in the access control list",
995af4ce882SLuiz Capitulino        .mhandler.cmd = do_acl_show,
996d7f9b689SLuiz Capitulino    },
997d7f9b689SLuiz Capitulino
9982313086aSBlue SwirlSTEXI
99915dfcd45SJan Kiszka@item acl_show @var{aclname}
100070fcbbe7SStefan Weil@findex acl_show
100115dfcd45SJan KiszkaList all the matching rules in the access control list, and the default
100215dfcd45SJan Kiszkapolicy. There are currently two named access control lists,
100315dfcd45SJan Kiszka@var{vnc.x509dname} and @var{vnc.username} matching on the x509 client
100415dfcd45SJan Kiszkacertificate distinguished name, and SASL username respectively.
100515dfcd45SJan KiszkaETEXI
10062313086aSBlue Swirl
1007d7f9b689SLuiz Capitulino    {
1008d7f9b689SLuiz Capitulino        .name       = "acl_policy",
1009d7f9b689SLuiz Capitulino        .args_type  = "aclname:s,policy:s",
1010d7f9b689SLuiz Capitulino        .params     = "aclname allow|deny",
1011d7f9b689SLuiz Capitulino        .help       = "set default access control list policy",
1012af4ce882SLuiz Capitulino        .mhandler.cmd = do_acl_policy,
1013d7f9b689SLuiz Capitulino    },
1014d7f9b689SLuiz Capitulino
101515dfcd45SJan KiszkaSTEXI
1016cbbfacc6SJan Kiszka@item acl_policy @var{aclname} @code{allow|deny}
101770fcbbe7SStefan Weil@findex acl_policy
101815dfcd45SJan KiszkaSet the default access control list policy, used in the event that
10192313086aSBlue Swirlnone of the explicit rules match. The default policy at startup is
102015dfcd45SJan Kiszkaalways @code{deny}.
102115dfcd45SJan KiszkaETEXI
102215dfcd45SJan Kiszka
1023d7f9b689SLuiz Capitulino    {
1024d7f9b689SLuiz Capitulino        .name       = "acl_add",
1025d7f9b689SLuiz Capitulino        .args_type  = "aclname:s,match:s,policy:s,index:i?",
1026d7f9b689SLuiz Capitulino        .params     = "aclname match allow|deny [index]",
1027d7f9b689SLuiz Capitulino        .help       = "add a match rule to the access control list",
1028af4ce882SLuiz Capitulino        .mhandler.cmd = do_acl_add,
1029d7f9b689SLuiz Capitulino    },
1030d7f9b689SLuiz Capitulino
103115dfcd45SJan KiszkaSTEXI
10320e4aec98SMarkus Armbruster@item acl_add @var{aclname} @var{match} @code{allow|deny} [@var{index}]
10330e4aec98SMarkus Armbruster@findex acl_add
103415dfcd45SJan KiszkaAdd a match rule to the access control list, allowing or denying access.
103515dfcd45SJan KiszkaThe match will normally be an exact username or x509 distinguished name,
103615dfcd45SJan Kiszkabut can optionally include wildcard globs. eg @code{*@@EXAMPLE.COM} to
103715dfcd45SJan Kiszkaallow all users in the @code{EXAMPLE.COM} kerberos realm. The match will
10382313086aSBlue Swirlnormally be appended to the end of the ACL, but can be inserted
103915dfcd45SJan Kiszkaearlier in the list if the optional @var{index} parameter is supplied.
104015dfcd45SJan KiszkaETEXI
104115dfcd45SJan Kiszka
1042d7f9b689SLuiz Capitulino    {
1043d7f9b689SLuiz Capitulino        .name       = "acl_remove",
1044d7f9b689SLuiz Capitulino        .args_type  = "aclname:s,match:s",
1045d7f9b689SLuiz Capitulino        .params     = "aclname match",
1046d7f9b689SLuiz Capitulino        .help       = "remove a match rule from the access control list",
1047af4ce882SLuiz Capitulino        .mhandler.cmd = do_acl_remove,
1048d7f9b689SLuiz Capitulino    },
1049d7f9b689SLuiz Capitulino
105015dfcd45SJan KiszkaSTEXI
105115dfcd45SJan Kiszka@item acl_remove @var{aclname} @var{match}
105270fcbbe7SStefan Weil@findex acl_remove
105315dfcd45SJan KiszkaRemove the specified match rule from the access control list.
105415dfcd45SJan KiszkaETEXI
105515dfcd45SJan Kiszka
1056d7f9b689SLuiz Capitulino    {
1057d7f9b689SLuiz Capitulino        .name       = "acl_reset",
1058d7f9b689SLuiz Capitulino        .args_type  = "aclname:s",
1059d7f9b689SLuiz Capitulino        .params     = "aclname",
1060d7f9b689SLuiz Capitulino        .help       = "reset the access control list",
1061af4ce882SLuiz Capitulino        .mhandler.cmd = do_acl_reset,
1062d7f9b689SLuiz Capitulino    },
1063d7f9b689SLuiz Capitulino
106415dfcd45SJan KiszkaSTEXI
10650e4aec98SMarkus Armbruster@item acl_reset @var{aclname}
10660e4aec98SMarkus Armbruster@findex acl_reset
106715dfcd45SJan KiszkaRemove all matches from the access control list, and set the default
10682313086aSBlue Swirlpolicy back to @code{deny}.
10692313086aSBlue SwirlETEXI
10702313086aSBlue Swirl
107179c4f6b0SHuang Ying#if defined(TARGET_I386)
1072d7f9b689SLuiz Capitulino
1073d7f9b689SLuiz Capitulino    {
1074d7f9b689SLuiz Capitulino        .name       = "mce",
1075d7f9b689SLuiz Capitulino        .args_type  = "cpu_index:i,bank:i,status:l,mcg_status:l,addr:l,misc:l",
1076d7f9b689SLuiz Capitulino        .params     = "cpu bank status mcgstatus addr misc",
1077d7f9b689SLuiz Capitulino        .help       = "inject a MCE on the given CPU",
1078af4ce882SLuiz Capitulino        .mhandler.cmd = do_inject_mce,
1079d7f9b689SLuiz Capitulino    },
1080d7f9b689SLuiz Capitulino
108179c4f6b0SHuang Ying#endif
108279c4f6b0SHuang YingSTEXI
108379c4f6b0SHuang Ying@item mce @var{cpu} @var{bank} @var{status} @var{mcgstatus} @var{addr} @var{misc}
108470fcbbe7SStefan Weil@findex mce (x86)
108579c4f6b0SHuang YingInject an MCE on the given CPU (x86 only).
108679c4f6b0SHuang YingETEXI
108779c4f6b0SHuang Ying
1088d7f9b689SLuiz Capitulino    {
1089d7f9b689SLuiz Capitulino        .name       = "getfd",
1090d7f9b689SLuiz Capitulino        .args_type  = "fdname:s",
1091d7f9b689SLuiz Capitulino        .params     = "getfd name",
1092d7f9b689SLuiz Capitulino        .help       = "receive a file descriptor via SCM rights and assign it a name",
1093f0d6000aSLuiz Capitulino        .user_print = monitor_user_noop,
1094261394dbSLuiz Capitulino        .mhandler.cmd_new = do_getfd,
1095d7f9b689SLuiz Capitulino    },
1096d7f9b689SLuiz Capitulino
1097f07918fdSMark McLoughlinSTEXI
1098f07918fdSMark McLoughlin@item getfd @var{fdname}
109970fcbbe7SStefan Weil@findex getfd
1100f07918fdSMark McLoughlinIf a file descriptor is passed alongside this command using the SCM_RIGHTS
1101f07918fdSMark McLoughlinmechanism on unix sockets, it is stored using the name @var{fdname} for
1102f07918fdSMark McLoughlinlater use by other monitor commands.
1103f07918fdSMark McLoughlinETEXI
1104f07918fdSMark McLoughlin
1105d7f9b689SLuiz Capitulino    {
1106d7f9b689SLuiz Capitulino        .name       = "closefd",
1107d7f9b689SLuiz Capitulino        .args_type  = "fdname:s",
1108d7f9b689SLuiz Capitulino        .params     = "closefd name",
1109d7f9b689SLuiz Capitulino        .help       = "close a file descriptor previously passed via SCM rights",
111018f3a515SLuiz Capitulino        .user_print = monitor_user_noop,
1111261394dbSLuiz Capitulino        .mhandler.cmd_new = do_closefd,
1112d7f9b689SLuiz Capitulino    },
1113d7f9b689SLuiz Capitulino
1114f07918fdSMark McLoughlinSTEXI
1115f07918fdSMark McLoughlin@item closefd @var{fdname}
111670fcbbe7SStefan Weil@findex closefd
1117f07918fdSMark McLoughlinClose the file descriptor previously assigned to @var{fdname} using the
1118f07918fdSMark McLoughlin@code{getfd} command. This is only needed if the file descriptor was never
1119f07918fdSMark McLoughlinused by another monitor command.
1120f07918fdSMark McLoughlinETEXI
1121f07918fdSMark McLoughlin
1122a3a55a2eSLuiz Capitulino    {
1123a3a55a2eSLuiz Capitulino        .name       = "block_passwd",
1124a3a55a2eSLuiz Capitulino        .args_type  = "device:B,password:s",
1125a3a55a2eSLuiz Capitulino        .params     = "block_passwd device password",
1126a3a55a2eSLuiz Capitulino        .help       = "set the password of encrypted block devices",
1127a3a55a2eSLuiz Capitulino        .user_print = monitor_user_noop,
1128261394dbSLuiz Capitulino        .mhandler.cmd_new = do_block_set_passwd,
1129a3a55a2eSLuiz Capitulino    },
1130a3a55a2eSLuiz Capitulino
1131a3a55a2eSLuiz CapitulinoSTEXI
1132a3a55a2eSLuiz Capitulino@item block_passwd @var{device} @var{password}
113370fcbbe7SStefan Weil@findex block_passwd
1134a3a55a2eSLuiz CapitulinoSet the encrypted device @var{device} password to @var{password}
1135a3a55a2eSLuiz CapitulinoETEXI
1136b40292e7SJan Kiszka
113733572eceSJan Kiszka    {
1138*7572150cSGerd Hoffmann        .name       = "set_password",
1139*7572150cSGerd Hoffmann        .args_type  = "protocol:s,password:s,connected:s?",
1140*7572150cSGerd Hoffmann        .params     = "protocol password action-if-connected",
1141*7572150cSGerd Hoffmann        .help       = "set spice/vnc password",
1142*7572150cSGerd Hoffmann        .user_print = monitor_user_noop,
1143*7572150cSGerd Hoffmann        .mhandler.cmd_new = set_password,
1144*7572150cSGerd Hoffmann    },
1145*7572150cSGerd Hoffmann
1146*7572150cSGerd HoffmannSTEXI
1147*7572150cSGerd Hoffmann@item set_password [ vnc | spice ] password [ action-if-connected ]
1148*7572150cSGerd Hoffmann@findex set_password
1149*7572150cSGerd Hoffmann
1150*7572150cSGerd HoffmannChange spice/vnc password.  Use zero to make the password stay valid
1151*7572150cSGerd Hoffmannforever.  @var{action-if-connected} specifies what should happen in
1152*7572150cSGerd Hoffmanncase a connection is established: @var{fail} makes the password change
1153*7572150cSGerd Hoffmannfail.  @var{disconnect} changes the password and disconnects the
1154*7572150cSGerd Hoffmannclient.  @var{keep} changes the password and keeps the connection up.
1155*7572150cSGerd Hoffmann@var{keep} is the default.
1156*7572150cSGerd HoffmannETEXI
1157*7572150cSGerd Hoffmann
1158*7572150cSGerd Hoffmann    {
1159*7572150cSGerd Hoffmann        .name       = "expire_password",
1160*7572150cSGerd Hoffmann        .args_type  = "protocol:s,time:s",
1161*7572150cSGerd Hoffmann        .params     = "protocol time",
1162*7572150cSGerd Hoffmann        .help       = "set spice/vnc password expire-time",
1163*7572150cSGerd Hoffmann        .user_print = monitor_user_noop,
1164*7572150cSGerd Hoffmann        .mhandler.cmd_new = expire_password,
1165*7572150cSGerd Hoffmann    },
1166*7572150cSGerd Hoffmann
1167*7572150cSGerd HoffmannSTEXI
1168*7572150cSGerd Hoffmann@item expire_password [ vnc | spice ] expire-time
1169*7572150cSGerd Hoffmann@findex expire_password
1170*7572150cSGerd Hoffmann
1171*7572150cSGerd HoffmannSpecify when a password for spice/vnc becomes
1172*7572150cSGerd Hoffmanninvalid. @var{expire-time} accepts:
1173*7572150cSGerd Hoffmann
1174*7572150cSGerd Hoffmann@table @var
1175*7572150cSGerd Hoffmann@item now
1176*7572150cSGerd HoffmannInvalidate password instantly.
1177*7572150cSGerd Hoffmann
1178*7572150cSGerd Hoffmann@item never
1179*7572150cSGerd HoffmannPassword stays valid forever.
1180*7572150cSGerd Hoffmann
1181*7572150cSGerd Hoffmann@item +nsec
1182*7572150cSGerd HoffmannPassword stays valid for @var{nsec} seconds starting now.
1183*7572150cSGerd Hoffmann
1184*7572150cSGerd Hoffmann@item nsec
1185*7572150cSGerd HoffmannPassword is invalidated at the given time.  @var{nsec} are the seconds
1186*7572150cSGerd Hoffmannpassed since 1970, i.e. unix epoch.
1187*7572150cSGerd Hoffmann
1188*7572150cSGerd Hoffmann@end table
1189*7572150cSGerd HoffmannETEXI
1190*7572150cSGerd Hoffmann
1191*7572150cSGerd Hoffmann    {
119233572eceSJan Kiszka        .name       = "info",
119333572eceSJan Kiszka        .args_type  = "item:s?",
119433572eceSJan Kiszka        .params     = "[subcommand]",
119533572eceSJan Kiszka        .help       = "show various information about the system state",
11961162daa6SLuiz Capitulino        .mhandler.cmd = do_info,
119733572eceSJan Kiszka    },
119833572eceSJan Kiszka
119933572eceSJan KiszkaSTEXI
120033572eceSJan Kiszka@item info @var{subcommand}
120133572eceSJan Kiszka@findex info
120233572eceSJan KiszkaShow various information about the system state.
120333572eceSJan Kiszka
120433572eceSJan Kiszka@table @option
120533572eceSJan Kiszka@item info version
120633572eceSJan Kiszkashow the version of QEMU
120733572eceSJan Kiszka@item info network
120833572eceSJan Kiszkashow the various VLANs and the associated devices
120933572eceSJan Kiszka@item info chardev
121033572eceSJan Kiszkashow the character devices
121133572eceSJan Kiszka@item info block
121233572eceSJan Kiszkashow the block devices
121333572eceSJan Kiszka@item info blockstats
121433572eceSJan Kiszkashow block device statistics
121533572eceSJan Kiszka@item info registers
121633572eceSJan Kiszkashow the cpu registers
121733572eceSJan Kiszka@item info cpus
121833572eceSJan Kiszkashow infos for each CPU
121933572eceSJan Kiszka@item info history
122033572eceSJan Kiszkashow the command line history
122133572eceSJan Kiszka@item info irq
122233572eceSJan Kiszkashow the interrupts statistics (if available)
122333572eceSJan Kiszka@item info pic
122433572eceSJan Kiszkashow i8259 (PIC) state
122533572eceSJan Kiszka@item info pci
122633572eceSJan Kiszkashow emulated PCI device info
122733572eceSJan Kiszka@item info tlb
122833572eceSJan Kiszkashow virtual to physical memory mappings (i386 only)
122933572eceSJan Kiszka@item info mem
123033572eceSJan Kiszkashow the active virtual memory mappings (i386 only)
123133572eceSJan Kiszka@item info jit
123233572eceSJan Kiszkashow dynamic compiler info
123333572eceSJan Kiszka@item info kvm
123433572eceSJan Kiszkashow KVM information
123533572eceSJan Kiszka@item info numa
123633572eceSJan Kiszkashow NUMA information
1237b40292e7SJan Kiszka@item info kvm
1238b40292e7SJan Kiszkashow KVM information
123933572eceSJan Kiszka@item info usb
124033572eceSJan Kiszkashow USB devices plugged on the virtual USB hub
124133572eceSJan Kiszka@item info usbhost
124233572eceSJan Kiszkashow all USB host devices
124333572eceSJan Kiszka@item info profile
124433572eceSJan Kiszkashow profiling information
124533572eceSJan Kiszka@item info capture
124633572eceSJan Kiszkashow information about active capturing
124733572eceSJan Kiszka@item info snapshots
124833572eceSJan Kiszkashow list of VM snapshots
124933572eceSJan Kiszka@item info status
125033572eceSJan Kiszkashow the current VM status (running|paused)
125133572eceSJan Kiszka@item info pcmcia
125233572eceSJan Kiszkashow guest PCMCIA status
125333572eceSJan Kiszka@item info mice
125433572eceSJan Kiszkashow which guest mouse is receiving events
125533572eceSJan Kiszka@item info vnc
125633572eceSJan Kiszkashow the vnc server status
125733572eceSJan Kiszka@item info name
125833572eceSJan Kiszkashow the current VM name
125933572eceSJan Kiszka@item info uuid
126033572eceSJan Kiszkashow the current VM UUID
126133572eceSJan Kiszka@item info cpustats
126233572eceSJan Kiszkashow CPU statistics
126333572eceSJan Kiszka@item info usernet
126433572eceSJan Kiszkashow user network stack connection states
126533572eceSJan Kiszka@item info migrate
126633572eceSJan Kiszkashow migration status
126733572eceSJan Kiszka@item info balloon
126833572eceSJan Kiszkashow balloon information
126933572eceSJan Kiszka@item info qtree
127033572eceSJan Kiszkashow device tree
127133572eceSJan Kiszka@item info qdm
127233572eceSJan Kiszkashow qdev device model list
127333572eceSJan Kiszka@item info roms
127433572eceSJan Kiszkashow roms
127533572eceSJan Kiszka@end table
127633572eceSJan KiszkaETEXI
127733572eceSJan Kiszka
127822890ab5SPrerna Saxena#ifdef CONFIG_SIMPLE_TRACE
127922890ab5SPrerna SaxenaSTEXI
128022890ab5SPrerna Saxena@item info trace
128122890ab5SPrerna Saxenashow contents of trace buffer
128222890ab5SPrerna Saxena@item info trace-events
128322890ab5SPrerna Saxenashow available trace events and their state
128422890ab5SPrerna SaxenaETEXI
128522890ab5SPrerna Saxena#endif
128622890ab5SPrerna Saxena
12872313086aSBlue SwirlSTEXI
12882313086aSBlue Swirl@end table
12892313086aSBlue SwirlETEXI
1290