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