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