xref: /openbmc/qemu/hmp-commands-info.hx (revision 5ade579b)
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    {
504        .name       = "cpustats",
505        .args_type  = "",
506        .params     = "",
507        .help       = "show CPU statistics",
508        .cmd        = hmp_info_cpustats,
509    },
510
511SRST
512  ``info cpustats``
513    Show CPU statistics.
514ERST
515
516#if defined(CONFIG_SLIRP)
517    {
518        .name       = "usernet",
519        .args_type  = "",
520        .params     = "",
521        .help       = "show user network stack connection states",
522        .cmd        = hmp_info_usernet,
523    },
524#endif
525
526SRST
527  ``info usernet``
528    Show user network stack connection states.
529ERST
530
531    {
532        .name       = "migrate",
533        .args_type  = "",
534        .params     = "",
535        .help       = "show migration status",
536        .cmd        = hmp_info_migrate,
537    },
538
539SRST
540  ``info migrate``
541    Show migration status.
542ERST
543
544    {
545        .name       = "migrate_capabilities",
546        .args_type  = "",
547        .params     = "",
548        .help       = "show current migration capabilities",
549        .cmd        = hmp_info_migrate_capabilities,
550    },
551
552SRST
553  ``info migrate_capabilities``
554    Show current migration capabilities.
555ERST
556
557    {
558        .name       = "migrate_parameters",
559        .args_type  = "",
560        .params     = "",
561        .help       = "show current migration parameters",
562        .cmd        = hmp_info_migrate_parameters,
563    },
564
565SRST
566  ``info migrate_parameters``
567    Show current migration parameters.
568ERST
569
570    {
571        .name       = "migrate_cache_size",
572        .args_type  = "",
573        .params     = "",
574        .help       = "show current migration xbzrle cache size",
575        .cmd        = hmp_info_migrate_cache_size,
576    },
577
578SRST
579  ``info migrate_cache_size``
580    Show current migration xbzrle cache size.
581ERST
582
583    {
584        .name       = "balloon",
585        .args_type  = "",
586        .params     = "",
587        .help       = "show balloon information",
588        .cmd        = hmp_info_balloon,
589    },
590
591SRST
592  ``info balloon``
593    Show balloon information.
594ERST
595
596    {
597        .name       = "qtree",
598        .args_type  = "",
599        .params     = "",
600        .help       = "show device tree",
601        .cmd        = hmp_info_qtree,
602    },
603
604SRST
605  ``info qtree``
606    Show device tree.
607ERST
608
609    {
610        .name       = "qdm",
611        .args_type  = "",
612        .params     = "",
613        .help       = "show qdev device model list",
614        .cmd        = hmp_info_qdm,
615    },
616
617SRST
618  ``info qdm``
619    Show qdev device model list.
620ERST
621
622    {
623        .name       = "qom-tree",
624        .args_type  = "path:s?",
625        .params     = "[path]",
626        .help       = "show QOM composition tree",
627        .cmd        = hmp_info_qom_tree,
628        .flags      = "p",
629    },
630
631SRST
632  ``info qom-tree``
633    Show QOM composition tree.
634ERST
635
636    {
637        .name       = "roms",
638        .args_type  = "",
639        .params     = "",
640        .help       = "show roms",
641        .cmd        = hmp_info_roms,
642    },
643
644SRST
645  ``info roms``
646    Show roms.
647ERST
648
649    {
650        .name       = "trace-events",
651        .args_type  = "name:s?,vcpu:i?",
652        .params     = "[name] [vcpu]",
653        .help       = "show available trace-events & their state "
654                      "(name: event name pattern; vcpu: vCPU to query, default is any)",
655        .cmd = hmp_info_trace_events,
656        .command_completion = info_trace_events_completion,
657    },
658
659SRST
660  ``info trace-events``
661    Show available trace-events & their state.
662ERST
663
664    {
665        .name       = "tpm",
666        .args_type  = "",
667        .params     = "",
668        .help       = "show the TPM device",
669        .cmd        = hmp_info_tpm,
670    },
671
672SRST
673  ``info tpm``
674    Show the TPM device.
675ERST
676
677    {
678        .name       = "memdev",
679        .args_type  = "",
680        .params     = "",
681        .help       = "show memory backends",
682        .cmd        = hmp_info_memdev,
683        .flags      = "p",
684    },
685
686SRST
687  ``info memdev``
688    Show memory backends
689ERST
690
691    {
692        .name       = "memory-devices",
693        .args_type  = "",
694        .params     = "",
695        .help       = "show memory devices",
696        .cmd        = hmp_info_memory_devices,
697    },
698
699SRST
700  ``info memory-devices``
701    Show memory devices.
702ERST
703
704    {
705        .name       = "iothreads",
706        .args_type  = "",
707        .params     = "",
708        .help       = "show iothreads",
709        .cmd        = hmp_info_iothreads,
710        .flags      = "p",
711    },
712
713SRST
714  ``info iothreads``
715    Show iothread's identifiers.
716ERST
717
718    {
719        .name       = "rocker",
720        .args_type  = "name:s",
721        .params     = "name",
722        .help       = "Show rocker switch",
723        .cmd        = hmp_rocker,
724    },
725
726SRST
727  ``info rocker`` *name*
728    Show rocker switch.
729ERST
730
731    {
732        .name       = "rocker-ports",
733        .args_type  = "name:s",
734        .params     = "name",
735        .help       = "Show rocker ports",
736        .cmd        = hmp_rocker_ports,
737    },
738
739SRST
740  ``info rocker-ports`` *name*-ports
741    Show rocker ports.
742ERST
743
744    {
745        .name       = "rocker-of-dpa-flows",
746        .args_type  = "name:s,tbl_id:i?",
747        .params     = "name [tbl_id]",
748        .help       = "Show rocker OF-DPA flow tables",
749        .cmd        = hmp_rocker_of_dpa_flows,
750    },
751
752SRST
753  ``info rocker-of-dpa-flows`` *name* [*tbl_id*]
754    Show rocker OF-DPA flow tables.
755ERST
756
757    {
758        .name       = "rocker-of-dpa-groups",
759        .args_type  = "name:s,type:i?",
760        .params     = "name [type]",
761        .help       = "Show rocker OF-DPA groups",
762        .cmd        = hmp_rocker_of_dpa_groups,
763    },
764
765SRST
766  ``info rocker-of-dpa-groups`` *name* [*type*]
767    Show rocker OF-DPA groups.
768ERST
769
770#if defined(TARGET_S390X)
771    {
772        .name       = "skeys",
773        .args_type  = "addr:l",
774        .params     = "address",
775        .help       = "Display the value of a storage key",
776        .cmd        = hmp_info_skeys,
777    },
778#endif
779
780SRST
781  ``info skeys`` *address*
782    Display the value of a storage key (s390 only)
783ERST
784
785#if defined(TARGET_S390X)
786    {
787        .name       = "cmma",
788        .args_type  = "addr:l,count:l?",
789        .params     = "address [count]",
790        .help       = "Display the values of the CMMA storage attributes for a range of pages",
791        .cmd        = hmp_info_cmma,
792    },
793#endif
794
795SRST
796  ``info cmma`` *address*
797    Display the values of the CMMA storage attributes for a range of
798    pages (s390 only)
799ERST
800
801    {
802        .name       = "dump",
803        .args_type  = "",
804        .params     = "",
805        .help       = "Display the latest dump status",
806        .cmd        = hmp_info_dump,
807    },
808
809SRST
810  ``info dump``
811    Display the latest dump status.
812ERST
813
814    {
815        .name       = "ramblock",
816        .args_type  = "",
817        .params     = "",
818        .help       = "Display system ramblock information",
819        .cmd        = hmp_info_ramblock,
820    },
821
822SRST
823  ``info ramblock``
824    Dump all the ramblocks of the system.
825ERST
826
827    {
828        .name       = "hotpluggable-cpus",
829        .args_type  = "",
830        .params     = "",
831        .help       = "Show information about hotpluggable CPUs",
832        .cmd        = hmp_hotpluggable_cpus,
833        .flags      = "p",
834    },
835
836SRST
837  ``info hotpluggable-cpus``
838    Show information about hotpluggable CPUs
839ERST
840
841    {
842        .name       = "vm-generation-id",
843        .args_type  = "",
844        .params     = "",
845        .help       = "Show Virtual Machine Generation ID",
846        .cmd = hmp_info_vm_generation_id,
847    },
848
849SRST
850  ``info vm-generation-id``
851    Show Virtual Machine Generation ID
852ERST
853
854    {
855        .name       = "memory_size_summary",
856        .args_type  = "",
857        .params     = "",
858        .help       = "show the amount of initially allocated and "
859                      "present hotpluggable (if enabled) memory in bytes.",
860        .cmd        = hmp_info_memory_size_summary,
861    },
862
863SRST
864  ``info memory_size_summary``
865    Display the amount of initially allocated and present hotpluggable (if
866    enabled) memory in bytes.
867ERST
868
869#if defined(TARGET_I386)
870    {
871        .name       = "sev",
872        .args_type  = "",
873        .params     = "",
874        .help       = "show SEV information",
875        .cmd        = hmp_info_sev,
876    },
877#endif
878
879SRST
880  ``info sev``
881    Show SEV information.
882ERST
883
884    {
885        .name       = "replay",
886        .args_type  = "",
887        .params     = "",
888        .help       = "show record/replay information",
889        .cmd        = hmp_info_replay,
890    },
891
892SRST
893  ``info replay``
894    Display the record/replay information: mode and the current icount.
895ERST
896