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