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