xref: /openbmc/qemu/hmp-commands-info.hx (revision ed75658a)
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        = 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    {
364        .name       = "capture",
365        .args_type  = "",
366        .params     = "",
367        .help       = "show capture information",
368        .cmd        = hmp_info_capture,
369    },
370
371SRST
372  ``info capture``
373    Show capture information.
374ERST
375
376    {
377        .name       = "snapshots",
378        .args_type  = "",
379        .params     = "",
380        .help       = "show the currently saved VM snapshots",
381        .cmd        = hmp_info_snapshots,
382    },
383
384SRST
385  ``info snapshots``
386    Show the currently saved VM snapshots.
387ERST
388
389    {
390        .name       = "status",
391        .args_type  = "",
392        .params     = "",
393        .help       = "show the current VM status (running|paused)",
394        .cmd        = hmp_info_status,
395        .flags      = "p",
396    },
397
398SRST
399  ``info status``
400    Show the current VM status (running|paused).
401ERST
402
403    {
404        .name       = "mice",
405        .args_type  = "",
406        .params     = "",
407        .help       = "show which guest mouse is receiving events",
408        .cmd        = hmp_info_mice,
409    },
410
411SRST
412  ``info mice``
413    Show which guest mouse is receiving events.
414ERST
415
416#if defined(CONFIG_VNC)
417    {
418        .name       = "vnc",
419        .args_type  = "",
420        .params     = "",
421        .help       = "show the vnc server status",
422        .cmd        = hmp_info_vnc,
423    },
424#endif
425
426SRST
427  ``info vnc``
428    Show the vnc server status.
429ERST
430
431#if defined(CONFIG_SPICE)
432    {
433        .name       = "spice",
434        .args_type  = "",
435        .params     = "",
436        .help       = "show the spice server status",
437        .cmd        = hmp_info_spice,
438    },
439#endif
440
441SRST
442  ``info spice``
443    Show the spice server status.
444ERST
445
446    {
447        .name       = "name",
448        .args_type  = "",
449        .params     = "",
450        .help       = "show the current VM name",
451        .cmd        = hmp_info_name,
452        .flags      = "p",
453    },
454
455SRST
456  ``info name``
457    Show the current VM name.
458ERST
459
460    {
461        .name       = "uuid",
462        .args_type  = "",
463        .params     = "",
464        .help       = "show the current VM UUID",
465        .cmd        = hmp_info_uuid,
466        .flags      = "p",
467    },
468
469SRST
470  ``info uuid``
471    Show the current VM UUID.
472ERST
473
474#if defined(CONFIG_SLIRP)
475    {
476        .name       = "usernet",
477        .args_type  = "",
478        .params     = "",
479        .help       = "show user network stack connection states",
480        .cmd        = hmp_info_usernet,
481    },
482#endif
483
484SRST
485  ``info usernet``
486    Show user network stack connection states.
487ERST
488
489    {
490        .name       = "migrate",
491        .args_type  = "",
492        .params     = "",
493        .help       = "show migration status",
494        .cmd        = hmp_info_migrate,
495    },
496
497SRST
498  ``info migrate``
499    Show migration status.
500ERST
501
502    {
503        .name       = "migrate_capabilities",
504        .args_type  = "",
505        .params     = "",
506        .help       = "show current migration capabilities",
507        .cmd        = hmp_info_migrate_capabilities,
508    },
509
510SRST
511  ``info migrate_capabilities``
512    Show current migration capabilities.
513ERST
514
515    {
516        .name       = "migrate_parameters",
517        .args_type  = "",
518        .params     = "",
519        .help       = "show current migration parameters",
520        .cmd        = hmp_info_migrate_parameters,
521    },
522
523SRST
524  ``info migrate_parameters``
525    Show current migration parameters.
526ERST
527
528    {
529        .name       = "balloon",
530        .args_type  = "",
531        .params     = "",
532        .help       = "show balloon information",
533        .cmd        = hmp_info_balloon,
534    },
535
536SRST
537  ``info balloon``
538    Show balloon information.
539ERST
540
541    {
542        .name       = "qtree",
543        .args_type  = "brief:-b",
544        .params     = "[-b]",
545        .help       = "show device tree (-b: brief, omit properties)",
546        .cmd        = hmp_info_qtree,
547    },
548
549SRST
550  ``info qtree``
551    Show device tree.
552ERST
553
554    {
555        .name       = "qdm",
556        .args_type  = "",
557        .params     = "",
558        .help       = "show qdev device model list",
559        .cmd        = hmp_info_qdm,
560    },
561
562SRST
563  ``info qdm``
564    Show qdev device model list.
565ERST
566
567    {
568        .name       = "qom-tree",
569        .args_type  = "path:s?",
570        .params     = "[path]",
571        .help       = "show QOM composition tree",
572        .cmd        = hmp_info_qom_tree,
573        .flags      = "p",
574    },
575
576SRST
577  ``info qom-tree``
578    Show QOM composition tree.
579ERST
580
581    {
582        .name       = "roms",
583        .args_type  = "",
584        .params     = "",
585        .help       = "show roms",
586        .cmd_info_hrt = qmp_x_query_roms,
587    },
588
589SRST
590  ``info roms``
591    Show roms.
592ERST
593
594    {
595        .name       = "trace-events",
596        .args_type  = "name:s?,vcpu:i?",
597        .params     = "[name] [vcpu]",
598        .help       = "show available trace-events & their state "
599                      "(name: event name pattern; vcpu: vCPU to query, default is any)",
600        .cmd = hmp_info_trace_events,
601        .command_completion = info_trace_events_completion,
602    },
603
604SRST
605  ``info trace-events``
606    Show available trace-events & their state.
607ERST
608
609    {
610        .name       = "tpm",
611        .args_type  = "",
612        .params     = "",
613        .help       = "show the TPM device",
614        .cmd        = hmp_info_tpm,
615    },
616
617SRST
618  ``info tpm``
619    Show the TPM device.
620ERST
621
622    {
623        .name       = "memdev",
624        .args_type  = "",
625        .params     = "",
626        .help       = "show memory backends",
627        .cmd        = hmp_info_memdev,
628        .flags      = "p",
629    },
630
631SRST
632  ``info memdev``
633    Show memory backends
634ERST
635
636    {
637        .name       = "memory-devices",
638        .args_type  = "",
639        .params     = "",
640        .help       = "show memory devices",
641        .cmd        = hmp_info_memory_devices,
642    },
643
644SRST
645  ``info memory-devices``
646    Show memory devices.
647ERST
648
649    {
650        .name       = "iothreads",
651        .args_type  = "",
652        .params     = "",
653        .help       = "show iothreads",
654        .cmd        = hmp_info_iothreads,
655        .flags      = "p",
656    },
657
658SRST
659  ``info iothreads``
660    Show iothread's identifiers.
661ERST
662
663    {
664        .name       = "rocker",
665        .args_type  = "name:s",
666        .params     = "name",
667        .help       = "Show rocker switch",
668        .cmd        = hmp_rocker,
669    },
670
671SRST
672  ``info rocker`` *name*
673    Show rocker switch.
674ERST
675
676    {
677        .name       = "rocker-ports",
678        .args_type  = "name:s",
679        .params     = "name",
680        .help       = "Show rocker ports",
681        .cmd        = hmp_rocker_ports,
682    },
683
684SRST
685  ``info rocker-ports`` *name*-ports
686    Show rocker ports.
687ERST
688
689    {
690        .name       = "rocker-of-dpa-flows",
691        .args_type  = "name:s,tbl_id:i?",
692        .params     = "name [tbl_id]",
693        .help       = "Show rocker OF-DPA flow tables",
694        .cmd        = hmp_rocker_of_dpa_flows,
695    },
696
697SRST
698  ``info rocker-of-dpa-flows`` *name* [*tbl_id*]
699    Show rocker OF-DPA flow tables.
700ERST
701
702    {
703        .name       = "rocker-of-dpa-groups",
704        .args_type  = "name:s,type:i?",
705        .params     = "name [type]",
706        .help       = "Show rocker OF-DPA groups",
707        .cmd        = hmp_rocker_of_dpa_groups,
708    },
709
710SRST
711  ``info rocker-of-dpa-groups`` *name* [*type*]
712    Show rocker OF-DPA groups.
713ERST
714
715#if defined(TARGET_S390X)
716    {
717        .name       = "skeys",
718        .args_type  = "addr:l",
719        .params     = "address",
720        .help       = "Display the value of a storage key",
721        .cmd        = hmp_info_skeys,
722    },
723#endif
724
725SRST
726  ``info skeys`` *address*
727    Display the value of a storage key (s390 only)
728ERST
729
730#if defined(TARGET_S390X)
731    {
732        .name       = "cmma",
733        .args_type  = "addr:l,count:l?",
734        .params     = "address [count]",
735        .help       = "Display the values of the CMMA storage attributes for a range of pages",
736        .cmd        = hmp_info_cmma,
737    },
738#endif
739
740SRST
741  ``info cmma`` *address*
742    Display the values of the CMMA storage attributes for a range of
743    pages (s390 only)
744ERST
745
746    {
747        .name       = "dump",
748        .args_type  = "",
749        .params     = "",
750        .help       = "Display the latest dump status",
751        .cmd        = hmp_info_dump,
752    },
753
754SRST
755  ``info dump``
756    Display the latest dump status.
757ERST
758
759    {
760        .name       = "ramblock",
761        .args_type  = "",
762        .params     = "",
763        .help       = "Display system ramblock information",
764        .cmd_info_hrt = qmp_x_query_ramblock,
765    },
766
767SRST
768  ``info ramblock``
769    Dump all the ramblocks of the system.
770ERST
771
772    {
773        .name       = "hotpluggable-cpus",
774        .args_type  = "",
775        .params     = "",
776        .help       = "Show information about hotpluggable CPUs",
777        .cmd        = hmp_hotpluggable_cpus,
778        .flags      = "p",
779    },
780
781SRST
782  ``info hotpluggable-cpus``
783    Show information about hotpluggable CPUs
784ERST
785
786    {
787        .name       = "vm-generation-id",
788        .args_type  = "",
789        .params     = "",
790        .help       = "Show Virtual Machine Generation ID",
791        .cmd = hmp_info_vm_generation_id,
792    },
793
794SRST
795  ``info vm-generation-id``
796    Show Virtual Machine Generation ID
797ERST
798
799    {
800        .name       = "memory_size_summary",
801        .args_type  = "",
802        .params     = "",
803        .help       = "show the amount of initially allocated and "
804                      "present hotpluggable (if enabled) memory in bytes.",
805        .cmd        = hmp_info_memory_size_summary,
806    },
807
808SRST
809  ``info memory_size_summary``
810    Display the amount of initially allocated and present hotpluggable (if
811    enabled) memory in bytes.
812ERST
813
814#if defined(TARGET_I386)
815    {
816        .name       = "sev",
817        .args_type  = "",
818        .params     = "",
819        .help       = "show SEV information",
820        .cmd        = hmp_info_sev,
821    },
822#endif
823
824SRST
825  ``info sev``
826    Show SEV information.
827ERST
828
829    {
830        .name       = "replay",
831        .args_type  = "",
832        .params     = "",
833        .help       = "show record/replay information",
834        .cmd        = hmp_info_replay,
835    },
836
837SRST
838  ``info replay``
839    Display the record/replay information: mode and the current icount.
840ERST
841
842    {
843        .name       = "dirty_rate",
844        .args_type  = "",
845        .params     = "",
846        .help       = "show dirty rate information",
847        .cmd        = hmp_info_dirty_rate,
848    },
849
850SRST
851  ``info dirty_rate``
852    Display the vcpu dirty rate information.
853ERST
854
855    {
856        .name       = "vcpu_dirty_limit",
857        .args_type  = "",
858        .params     = "",
859        .help       = "show dirty page limit information of all vCPU",
860        .cmd        = hmp_info_vcpu_dirty_limit,
861    },
862
863SRST
864  ``info vcpu_dirty_limit``
865    Display the vcpu dirty page limit information.
866ERST
867
868#if defined(TARGET_I386)
869    {
870        .name       = "sgx",
871        .args_type  = "",
872        .params     = "",
873        .help       = "show intel SGX information",
874        .cmd        = hmp_info_sgx,
875    },
876#endif
877
878SRST
879  ``info sgx``
880    Show intel SGX information.
881ERST
882
883#if defined(CONFIG_MOS6522)
884    {
885        .name         = "via",
886        .args_type    = "",
887        .params       = "",
888        .help         = "show guest mos6522 VIA devices",
889        .cmd          = hmp_info_via,
890    },
891#endif
892
893SRST
894  ``info via``
895    Show guest mos6522 VIA devices.
896ERST
897
898    {
899        .name       = "stats",
900        .args_type  = "target:s,names:s?,provider:s?",
901        .params     = "target [names] [provider]",
902        .help       = "show statistics for the given target (vm or vcpu); optionally filter by"
903                      "name (comma-separated list, or * for all) and provider",
904        .cmd        = hmp_info_stats,
905    },
906
907SRST
908  ``stats``
909    Show runtime-collected statistics
910ERST
911
912    {
913        .name      = "virtio",
914        .args_type = "",
915        .params    = "",
916        .help      = "List all available virtio devices",
917        .cmd       = hmp_virtio_query,
918        .flags     = "p",
919    },
920
921SRST
922  ``info virtio``
923    List all available virtio devices
924ERST
925
926    {
927        .name      = "virtio-status",
928        .args_type = "path:s",
929        .params    = "path",
930        .help      = "Display status of a given virtio device",
931        .cmd       = hmp_virtio_status,
932        .flags     = "p",
933    },
934
935SRST
936  ``info virtio-status`` *path*
937    Display status of a given virtio device
938ERST
939
940    {
941        .name      = "virtio-queue-status",
942        .args_type = "path:s,queue:i",
943        .params    = "path queue",
944        .help      = "Display status of a given virtio queue",
945        .cmd       = hmp_virtio_queue_status,
946        .flags     = "p",
947    },
948
949SRST
950  ``info virtio-queue-status`` *path* *queue*
951    Display status of a given virtio queue
952ERST
953
954    {
955        .name      = "virtio-vhost-queue-status",
956        .args_type = "path:s,queue:i",
957        .params    = "path queue",
958        .help      = "Display status of a given vhost queue",
959        .cmd       = hmp_vhost_queue_status,
960        .flags     = "p",
961    },
962
963SRST
964  ``info virtio-vhost-queue-status`` *path* *queue*
965    Display status of a given vhost queue
966ERST
967
968    {
969        .name       = "virtio-queue-element",
970        .args_type  = "path:s,queue:i,index:i?",
971        .params     = "path queue [index]",
972        .help       = "Display element of a given virtio queue",
973        .cmd        = hmp_virtio_queue_element,
974        .flags      = "p",
975    },
976
977SRST
978  ``info virtio-queue-element`` *path* *queue* [*index*]
979    Display element of a given virtio queue
980ERST
981
982    {
983        .name       = "cryptodev",
984        .args_type  = "",
985        .params     = "",
986        .help       = "show the crypto devices",
987        .cmd        = hmp_info_cryptodev,
988        .flags      = "p",
989    },
990
991SRST
992  ``info cryptodev``
993    Show the crypto devices.
994ERST
995