xref: /openbmc/qemu/hmp-commands-info.hx (revision f96b157ebb93f94cd56ebbc99bc20982b8fd86ef)
1HXCOMM See docs/devel/docs.rst for the format of this file.
2HXCOMM
3HXCOMM This file defines the contents of an array of HMPCommand structs
4HXCOMM which specify the name, behaviour and help text for HMP commands.
5HXCOMM Text between SRST and ERST is rST format documentation.
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_info_hrt = qmp_x_query_interrupt_controllers,
178    },
179
180SRST
181  ``info pic``
182    Show PIC state.
183ERST
184
185    {
186        .name       = "pci",
187        .args_type  = "",
188        .params     = "",
189        .help       = "show PCI info",
190        .cmd        = hmp_info_pci,
191    },
192
193SRST
194  ``info pci``
195    Show PCI information.
196ERST
197
198#if defined(TARGET_I386) || defined(TARGET_SH4) || defined(TARGET_SPARC) || \
199    defined(TARGET_PPC) || defined(TARGET_XTENSA) || defined(TARGET_M68K)
200    {
201        .name       = "tlb",
202        .args_type  = "",
203        .params     = "",
204        .help       = "show virtual to physical memory mappings",
205        .cmd        = hmp_info_tlb,
206    },
207#endif
208
209SRST
210  ``info tlb``
211    Show virtual to physical memory mappings.
212ERST
213
214#if defined(TARGET_I386) || defined(TARGET_RISCV)
215    {
216        .name       = "mem",
217        .args_type  = "",
218        .params     = "",
219        .help       = "show the active virtual memory mappings",
220        .cmd        = hmp_info_mem,
221    },
222#endif
223
224SRST
225  ``info mem``
226    Show the active virtual memory mappings.
227ERST
228
229    {
230        .name       = "mtree",
231        .args_type  = "flatview:-f,dispatch_tree:-d,owner:-o,disabled:-D",
232        .params     = "[-f][-d][-o][-D]",
233        .help       = "show memory tree (-f: dump flat view for address spaces;"
234                      "-d: dump dispatch tree, valid with -f only);"
235                      "-o: dump region owners/parents;"
236                      "-D: dump disabled regions",
237        .cmd        = hmp_info_mtree,
238    },
239
240SRST
241  ``info mtree``
242    Show memory tree.
243ERST
244
245#if defined(CONFIG_TCG)
246    {
247        .name       = "jit",
248        .args_type  = "",
249        .params     = "",
250        .help       = "show dynamic compiler info",
251    },
252#endif
253
254SRST
255  ``info jit``
256    Show dynamic compiler info.
257ERST
258
259    {
260        .name       = "sync-profile",
261        .args_type  = "mean:-m,no_coalesce:-n,max:i?",
262        .params     = "[-m] [-n] [max]",
263        .help       = "show synchronization profiling info, up to max entries "
264                      "(default: 10), sorted by total wait time. (-m: sort by "
265                      "mean wait time; -n: do not coalesce objects with the "
266                      "same call site)",
267        .cmd        = hmp_info_sync_profile,
268    },
269
270    {
271        .name       = "accel",
272        .args_type  = "",
273        .params     = "",
274        .help       = "show accelerator info",
275    },
276
277SRST
278  ``info accel``
279    Show accelerator info.
280ERST
281
282SRST
283  ``info sync-profile [-m|-n]`` [*max*]
284    Show synchronization profiling info, up to *max* entries (default: 10),
285    sorted by total wait time.
286
287    ``-m``
288      sort by mean wait time
289    ``-n``
290      do not coalesce objects with the same call site
291
292    When different objects that share the same call site are coalesced,
293    the "Object" field shows---enclosed in brackets---the number of objects
294    being coalesced.
295ERST
296
297    {
298        .name       = "kvm",
299        .args_type  = "",
300        .params     = "",
301        .help       = "show KVM information",
302        .cmd        = hmp_info_kvm,
303    },
304
305SRST
306  ``info kvm``
307    Show KVM information.
308ERST
309
310    {
311        .name       = "numa",
312        .args_type  = "",
313        .params     = "",
314        .help       = "show NUMA information",
315        .cmd_info_hrt = qmp_x_query_numa,
316    },
317
318SRST
319  ``info numa``
320    Show NUMA information.
321ERST
322
323    {
324        .name       = "usb",
325        .args_type  = "",
326        .params     = "",
327        .help       = "show guest USB devices",
328        .cmd_info_hrt = qmp_x_query_usb,
329    },
330
331SRST
332  ``info usb``
333    Show guest USB devices.
334ERST
335
336    {
337        .name       = "usbhost",
338        .args_type  = "",
339        .params     = "",
340        .help       = "show host USB devices",
341    },
342
343SRST
344  ``info usbhost``
345    Show host USB devices.
346ERST
347
348    {
349        .name       = "capture",
350        .args_type  = "",
351        .params     = "",
352        .help       = "show capture information",
353        .cmd        = hmp_info_capture,
354    },
355
356SRST
357  ``info capture``
358    Show capture information.
359ERST
360
361    {
362        .name       = "snapshots",
363        .args_type  = "",
364        .params     = "",
365        .help       = "show the currently saved VM snapshots",
366        .cmd        = hmp_info_snapshots,
367    },
368
369SRST
370  ``info snapshots``
371    Show the currently saved VM snapshots.
372ERST
373
374    {
375        .name       = "status",
376        .args_type  = "",
377        .params     = "",
378        .help       = "show the current VM status (running|paused)",
379        .cmd        = hmp_info_status,
380        .flags      = "p",
381    },
382
383SRST
384  ``info status``
385    Show the current VM status (running|paused).
386ERST
387
388    {
389        .name       = "mice",
390        .args_type  = "",
391        .params     = "",
392        .help       = "show which guest mouse is receiving events",
393        .cmd        = hmp_info_mice,
394    },
395
396SRST
397  ``info mice``
398    Show which guest mouse is receiving events.
399ERST
400
401#if defined(CONFIG_VNC)
402    {
403        .name       = "vnc",
404        .args_type  = "",
405        .params     = "",
406        .help       = "show the vnc server status",
407        .cmd        = hmp_info_vnc,
408    },
409#endif
410
411SRST
412  ``info vnc``
413    Show the vnc server status.
414ERST
415
416#if defined(CONFIG_SPICE)
417    {
418        .name       = "spice",
419        .args_type  = "",
420        .params     = "",
421        .help       = "show the spice server status",
422        .cmd        = hmp_info_spice,
423    },
424#endif
425
426SRST
427  ``info spice``
428    Show the spice server status.
429ERST
430
431    {
432        .name       = "name",
433        .args_type  = "",
434        .params     = "",
435        .help       = "show the current VM name",
436        .cmd        = hmp_info_name,
437        .flags      = "p",
438    },
439
440SRST
441  ``info name``
442    Show the current VM name.
443ERST
444
445    {
446        .name       = "uuid",
447        .args_type  = "",
448        .params     = "",
449        .help       = "show the current VM UUID",
450        .cmd        = hmp_info_uuid,
451        .flags      = "p",
452    },
453
454SRST
455  ``info uuid``
456    Show the current VM UUID.
457ERST
458
459#if defined(CONFIG_SLIRP)
460    {
461        .name       = "usernet",
462        .args_type  = "",
463        .params     = "",
464        .help       = "show user network stack connection states",
465        .cmd        = hmp_info_usernet,
466    },
467#endif
468
469SRST
470  ``info usernet``
471    Show user network stack connection states.
472ERST
473
474    {
475        .name       = "migrate",
476        .args_type  = "all:-a",
477        .params     = "[-a]",
478        .help       = "show migration status (-a: all, dump all status)",
479        .cmd        = hmp_info_migrate,
480    },
481
482SRST
483  ``info migrate``
484    Show migration status.
485ERST
486
487    {
488        .name       = "migrate_capabilities",
489        .args_type  = "",
490        .params     = "",
491        .help       = "show current migration capabilities",
492        .cmd        = hmp_info_migrate_capabilities,
493    },
494
495SRST
496  ``info migrate_capabilities``
497    Show current migration capabilities.
498ERST
499
500    {
501        .name       = "migrate_parameters",
502        .args_type  = "",
503        .params     = "",
504        .help       = "show current migration parameters",
505        .cmd        = hmp_info_migrate_parameters,
506    },
507
508SRST
509  ``info migrate_parameters``
510    Show current migration parameters.
511ERST
512
513    {
514        .name       = "balloon",
515        .args_type  = "",
516        .params     = "",
517        .help       = "show balloon information",
518        .cmd        = hmp_info_balloon,
519    },
520
521SRST
522  ``info balloon``
523    Show balloon information.
524ERST
525
526    {
527        .name       = "qtree",
528        .args_type  = "brief:-b",
529        .params     = "[-b]",
530        .help       = "show device tree (-b: brief, omit properties)",
531        .cmd        = hmp_info_qtree,
532    },
533
534SRST
535  ``info qtree``
536    Show device tree.
537ERST
538
539    {
540        .name       = "qdm",
541        .args_type  = "",
542        .params     = "",
543        .help       = "show qdev device model list",
544        .cmd        = hmp_info_qdm,
545    },
546
547SRST
548  ``info qdm``
549    Show qdev device model list.
550ERST
551
552    {
553        .name       = "qom-tree",
554        .args_type  = "path:s?",
555        .params     = "[path]",
556        .help       = "show QOM composition tree",
557        .cmd        = hmp_info_qom_tree,
558        .flags      = "p",
559    },
560
561SRST
562  ``info qom-tree``
563    Show QOM composition tree.
564ERST
565
566    {
567        .name       = "roms",
568        .args_type  = "",
569        .params     = "",
570        .help       = "show roms",
571        .cmd_info_hrt = qmp_x_query_roms,
572    },
573
574SRST
575  ``info roms``
576    Show roms.
577ERST
578
579    {
580        .name       = "trace-events",
581        .args_type  = "name:s?,vcpu:i?",
582        .params     = "[name] [vcpu]",
583        .help       = "show available trace-events & their state "
584                      "(name: event name pattern; vcpu: vCPU to query, default is any)",
585        .cmd = hmp_info_trace_events,
586        .command_completion = info_trace_events_completion,
587    },
588
589SRST
590  ``info trace-events``
591    Show available trace-events & their state.
592ERST
593
594    {
595        .name       = "tpm",
596        .args_type  = "",
597        .params     = "",
598        .help       = "show the TPM device",
599        .cmd        = hmp_info_tpm,
600    },
601
602SRST
603  ``info tpm``
604    Show the TPM device.
605ERST
606
607    {
608        .name       = "memdev",
609        .args_type  = "",
610        .params     = "",
611        .help       = "show memory backends",
612        .cmd        = hmp_info_memdev,
613        .flags      = "p",
614    },
615
616SRST
617  ``info memdev``
618    Show memory backends
619ERST
620
621    {
622        .name       = "memory-devices",
623        .args_type  = "",
624        .params     = "",
625        .help       = "show memory devices",
626        .cmd        = hmp_info_memory_devices,
627    },
628
629SRST
630  ``info memory-devices``
631    Show memory devices.
632ERST
633
634    {
635        .name       = "iothreads",
636        .args_type  = "",
637        .params     = "",
638        .help       = "show iothreads",
639        .cmd        = hmp_info_iothreads,
640        .flags      = "p",
641    },
642
643SRST
644  ``info iothreads``
645    Show iothread's identifiers.
646ERST
647
648    {
649        .name       = "rocker",
650        .args_type  = "name:s",
651        .params     = "name",
652        .help       = "Show rocker switch",
653        .cmd        = hmp_rocker,
654    },
655
656SRST
657  ``info rocker`` *name*
658    Show rocker switch.
659ERST
660
661    {
662        .name       = "rocker-ports",
663        .args_type  = "name:s",
664        .params     = "name",
665        .help       = "Show rocker ports",
666        .cmd        = hmp_rocker_ports,
667    },
668
669SRST
670  ``info rocker-ports`` *name*-ports
671    Show rocker ports.
672ERST
673
674    {
675        .name       = "rocker-of-dpa-flows",
676        .args_type  = "name:s,tbl_id:i?",
677        .params     = "name [tbl_id]",
678        .help       = "Show rocker OF-DPA flow tables",
679        .cmd        = hmp_rocker_of_dpa_flows,
680    },
681
682SRST
683  ``info rocker-of-dpa-flows`` *name* [*tbl_id*]
684    Show rocker OF-DPA flow tables.
685ERST
686
687    {
688        .name       = "rocker-of-dpa-groups",
689        .args_type  = "name:s,type:i?",
690        .params     = "name [type]",
691        .help       = "Show rocker OF-DPA groups",
692        .cmd        = hmp_rocker_of_dpa_groups,
693    },
694
695SRST
696  ``info rocker-of-dpa-groups`` *name* [*type*]
697    Show rocker OF-DPA groups.
698ERST
699
700#if defined(TARGET_S390X)
701    {
702        .name       = "skeys",
703        .args_type  = "addr:l",
704        .params     = "address",
705        .help       = "Display the value of a storage key",
706        .cmd        = hmp_info_skeys,
707    },
708#endif
709
710SRST
711  ``info skeys`` *address*
712    Display the value of a storage key (s390 only)
713ERST
714
715#if defined(TARGET_S390X)
716    {
717        .name       = "cmma",
718        .args_type  = "addr:l,count:l?",
719        .params     = "address [count]",
720        .help       = "Display the values of the CMMA storage attributes for a range of pages",
721        .cmd        = hmp_info_cmma,
722    },
723#endif
724
725SRST
726  ``info cmma`` *address*
727    Display the values of the CMMA storage attributes for a range of
728    pages (s390 only)
729ERST
730
731    {
732        .name       = "dump",
733        .args_type  = "",
734        .params     = "",
735        .help       = "Display the latest dump status",
736        .cmd        = hmp_info_dump,
737    },
738
739SRST
740  ``info dump``
741    Display the latest dump status.
742ERST
743
744    {
745        .name       = "ramblock",
746        .args_type  = "",
747        .params     = "",
748        .help       = "Display system ramblock information",
749        .cmd_info_hrt = qmp_x_query_ramblock,
750    },
751
752SRST
753  ``info ramblock``
754    Dump all the ramblocks of the system.
755ERST
756
757    {
758        .name       = "hotpluggable-cpus",
759        .args_type  = "",
760        .params     = "",
761        .help       = "Show information about hotpluggable CPUs",
762        .cmd        = hmp_hotpluggable_cpus,
763        .flags      = "p",
764    },
765
766SRST
767  ``info hotpluggable-cpus``
768    Show information about hotpluggable CPUs
769ERST
770
771    {
772        .name       = "vm-generation-id",
773        .args_type  = "",
774        .params     = "",
775        .help       = "Show Virtual Machine Generation ID",
776        .cmd = hmp_info_vm_generation_id,
777    },
778
779SRST
780  ``info vm-generation-id``
781    Show Virtual Machine Generation ID
782ERST
783
784    {
785        .name       = "memory_size_summary",
786        .args_type  = "",
787        .params     = "",
788        .help       = "show the amount of initially allocated and "
789                      "present hotpluggable (if enabled) memory in bytes.",
790        .cmd        = hmp_info_memory_size_summary,
791    },
792
793SRST
794  ``info memory_size_summary``
795    Display the amount of initially allocated and present hotpluggable (if
796    enabled) memory in bytes.
797ERST
798
799#if defined(TARGET_I386)
800    {
801        .name       = "sev",
802        .args_type  = "",
803        .params     = "",
804        .help       = "show SEV information",
805        .cmd        = hmp_info_sev,
806    },
807#endif
808
809SRST
810  ``info sev``
811    Show SEV information.
812ERST
813
814    {
815        .name       = "replay",
816        .args_type  = "",
817        .params     = "",
818        .help       = "show record/replay information",
819        .cmd        = hmp_info_replay,
820    },
821
822SRST
823  ``info replay``
824    Display the record/replay information: mode and the current icount.
825ERST
826
827    {
828        .name       = "dirty_rate",
829        .args_type  = "",
830        .params     = "",
831        .help       = "show dirty rate information",
832        .cmd        = hmp_info_dirty_rate,
833    },
834
835SRST
836  ``info dirty_rate``
837    Display the vcpu dirty rate information.
838ERST
839
840    {
841        .name       = "vcpu_dirty_limit",
842        .args_type  = "",
843        .params     = "",
844        .help       = "show dirty page limit information of all vCPU",
845        .cmd        = hmp_info_vcpu_dirty_limit,
846    },
847
848SRST
849  ``info vcpu_dirty_limit``
850    Display the vcpu dirty page limit information.
851ERST
852
853#if defined(TARGET_I386)
854    {
855        .name       = "sgx",
856        .args_type  = "",
857        .params     = "",
858        .help       = "show intel SGX information",
859        .cmd        = hmp_info_sgx,
860    },
861#endif
862
863SRST
864  ``info sgx``
865    Show intel SGX information.
866ERST
867
868#if defined(CONFIG_MOS6522)
869    {
870        .name         = "via",
871        .args_type    = "",
872        .params       = "",
873        .help         = "show guest mos6522 VIA devices",
874        .cmd          = hmp_info_via,
875    },
876#endif
877
878SRST
879  ``info via``
880    Show guest mos6522 VIA devices.
881ERST
882
883    {
884        .name       = "stats",
885        .args_type  = "target:s,names:s?,provider:s?",
886        .params     = "target [names] [provider]",
887        .help       = "show statistics for the given target (vm or vcpu); optionally filter by"
888                      "name (comma-separated list, or * for all) and provider",
889        .cmd        = hmp_info_stats,
890    },
891
892SRST
893  ``info stats``
894    Show runtime-collected statistics
895ERST
896
897    {
898        .name      = "virtio",
899        .args_type = "",
900        .params    = "",
901        .help      = "List all available virtio devices",
902        .cmd       = hmp_virtio_query,
903        .flags     = "p",
904    },
905
906SRST
907  ``info virtio``
908    List all available virtio devices
909ERST
910
911    {
912        .name      = "virtio-status",
913        .args_type = "path:s",
914        .params    = "path",
915        .help      = "Display status of a given virtio device",
916        .cmd       = hmp_virtio_status,
917        .flags     = "p",
918    },
919
920SRST
921  ``info virtio-status`` *path*
922    Display status of a given virtio device
923ERST
924
925    {
926        .name      = "virtio-queue-status",
927        .args_type = "path:s,queue:i",
928        .params    = "path queue",
929        .help      = "Display status of a given virtio queue",
930        .cmd       = hmp_virtio_queue_status,
931        .flags     = "p",
932    },
933
934SRST
935  ``info virtio-queue-status`` *path* *queue*
936    Display status of a given virtio queue
937ERST
938
939    {
940        .name      = "virtio-vhost-queue-status",
941        .args_type = "path:s,queue:i",
942        .params    = "path queue",
943        .help      = "Display status of a given vhost queue",
944        .cmd       = hmp_vhost_queue_status,
945        .flags     = "p",
946    },
947
948SRST
949  ``info virtio-vhost-queue-status`` *path* *queue*
950    Display status of a given vhost queue
951ERST
952
953    {
954        .name       = "virtio-queue-element",
955        .args_type  = "path:s,queue:i,index:i?",
956        .params     = "path queue [index]",
957        .help       = "Display element of a given virtio queue",
958        .cmd        = hmp_virtio_queue_element,
959        .flags      = "p",
960    },
961
962SRST
963  ``info virtio-queue-element`` *path* *queue* [*index*]
964    Display element of a given virtio queue
965ERST
966
967    {
968        .name       = "cryptodev",
969        .args_type  = "",
970        .params     = "",
971        .help       = "show the crypto devices",
972        .cmd        = hmp_info_cryptodev,
973        .flags      = "p",
974    },
975
976SRST
977  ``info cryptodev``
978    Show the crypto devices.
979ERST
980