xref: /openbmc/qemu/hmp-commands-info.hx (revision b91a0fa7)
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",
104        .params     = "[-a]",
105        .help       = "show the cpu registers (-a: all - show register info for all cpus)",
106        .cmd        = hmp_info_registers,
107    },
108
109SRST
110  ``info registers``
111    Show the cpu registers.
112ERST
113
114#if defined(TARGET_I386)
115    {
116        .name       = "lapic",
117        .args_type  = "apic-id:i?",
118        .params     = "[apic-id]",
119        .help       = "show local apic state (apic-id: local apic to read, default is which of current CPU)",
120
121        .cmd        = hmp_info_local_apic,
122    },
123#endif
124
125SRST
126  ``info lapic``
127    Show local APIC state
128ERST
129
130    {
131        .name       = "cpus",
132        .args_type  = "",
133        .params     = "",
134        .help       = "show infos for each CPU",
135        .cmd        = hmp_info_cpus,
136    },
137
138SRST
139  ``info cpus``
140    Show infos for each CPU.
141ERST
142
143    {
144        .name       = "history",
145        .args_type  = "",
146        .params     = "",
147        .help       = "show the command line history",
148        .cmd        = hmp_info_history,
149        .flags      = "p",
150    },
151
152SRST
153  ``info history``
154    Show the command line history.
155ERST
156
157    {
158        .name       = "irq",
159        .args_type  = "",
160        .params     = "",
161        .help       = "show the interrupts statistics (if available)",
162        .cmd_info_hrt = qmp_x_query_irq,
163    },
164
165SRST
166  ``info irq``
167    Show the interrupts statistics (if available).
168ERST
169
170    {
171        .name       = "pic",
172        .args_type  = "",
173        .params     = "",
174        .help       = "show PIC state",
175        .cmd        = hmp_info_pic,
176    },
177
178SRST
179  ``info pic``
180    Show PIC state.
181ERST
182
183    {
184        .name       = "rdma",
185        .args_type  = "",
186        .params     = "",
187        .help       = "show RDMA state",
188        .cmd_info_hrt = qmp_x_query_rdma,
189    },
190
191SRST
192  ``info rdma``
193    Show RDMA state.
194ERST
195
196    {
197        .name       = "pci",
198        .args_type  = "",
199        .params     = "",
200        .help       = "show PCI info",
201        .cmd        = hmp_info_pci,
202    },
203
204SRST
205  ``info pci``
206    Show PCI information.
207ERST
208
209#if defined(TARGET_I386) || defined(TARGET_SH4) || defined(TARGET_SPARC) || \
210    defined(TARGET_PPC) || defined(TARGET_XTENSA) || defined(TARGET_M68K)
211    {
212        .name       = "tlb",
213        .args_type  = "",
214        .params     = "",
215        .help       = "show virtual to physical memory mappings",
216        .cmd        = hmp_info_tlb,
217    },
218#endif
219
220SRST
221  ``info tlb``
222    Show virtual to physical memory mappings.
223ERST
224
225#if defined(TARGET_I386) || defined(TARGET_RISCV)
226    {
227        .name       = "mem",
228        .args_type  = "",
229        .params     = "",
230        .help       = "show the active virtual memory mappings",
231        .cmd        = hmp_info_mem,
232    },
233#endif
234
235SRST
236  ``info mem``
237    Show the active virtual memory mappings.
238ERST
239
240    {
241        .name       = "mtree",
242        .args_type  = "flatview:-f,dispatch_tree:-d,owner:-o,disabled:-D",
243        .params     = "[-f][-d][-o][-D]",
244        .help       = "show memory tree (-f: dump flat view for address spaces;"
245                      "-d: dump dispatch tree, valid with -f only);"
246                      "-o: dump region owners/parents;"
247                      "-D: dump disabled regions",
248        .cmd        = hmp_info_mtree,
249    },
250
251SRST
252  ``info mtree``
253    Show memory tree.
254ERST
255
256#if defined(CONFIG_TCG)
257    {
258        .name       = "jit",
259        .args_type  = "",
260        .params     = "",
261        .help       = "show dynamic compiler info",
262    },
263#endif
264
265SRST
266  ``info jit``
267    Show dynamic compiler info.
268ERST
269
270#if defined(CONFIG_TCG)
271    {
272        .name       = "opcount",
273        .args_type  = "",
274        .params     = "",
275        .help       = "show dynamic compiler opcode counters",
276    },
277#endif
278
279SRST
280  ``info opcount``
281    Show dynamic compiler opcode counters
282ERST
283
284    {
285        .name       = "sync-profile",
286        .args_type  = "mean:-m,no_coalesce:-n,max:i?",
287        .params     = "[-m] [-n] [max]",
288        .help       = "show synchronization profiling info, up to max entries "
289                      "(default: 10), sorted by total wait time. (-m: sort by "
290                      "mean wait time; -n: do not coalesce objects with the "
291                      "same call site)",
292        .cmd        = hmp_info_sync_profile,
293    },
294
295SRST
296  ``info sync-profile [-m|-n]`` [*max*]
297    Show synchronization profiling info, up to *max* entries (default: 10),
298    sorted by total wait time.
299
300    ``-m``
301      sort by mean wait time
302    ``-n``
303      do not coalesce objects with the same call site
304
305    When different objects that share the same call site are coalesced,
306    the "Object" field shows---enclosed in brackets---the number of objects
307    being coalesced.
308ERST
309
310    {
311        .name       = "kvm",
312        .args_type  = "",
313        .params     = "",
314        .help       = "show KVM information",
315        .cmd        = hmp_info_kvm,
316    },
317
318SRST
319  ``info kvm``
320    Show KVM information.
321ERST
322
323    {
324        .name       = "numa",
325        .args_type  = "",
326        .params     = "",
327        .help       = "show NUMA information",
328        .cmd_info_hrt = qmp_x_query_numa,
329    },
330
331SRST
332  ``info numa``
333    Show NUMA information.
334ERST
335
336    {
337        .name       = "usb",
338        .args_type  = "",
339        .params     = "",
340        .help       = "show guest USB devices",
341        .cmd_info_hrt = qmp_x_query_usb,
342    },
343
344SRST
345  ``info usb``
346    Show guest USB devices.
347ERST
348
349    {
350        .name       = "usbhost",
351        .args_type  = "",
352        .params     = "",
353        .help       = "show host USB devices",
354    },
355
356SRST
357  ``info usbhost``
358    Show host USB devices.
359ERST
360
361#if defined(CONFIG_TCG)
362    {
363        .name       = "profile",
364        .args_type  = "",
365        .params     = "",
366        .help       = "show profiling information",
367        .cmd_info_hrt = qmp_x_query_profile,
368    },
369#endif
370
371SRST
372  ``info profile``
373    Show profiling information.
374ERST
375
376    {
377        .name       = "capture",
378        .args_type  = "",
379        .params     = "",
380        .help       = "show capture information",
381        .cmd        = hmp_info_capture,
382    },
383
384SRST
385  ``info capture``
386    Show capture information.
387ERST
388
389    {
390        .name       = "snapshots",
391        .args_type  = "",
392        .params     = "",
393        .help       = "show the currently saved VM snapshots",
394        .cmd        = hmp_info_snapshots,
395    },
396
397SRST
398  ``info snapshots``
399    Show the currently saved VM snapshots.
400ERST
401
402    {
403        .name       = "status",
404        .args_type  = "",
405        .params     = "",
406        .help       = "show the current VM status (running|paused)",
407        .cmd        = hmp_info_status,
408        .flags      = "p",
409    },
410
411SRST
412  ``info status``
413    Show the current VM status (running|paused).
414ERST
415
416    {
417        .name       = "mice",
418        .args_type  = "",
419        .params     = "",
420        .help       = "show which guest mouse is receiving events",
421        .cmd        = hmp_info_mice,
422    },
423
424SRST
425  ``info mice``
426    Show which guest mouse is receiving events.
427ERST
428
429#if defined(CONFIG_VNC)
430    {
431        .name       = "vnc",
432        .args_type  = "",
433        .params     = "",
434        .help       = "show the vnc server status",
435        .cmd        = hmp_info_vnc,
436    },
437#endif
438
439SRST
440  ``info vnc``
441    Show the vnc server status.
442ERST
443
444#if defined(CONFIG_SPICE)
445    {
446        .name       = "spice",
447        .args_type  = "",
448        .params     = "",
449        .help       = "show the spice server status",
450        .cmd        = hmp_info_spice,
451    },
452#endif
453
454SRST
455  ``info spice``
456    Show the spice server status.
457ERST
458
459    {
460        .name       = "name",
461        .args_type  = "",
462        .params     = "",
463        .help       = "show the current VM name",
464        .cmd        = hmp_info_name,
465        .flags      = "p",
466    },
467
468SRST
469  ``info name``
470    Show the current VM name.
471ERST
472
473    {
474        .name       = "uuid",
475        .args_type  = "",
476        .params     = "",
477        .help       = "show the current VM UUID",
478        .cmd        = hmp_info_uuid,
479        .flags      = "p",
480    },
481
482SRST
483  ``info uuid``
484    Show the current VM UUID.
485ERST
486
487#if defined(CONFIG_SLIRP)
488    {
489        .name       = "usernet",
490        .args_type  = "",
491        .params     = "",
492        .help       = "show user network stack connection states",
493        .cmd        = hmp_info_usernet,
494    },
495#endif
496
497SRST
498  ``info usernet``
499    Show user network stack connection states.
500ERST
501
502    {
503        .name       = "migrate",
504        .args_type  = "",
505        .params     = "",
506        .help       = "show migration status",
507        .cmd        = hmp_info_migrate,
508    },
509
510SRST
511  ``info migrate``
512    Show migration status.
513ERST
514
515    {
516        .name       = "migrate_capabilities",
517        .args_type  = "",
518        .params     = "",
519        .help       = "show current migration capabilities",
520        .cmd        = hmp_info_migrate_capabilities,
521    },
522
523SRST
524  ``info migrate_capabilities``
525    Show current migration capabilities.
526ERST
527
528    {
529        .name       = "migrate_parameters",
530        .args_type  = "",
531        .params     = "",
532        .help       = "show current migration parameters",
533        .cmd        = hmp_info_migrate_parameters,
534    },
535
536SRST
537  ``info migrate_parameters``
538    Show current migration parameters.
539ERST
540
541    {
542        .name       = "balloon",
543        .args_type  = "",
544        .params     = "",
545        .help       = "show balloon information",
546        .cmd        = hmp_info_balloon,
547    },
548
549SRST
550  ``info balloon``
551    Show balloon information.
552ERST
553
554    {
555        .name       = "qtree",
556        .args_type  = "",
557        .params     = "",
558        .help       = "show device tree",
559        .cmd        = hmp_info_qtree,
560    },
561
562SRST
563  ``info qtree``
564    Show device tree.
565ERST
566
567    {
568        .name       = "qdm",
569        .args_type  = "",
570        .params     = "",
571        .help       = "show qdev device model list",
572        .cmd        = hmp_info_qdm,
573    },
574
575SRST
576  ``info qdm``
577    Show qdev device model list.
578ERST
579
580    {
581        .name       = "qom-tree",
582        .args_type  = "path:s?",
583        .params     = "[path]",
584        .help       = "show QOM composition tree",
585        .cmd        = hmp_info_qom_tree,
586        .flags      = "p",
587    },
588
589SRST
590  ``info qom-tree``
591    Show QOM composition tree.
592ERST
593
594    {
595        .name       = "roms",
596        .args_type  = "",
597        .params     = "",
598        .help       = "show roms",
599        .cmd_info_hrt = qmp_x_query_roms,
600    },
601
602SRST
603  ``info roms``
604    Show roms.
605ERST
606
607    {
608        .name       = "trace-events",
609        .args_type  = "name:s?,vcpu:i?",
610        .params     = "[name] [vcpu]",
611        .help       = "show available trace-events & their state "
612                      "(name: event name pattern; vcpu: vCPU to query, default is any)",
613        .cmd = hmp_info_trace_events,
614        .command_completion = info_trace_events_completion,
615    },
616
617SRST
618  ``info trace-events``
619    Show available trace-events & their state.
620ERST
621
622    {
623        .name       = "tpm",
624        .args_type  = "",
625        .params     = "",
626        .help       = "show the TPM device",
627        .cmd        = hmp_info_tpm,
628    },
629
630SRST
631  ``info tpm``
632    Show the TPM device.
633ERST
634
635    {
636        .name       = "memdev",
637        .args_type  = "",
638        .params     = "",
639        .help       = "show memory backends",
640        .cmd        = hmp_info_memdev,
641        .flags      = "p",
642    },
643
644SRST
645  ``info memdev``
646    Show memory backends
647ERST
648
649    {
650        .name       = "memory-devices",
651        .args_type  = "",
652        .params     = "",
653        .help       = "show memory devices",
654        .cmd        = hmp_info_memory_devices,
655    },
656
657SRST
658  ``info memory-devices``
659    Show memory devices.
660ERST
661
662    {
663        .name       = "iothreads",
664        .args_type  = "",
665        .params     = "",
666        .help       = "show iothreads",
667        .cmd        = hmp_info_iothreads,
668        .flags      = "p",
669    },
670
671SRST
672  ``info iothreads``
673    Show iothread's identifiers.
674ERST
675
676    {
677        .name       = "rocker",
678        .args_type  = "name:s",
679        .params     = "name",
680        .help       = "Show rocker switch",
681        .cmd        = hmp_rocker,
682    },
683
684SRST
685  ``info rocker`` *name*
686    Show rocker switch.
687ERST
688
689    {
690        .name       = "rocker-ports",
691        .args_type  = "name:s",
692        .params     = "name",
693        .help       = "Show rocker ports",
694        .cmd        = hmp_rocker_ports,
695    },
696
697SRST
698  ``info rocker-ports`` *name*-ports
699    Show rocker ports.
700ERST
701
702    {
703        .name       = "rocker-of-dpa-flows",
704        .args_type  = "name:s,tbl_id:i?",
705        .params     = "name [tbl_id]",
706        .help       = "Show rocker OF-DPA flow tables",
707        .cmd        = hmp_rocker_of_dpa_flows,
708    },
709
710SRST
711  ``info rocker-of-dpa-flows`` *name* [*tbl_id*]
712    Show rocker OF-DPA flow tables.
713ERST
714
715    {
716        .name       = "rocker-of-dpa-groups",
717        .args_type  = "name:s,type:i?",
718        .params     = "name [type]",
719        .help       = "Show rocker OF-DPA groups",
720        .cmd        = hmp_rocker_of_dpa_groups,
721    },
722
723SRST
724  ``info rocker-of-dpa-groups`` *name* [*type*]
725    Show rocker OF-DPA groups.
726ERST
727
728#if defined(TARGET_S390X)
729    {
730        .name       = "skeys",
731        .args_type  = "addr:l",
732        .params     = "address",
733        .help       = "Display the value of a storage key",
734        .cmd        = hmp_info_skeys,
735    },
736#endif
737
738SRST
739  ``info skeys`` *address*
740    Display the value of a storage key (s390 only)
741ERST
742
743#if defined(TARGET_S390X)
744    {
745        .name       = "cmma",
746        .args_type  = "addr:l,count:l?",
747        .params     = "address [count]",
748        .help       = "Display the values of the CMMA storage attributes for a range of pages",
749        .cmd        = hmp_info_cmma,
750    },
751#endif
752
753SRST
754  ``info cmma`` *address*
755    Display the values of the CMMA storage attributes for a range of
756    pages (s390 only)
757ERST
758
759    {
760        .name       = "dump",
761        .args_type  = "",
762        .params     = "",
763        .help       = "Display the latest dump status",
764        .cmd        = hmp_info_dump,
765    },
766
767SRST
768  ``info dump``
769    Display the latest dump status.
770ERST
771
772    {
773        .name       = "ramblock",
774        .args_type  = "",
775        .params     = "",
776        .help       = "Display system ramblock information",
777        .cmd_info_hrt = qmp_x_query_ramblock,
778    },
779
780SRST
781  ``info ramblock``
782    Dump all the ramblocks of the system.
783ERST
784
785    {
786        .name       = "hotpluggable-cpus",
787        .args_type  = "",
788        .params     = "",
789        .help       = "Show information about hotpluggable CPUs",
790        .cmd        = hmp_hotpluggable_cpus,
791        .flags      = "p",
792    },
793
794SRST
795  ``info hotpluggable-cpus``
796    Show information about hotpluggable CPUs
797ERST
798
799    {
800        .name       = "vm-generation-id",
801        .args_type  = "",
802        .params     = "",
803        .help       = "Show Virtual Machine Generation ID",
804        .cmd = hmp_info_vm_generation_id,
805    },
806
807SRST
808  ``info vm-generation-id``
809    Show Virtual Machine Generation ID
810ERST
811
812    {
813        .name       = "memory_size_summary",
814        .args_type  = "",
815        .params     = "",
816        .help       = "show the amount of initially allocated and "
817                      "present hotpluggable (if enabled) memory in bytes.",
818        .cmd        = hmp_info_memory_size_summary,
819    },
820
821SRST
822  ``info memory_size_summary``
823    Display the amount of initially allocated and present hotpluggable (if
824    enabled) memory in bytes.
825ERST
826
827#if defined(TARGET_I386)
828    {
829        .name       = "sev",
830        .args_type  = "",
831        .params     = "",
832        .help       = "show SEV information",
833        .cmd        = hmp_info_sev,
834    },
835#endif
836
837SRST
838  ``info sev``
839    Show SEV information.
840ERST
841
842    {
843        .name       = "replay",
844        .args_type  = "",
845        .params     = "",
846        .help       = "show record/replay information",
847        .cmd        = hmp_info_replay,
848    },
849
850SRST
851  ``info replay``
852    Display the record/replay information: mode and the current icount.
853ERST
854
855    {
856        .name       = "dirty_rate",
857        .args_type  = "",
858        .params     = "",
859        .help       = "show dirty rate information",
860        .cmd        = hmp_info_dirty_rate,
861    },
862
863SRST
864  ``info dirty_rate``
865    Display the vcpu dirty rate 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