xref: /openbmc/qemu/hmp-commands-info.hx (revision 1e458f11)
1HXCOMM Use DEFHEADING() to define headings in both help text and rST.
2HXCOMM Text between SRST and ERST is copied to the rST version and
3HXCOMM discarded from C version.
4HXCOMM DEF(command, args, callback, arg_string, help) is used to construct
5HXCOMM monitor info commands
6HXCOMM HXCOMM can be used for comments, discarded from both rST and C.
7HXCOMM
8HXCOMM In this file, generally SRST fragments should have two extra
9HXCOMM spaces of indent, so that the documentation list item for "info foo"
10HXCOMM appears inside the documentation list item for the top level
11HXCOMM "info" documentation entry. The exception is the first SRST
12HXCOMM fragment that defines that top level entry.
13
14SRST
15``info`` *subcommand*
16  Show various information about the system state.
17
18ERST
19
20    {
21        .name       = "version",
22        .args_type  = "",
23        .params     = "",
24        .help       = "show the version of QEMU",
25        .cmd        = hmp_info_version,
26        .flags      = "p",
27    },
28
29SRST
30  ``info version``
31    Show the version of QEMU.
32ERST
33
34    {
35        .name       = "network",
36        .args_type  = "",
37        .params     = "",
38        .help       = "show the network state",
39        .cmd        = hmp_info_network,
40    },
41
42SRST
43  ``info network``
44    Show the network state.
45ERST
46
47    {
48        .name       = "chardev",
49        .args_type  = "",
50        .params     = "",
51        .help       = "show the character devices",
52        .cmd        = hmp_info_chardev,
53        .flags      = "p",
54    },
55
56SRST
57  ``info chardev``
58    Show the character devices.
59ERST
60
61    {
62        .name       = "block",
63        .args_type  = "nodes:-n,verbose:-v,device:B?",
64        .params     = "[-n] [-v] [device]",
65        .help       = "show info of one block device or all block devices "
66                      "(-n: show named nodes; -v: show details)",
67        .cmd        = hmp_info_block,
68    },
69
70SRST
71  ``info block``
72    Show info of one block device or all block devices.
73ERST
74
75    {
76        .name       = "blockstats",
77        .args_type  = "",
78        .params     = "",
79        .help       = "show block device statistics",
80        .cmd        = hmp_info_blockstats,
81    },
82
83SRST
84  ``info blockstats``
85    Show block device statistics.
86ERST
87
88    {
89        .name       = "block-jobs",
90        .args_type  = "",
91        .params     = "",
92        .help       = "show progress of ongoing block device operations",
93        .cmd        = hmp_info_block_jobs,
94    },
95
96SRST
97  ``info block-jobs``
98    Show progress of ongoing block device operations.
99ERST
100
101    {
102        .name       = "registers",
103        .args_type  = "cpustate_all:-a,vcpu:i?",
104        .params     = "[-a|vcpu]",
105        .help       = "show the cpu registers (-a: show register info for all cpus;"
106                      " vcpu: specific vCPU to query; show the current CPU's registers if"
107                      " no argument is specified)",
108        .cmd        = hmp_info_registers,
109    },
110
111SRST
112  ``info registers``
113    Show the cpu registers.
114ERST
115
116#if defined(TARGET_I386)
117    {
118        .name       = "lapic",
119        .args_type  = "apic-id:i?",
120        .params     = "[apic-id]",
121        .help       = "show local apic state (apic-id: local apic to read, default is which of current CPU)",
122
123        .cmd        = hmp_info_local_apic,
124    },
125#endif
126
127SRST
128  ``info lapic``
129    Show local APIC state
130ERST
131
132    {
133        .name       = "cpus",
134        .args_type  = "",
135        .params     = "",
136        .help       = "show infos for each CPU",
137        .cmd        = hmp_info_cpus,
138    },
139
140SRST
141  ``info cpus``
142    Show infos for each CPU.
143ERST
144
145    {
146        .name       = "history",
147        .args_type  = "",
148        .params     = "",
149        .help       = "show the command line history",
150        .cmd        = hmp_info_history,
151        .flags      = "p",
152    },
153
154SRST
155  ``info history``
156    Show the command line history.
157ERST
158
159    {
160        .name       = "irq",
161        .args_type  = "",
162        .params     = "",
163        .help       = "show the interrupts statistics (if available)",
164        .cmd_info_hrt = qmp_x_query_irq,
165    },
166
167SRST
168  ``info irq``
169    Show the interrupts statistics (if available).
170ERST
171
172    {
173        .name       = "pic",
174        .args_type  = "",
175        .params     = "",
176        .help       = "show PIC state",
177        .cmd        = hmp_info_pic,
178    },
179
180SRST
181  ``info pic``
182    Show PIC state.
183ERST
184
185    {
186        .name       = "rdma",
187        .args_type  = "",
188        .params     = "",
189        .help       = "show RDMA state",
190        .cmd_info_hrt = qmp_x_query_rdma,
191    },
192
193SRST
194  ``info rdma``
195    Show RDMA state.
196ERST
197
198    {
199        .name       = "pci",
200        .args_type  = "",
201        .params     = "",
202        .help       = "show PCI info",
203        .cmd        = hmp_info_pci,
204    },
205
206SRST
207  ``info pci``
208    Show PCI information.
209ERST
210
211#if defined(TARGET_I386) || defined(TARGET_SH4) || defined(TARGET_SPARC) || \
212    defined(TARGET_PPC) || defined(TARGET_XTENSA) || defined(TARGET_M68K)
213    {
214        .name       = "tlb",
215        .args_type  = "",
216        .params     = "",
217        .help       = "show virtual to physical memory mappings",
218        .cmd        = hmp_info_tlb,
219    },
220#endif
221
222SRST
223  ``info tlb``
224    Show virtual to physical memory mappings.
225ERST
226
227#if defined(TARGET_I386) || defined(TARGET_RISCV)
228    {
229        .name       = "mem",
230        .args_type  = "",
231        .params     = "",
232        .help       = "show the active virtual memory mappings",
233        .cmd        = hmp_info_mem,
234    },
235#endif
236
237SRST
238  ``info mem``
239    Show the active virtual memory mappings.
240ERST
241
242    {
243        .name       = "mtree",
244        .args_type  = "flatview:-f,dispatch_tree:-d,owner:-o,disabled:-D",
245        .params     = "[-f][-d][-o][-D]",
246        .help       = "show memory tree (-f: dump flat view for address spaces;"
247                      "-d: dump dispatch tree, valid with -f only);"
248                      "-o: dump region owners/parents;"
249                      "-D: dump disabled regions",
250        .cmd        = hmp_info_mtree,
251    },
252
253SRST
254  ``info mtree``
255    Show memory tree.
256ERST
257
258#if defined(CONFIG_TCG)
259    {
260        .name       = "jit",
261        .args_type  = "",
262        .params     = "",
263        .help       = "show dynamic compiler info",
264    },
265#endif
266
267SRST
268  ``info jit``
269    Show dynamic compiler info.
270ERST
271
272#if defined(CONFIG_TCG)
273    {
274        .name       = "opcount",
275        .args_type  = "",
276        .params     = "",
277        .help       = "show dynamic compiler opcode counters",
278    },
279#endif
280
281SRST
282  ``info opcount``
283    Show dynamic compiler opcode counters
284ERST
285
286    {
287        .name       = "sync-profile",
288        .args_type  = "mean:-m,no_coalesce:-n,max:i?",
289        .params     = "[-m] [-n] [max]",
290        .help       = "show synchronization profiling info, up to max entries "
291                      "(default: 10), sorted by total wait time. (-m: sort by "
292                      "mean wait time; -n: do not coalesce objects with the "
293                      "same call site)",
294        .cmd        = hmp_info_sync_profile,
295    },
296
297SRST
298  ``info sync-profile [-m|-n]`` [*max*]
299    Show synchronization profiling info, up to *max* entries (default: 10),
300    sorted by total wait time.
301
302    ``-m``
303      sort by mean wait time
304    ``-n``
305      do not coalesce objects with the same call site
306
307    When different objects that share the same call site are coalesced,
308    the "Object" field shows---enclosed in brackets---the number of objects
309    being coalesced.
310ERST
311
312    {
313        .name       = "kvm",
314        .args_type  = "",
315        .params     = "",
316        .help       = "show KVM information",
317        .cmd        = hmp_info_kvm,
318    },
319
320SRST
321  ``info kvm``
322    Show KVM information.
323ERST
324
325    {
326        .name       = "numa",
327        .args_type  = "",
328        .params     = "",
329        .help       = "show NUMA information",
330        .cmd_info_hrt = qmp_x_query_numa,
331    },
332
333SRST
334  ``info numa``
335    Show NUMA information.
336ERST
337
338    {
339        .name       = "usb",
340        .args_type  = "",
341        .params     = "",
342        .help       = "show guest USB devices",
343        .cmd_info_hrt = qmp_x_query_usb,
344    },
345
346SRST
347  ``info usb``
348    Show guest USB devices.
349ERST
350
351    {
352        .name       = "usbhost",
353        .args_type  = "",
354        .params     = "",
355        .help       = "show host USB devices",
356    },
357
358SRST
359  ``info usbhost``
360    Show host USB devices.
361ERST
362
363#if defined(CONFIG_TCG)
364    {
365        .name       = "profile",
366        .args_type  = "",
367        .params     = "",
368        .help       = "show profiling information",
369        .cmd_info_hrt = qmp_x_query_profile,
370    },
371#endif
372
373SRST
374  ``info profile``
375    Show profiling information.
376ERST
377
378    {
379        .name       = "capture",
380        .args_type  = "",
381        .params     = "",
382        .help       = "show capture information",
383        .cmd        = hmp_info_capture,
384    },
385
386SRST
387  ``info capture``
388    Show capture information.
389ERST
390
391    {
392        .name       = "snapshots",
393        .args_type  = "",
394        .params     = "",
395        .help       = "show the currently saved VM snapshots",
396        .cmd        = hmp_info_snapshots,
397    },
398
399SRST
400  ``info snapshots``
401    Show the currently saved VM snapshots.
402ERST
403
404    {
405        .name       = "status",
406        .args_type  = "",
407        .params     = "",
408        .help       = "show the current VM status (running|paused)",
409        .cmd        = hmp_info_status,
410        .flags      = "p",
411    },
412
413SRST
414  ``info status``
415    Show the current VM status (running|paused).
416ERST
417
418    {
419        .name       = "mice",
420        .args_type  = "",
421        .params     = "",
422        .help       = "show which guest mouse is receiving events",
423        .cmd        = hmp_info_mice,
424    },
425
426SRST
427  ``info mice``
428    Show which guest mouse is receiving events.
429ERST
430
431#if defined(CONFIG_VNC)
432    {
433        .name       = "vnc",
434        .args_type  = "",
435        .params     = "",
436        .help       = "show the vnc server status",
437        .cmd        = hmp_info_vnc,
438    },
439#endif
440
441SRST
442  ``info vnc``
443    Show the vnc server status.
444ERST
445
446#if defined(CONFIG_SPICE)
447    {
448        .name       = "spice",
449        .args_type  = "",
450        .params     = "",
451        .help       = "show the spice server status",
452        .cmd        = hmp_info_spice,
453    },
454#endif
455
456SRST
457  ``info spice``
458    Show the spice server status.
459ERST
460
461    {
462        .name       = "name",
463        .args_type  = "",
464        .params     = "",
465        .help       = "show the current VM name",
466        .cmd        = hmp_info_name,
467        .flags      = "p",
468    },
469
470SRST
471  ``info name``
472    Show the current VM name.
473ERST
474
475    {
476        .name       = "uuid",
477        .args_type  = "",
478        .params     = "",
479        .help       = "show the current VM UUID",
480        .cmd        = hmp_info_uuid,
481        .flags      = "p",
482    },
483
484SRST
485  ``info uuid``
486    Show the current VM UUID.
487ERST
488
489#if defined(CONFIG_SLIRP)
490    {
491        .name       = "usernet",
492        .args_type  = "",
493        .params     = "",
494        .help       = "show user network stack connection states",
495        .cmd        = hmp_info_usernet,
496    },
497#endif
498
499SRST
500  ``info usernet``
501    Show user network stack connection states.
502ERST
503
504    {
505        .name       = "migrate",
506        .args_type  = "",
507        .params     = "",
508        .help       = "show migration status",
509        .cmd        = hmp_info_migrate,
510    },
511
512SRST
513  ``info migrate``
514    Show migration status.
515ERST
516
517    {
518        .name       = "migrate_capabilities",
519        .args_type  = "",
520        .params     = "",
521        .help       = "show current migration capabilities",
522        .cmd        = hmp_info_migrate_capabilities,
523    },
524
525SRST
526  ``info migrate_capabilities``
527    Show current migration capabilities.
528ERST
529
530    {
531        .name       = "migrate_parameters",
532        .args_type  = "",
533        .params     = "",
534        .help       = "show current migration parameters",
535        .cmd        = hmp_info_migrate_parameters,
536    },
537
538SRST
539  ``info migrate_parameters``
540    Show current migration parameters.
541ERST
542
543    {
544        .name       = "balloon",
545        .args_type  = "",
546        .params     = "",
547        .help       = "show balloon information",
548        .cmd        = hmp_info_balloon,
549    },
550
551SRST
552  ``info balloon``
553    Show balloon information.
554ERST
555
556    {
557        .name       = "qtree",
558        .args_type  = "",
559        .params     = "",
560        .help       = "show device tree",
561        .cmd        = hmp_info_qtree,
562    },
563
564SRST
565  ``info qtree``
566    Show device tree.
567ERST
568
569    {
570        .name       = "qdm",
571        .args_type  = "",
572        .params     = "",
573        .help       = "show qdev device model list",
574        .cmd        = hmp_info_qdm,
575    },
576
577SRST
578  ``info qdm``
579    Show qdev device model list.
580ERST
581
582    {
583        .name       = "qom-tree",
584        .args_type  = "path:s?",
585        .params     = "[path]",
586        .help       = "show QOM composition tree",
587        .cmd        = hmp_info_qom_tree,
588        .flags      = "p",
589    },
590
591SRST
592  ``info qom-tree``
593    Show QOM composition tree.
594ERST
595
596    {
597        .name       = "roms",
598        .args_type  = "",
599        .params     = "",
600        .help       = "show roms",
601        .cmd_info_hrt = qmp_x_query_roms,
602    },
603
604SRST
605  ``info roms``
606    Show roms.
607ERST
608
609    {
610        .name       = "trace-events",
611        .args_type  = "name:s?,vcpu:i?",
612        .params     = "[name] [vcpu]",
613        .help       = "show available trace-events & their state "
614                      "(name: event name pattern; vcpu: vCPU to query, default is any)",
615        .cmd = hmp_info_trace_events,
616        .command_completion = info_trace_events_completion,
617    },
618
619SRST
620  ``info trace-events``
621    Show available trace-events & their state.
622ERST
623
624    {
625        .name       = "tpm",
626        .args_type  = "",
627        .params     = "",
628        .help       = "show the TPM device",
629        .cmd        = hmp_info_tpm,
630    },
631
632SRST
633  ``info tpm``
634    Show the TPM device.
635ERST
636
637    {
638        .name       = "memdev",
639        .args_type  = "",
640        .params     = "",
641        .help       = "show memory backends",
642        .cmd        = hmp_info_memdev,
643        .flags      = "p",
644    },
645
646SRST
647  ``info memdev``
648    Show memory backends
649ERST
650
651    {
652        .name       = "memory-devices",
653        .args_type  = "",
654        .params     = "",
655        .help       = "show memory devices",
656        .cmd        = hmp_info_memory_devices,
657    },
658
659SRST
660  ``info memory-devices``
661    Show memory devices.
662ERST
663
664    {
665        .name       = "iothreads",
666        .args_type  = "",
667        .params     = "",
668        .help       = "show iothreads",
669        .cmd        = hmp_info_iothreads,
670        .flags      = "p",
671    },
672
673SRST
674  ``info iothreads``
675    Show iothread's identifiers.
676ERST
677
678    {
679        .name       = "rocker",
680        .args_type  = "name:s",
681        .params     = "name",
682        .help       = "Show rocker switch",
683        .cmd        = hmp_rocker,
684    },
685
686SRST
687  ``info rocker`` *name*
688    Show rocker switch.
689ERST
690
691    {
692        .name       = "rocker-ports",
693        .args_type  = "name:s",
694        .params     = "name",
695        .help       = "Show rocker ports",
696        .cmd        = hmp_rocker_ports,
697    },
698
699SRST
700  ``info rocker-ports`` *name*-ports
701    Show rocker ports.
702ERST
703
704    {
705        .name       = "rocker-of-dpa-flows",
706        .args_type  = "name:s,tbl_id:i?",
707        .params     = "name [tbl_id]",
708        .help       = "Show rocker OF-DPA flow tables",
709        .cmd        = hmp_rocker_of_dpa_flows,
710    },
711
712SRST
713  ``info rocker-of-dpa-flows`` *name* [*tbl_id*]
714    Show rocker OF-DPA flow tables.
715ERST
716
717    {
718        .name       = "rocker-of-dpa-groups",
719        .args_type  = "name:s,type:i?",
720        .params     = "name [type]",
721        .help       = "Show rocker OF-DPA groups",
722        .cmd        = hmp_rocker_of_dpa_groups,
723    },
724
725SRST
726  ``info rocker-of-dpa-groups`` *name* [*type*]
727    Show rocker OF-DPA groups.
728ERST
729
730#if defined(TARGET_S390X)
731    {
732        .name       = "skeys",
733        .args_type  = "addr:l",
734        .params     = "address",
735        .help       = "Display the value of a storage key",
736        .cmd        = hmp_info_skeys,
737    },
738#endif
739
740SRST
741  ``info skeys`` *address*
742    Display the value of a storage key (s390 only)
743ERST
744
745#if defined(TARGET_S390X)
746    {
747        .name       = "cmma",
748        .args_type  = "addr:l,count:l?",
749        .params     = "address [count]",
750        .help       = "Display the values of the CMMA storage attributes for a range of pages",
751        .cmd        = hmp_info_cmma,
752    },
753#endif
754
755SRST
756  ``info cmma`` *address*
757    Display the values of the CMMA storage attributes for a range of
758    pages (s390 only)
759ERST
760
761    {
762        .name       = "dump",
763        .args_type  = "",
764        .params     = "",
765        .help       = "Display the latest dump status",
766        .cmd        = hmp_info_dump,
767    },
768
769SRST
770  ``info dump``
771    Display the latest dump status.
772ERST
773
774    {
775        .name       = "ramblock",
776        .args_type  = "",
777        .params     = "",
778        .help       = "Display system ramblock information",
779        .cmd_info_hrt = qmp_x_query_ramblock,
780    },
781
782SRST
783  ``info ramblock``
784    Dump all the ramblocks of the system.
785ERST
786
787    {
788        .name       = "hotpluggable-cpus",
789        .args_type  = "",
790        .params     = "",
791        .help       = "Show information about hotpluggable CPUs",
792        .cmd        = hmp_hotpluggable_cpus,
793        .flags      = "p",
794    },
795
796SRST
797  ``info hotpluggable-cpus``
798    Show information about hotpluggable CPUs
799ERST
800
801    {
802        .name       = "vm-generation-id",
803        .args_type  = "",
804        .params     = "",
805        .help       = "Show Virtual Machine Generation ID",
806        .cmd = hmp_info_vm_generation_id,
807    },
808
809SRST
810  ``info vm-generation-id``
811    Show Virtual Machine Generation ID
812ERST
813
814    {
815        .name       = "memory_size_summary",
816        .args_type  = "",
817        .params     = "",
818        .help       = "show the amount of initially allocated and "
819                      "present hotpluggable (if enabled) memory in bytes.",
820        .cmd        = hmp_info_memory_size_summary,
821    },
822
823SRST
824  ``info memory_size_summary``
825    Display the amount of initially allocated and present hotpluggable (if
826    enabled) memory in bytes.
827ERST
828
829#if defined(TARGET_I386)
830    {
831        .name       = "sev",
832        .args_type  = "",
833        .params     = "",
834        .help       = "show SEV information",
835        .cmd        = hmp_info_sev,
836    },
837#endif
838
839SRST
840  ``info sev``
841    Show SEV information.
842ERST
843
844    {
845        .name       = "replay",
846        .args_type  = "",
847        .params     = "",
848        .help       = "show record/replay information",
849        .cmd        = hmp_info_replay,
850    },
851
852SRST
853  ``info replay``
854    Display the record/replay information: mode and the current icount.
855ERST
856
857    {
858        .name       = "dirty_rate",
859        .args_type  = "",
860        .params     = "",
861        .help       = "show dirty rate information",
862        .cmd        = hmp_info_dirty_rate,
863    },
864
865SRST
866  ``info dirty_rate``
867    Display the vcpu dirty rate information.
868ERST
869
870    {
871        .name       = "vcpu_dirty_limit",
872        .args_type  = "",
873        .params     = "",
874        .help       = "show dirty page limit information of all vCPU",
875        .cmd        = hmp_info_vcpu_dirty_limit,
876    },
877
878SRST
879  ``info vcpu_dirty_limit``
880    Display the vcpu dirty page limit information.
881ERST
882
883#if defined(TARGET_I386)
884    {
885        .name       = "sgx",
886        .args_type  = "",
887        .params     = "",
888        .help       = "show intel SGX information",
889        .cmd        = hmp_info_sgx,
890    },
891#endif
892
893SRST
894  ``info sgx``
895    Show intel SGX information.
896ERST
897
898#if defined(CONFIG_MOS6522)
899    {
900        .name         = "via",
901        .args_type    = "",
902        .params       = "",
903        .help         = "show guest mos6522 VIA devices",
904        .cmd          = hmp_info_via,
905    },
906#endif
907
908SRST
909  ``info via``
910    Show guest mos6522 VIA devices.
911ERST
912
913    {
914        .name       = "stats",
915        .args_type  = "target:s,names:s?,provider:s?",
916        .params     = "target [names] [provider]",
917        .help       = "show statistics for the given target (vm or vcpu); optionally filter by"
918                      "name (comma-separated list, or * for all) and provider",
919        .cmd        = hmp_info_stats,
920    },
921
922SRST
923  ``stats``
924    Show runtime-collected statistics
925ERST
926
927    {
928        .name      = "virtio",
929        .args_type = "",
930        .params    = "",
931        .help      = "List all available virtio devices",
932        .cmd       = hmp_virtio_query,
933        .flags     = "p",
934    },
935
936SRST
937  ``info virtio``
938    List all available virtio devices
939ERST
940
941    {
942        .name      = "virtio-status",
943        .args_type = "path:s",
944        .params    = "path",
945        .help      = "Display status of a given virtio device",
946        .cmd       = hmp_virtio_status,
947        .flags     = "p",
948    },
949
950SRST
951  ``info virtio-status`` *path*
952    Display status of a given virtio device
953ERST
954
955    {
956        .name      = "virtio-queue-status",
957        .args_type = "path:s,queue:i",
958        .params    = "path queue",
959        .help      = "Display status of a given virtio queue",
960        .cmd       = hmp_virtio_queue_status,
961        .flags     = "p",
962    },
963
964SRST
965  ``info virtio-queue-status`` *path* *queue*
966    Display status of a given virtio queue
967ERST
968
969    {
970        .name      = "virtio-vhost-queue-status",
971        .args_type = "path:s,queue:i",
972        .params    = "path queue",
973        .help      = "Display status of a given vhost queue",
974        .cmd       = hmp_vhost_queue_status,
975        .flags     = "p",
976    },
977
978SRST
979  ``info virtio-vhost-queue-status`` *path* *queue*
980    Display status of a given vhost queue
981ERST
982
983    {
984        .name       = "virtio-queue-element",
985        .args_type  = "path:s,queue:i,index:i?",
986        .params     = "path queue [index]",
987        .help       = "Display element of a given virtio queue",
988        .cmd        = hmp_virtio_queue_element,
989        .flags      = "p",
990    },
991
992SRST
993  ``info virtio-queue-element`` *path* *queue* [*index*]
994    Display element of a given virtio queue
995ERST
996