Merge remote-tracking branch 'remotes/kraxel/tags/audio-20210617-pull-request' into...
[qemu.git] / hmp-commands-info.hx
1 HXCOMM Use DEFHEADING() to define headings in both help text and rST.
2 HXCOMM Text between SRST and ERST is copied to the rST version and
3 HXCOMM discarded from C version.
4 HXCOMM DEF(command, args, callback, arg_string, help) is used to construct
5 HXCOMM monitor info commands
6 HXCOMM HXCOMM can be used for comments, discarded from both rST and C.
7 HXCOMM
8 HXCOMM In this file, generally SRST fragments should have two extra
9 HXCOMM spaces of indent, so that the documentation list item for "info foo"
10 HXCOMM appears inside the documentation list item for the top level
11 HXCOMM "info" documentation entry. The exception is the first SRST
12 HXCOMM fragment that defines that top level entry.
13
14 SRST
15 ``info`` *subcommand*
16   Show various information about the system state.
17
18 ERST
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
29 SRST
30   ``info version``
31     Show the version of QEMU.
32 ERST
33
34     {
35         .name       = "network",
36         .args_type  = "",
37         .params     = "",
38         .help       = "show the network state",
39         .cmd        = hmp_info_network,
40     },
41
42 SRST
43   ``info network``
44     Show the network state.
45 ERST
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
56 SRST
57   ``info chardev``
58     Show the character devices.
59 ERST
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
70 SRST
71   ``info block``
72     Show info of one block device or all block devices.
73 ERST
74
75     {
76         .name       = "blockstats",
77         .args_type  = "",
78         .params     = "",
79         .help       = "show block device statistics",
80         .cmd        = hmp_info_blockstats,
81     },
82
83 SRST
84   ``info blockstats``
85     Show block device statistics.
86 ERST
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
96 SRST
97   ``info block-jobs``
98     Show progress of ongoing block device operations.
99 ERST
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
109 SRST
110   ``info registers``
111     Show the cpu registers.
112 ERST
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
125 SRST
126   ``info lapic``
127     Show local APIC state
128 ERST
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
140 SRST
141   ``info ioapic``
142     Show io APIC state
143 ERST
144
145     {
146         .name       = "cpus",
147         .args_type  = "",
148         .params     = "",
149         .help       = "show infos for each CPU",
150         .cmd        = hmp_info_cpus,
151     },
152
153 SRST
154   ``info cpus``
155     Show infos for each CPU.
156 ERST
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
167 SRST
168   ``info history``
169     Show the command line history.
170 ERST
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
180 SRST
181   ``info irq``
182     Show the interrupts statistics (if available).
183 ERST
184
185     {
186         .name       = "pic",
187         .args_type  = "",
188         .params     = "",
189         .help       = "show PIC state",
190         .cmd        = hmp_info_pic,
191     },
192
193 SRST
194   ``info pic``
195     Show PIC state.
196 ERST
197
198     {
199         .name       = "rdma",
200         .args_type  = "",
201         .params     = "",
202         .help       = "show RDMA state",
203         .cmd        = hmp_info_rdma,
204     },
205
206 SRST
207   ``info rdma``
208     Show RDMA state.
209 ERST
210
211     {
212         .name       = "pci",
213         .args_type  = "",
214         .params     = "",
215         .help       = "show PCI info",
216         .cmd        = hmp_info_pci,
217     },
218
219 SRST
220   ``info pci``
221     Show PCI information.
222 ERST
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
235 SRST
236   ``info tlb``
237     Show virtual to physical memory mappings.
238 ERST
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
250 SRST
251   ``info mem``
252     Show the active virtual memory mappings.
253 ERST
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
266 SRST
267   ``info mtree``
268     Show memory tree.
269 ERST
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
281 SRST
282   ``info jit``
283     Show dynamic compiler info.
284 ERST
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
296 SRST
297   ``info opcount``
298     Show dynamic compiler opcode counters
299 ERST
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
312 SRST
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.
325 ERST
326
327     {
328         .name       = "kvm",
329         .args_type  = "",
330         .params     = "",
331         .help       = "show KVM information",
332         .cmd        = hmp_info_kvm,
333     },
334
335 SRST
336   ``info kvm``
337     Show KVM information.
338 ERST
339
340     {
341         .name       = "numa",
342         .args_type  = "",
343         .params     = "",
344         .help       = "show NUMA information",
345         .cmd        = hmp_info_numa,
346     },
347
348 SRST
349   ``info numa``
350     Show NUMA information.
351 ERST
352
353     {
354         .name       = "usb",
355         .args_type  = "",
356         .params     = "",
357         .help       = "show guest USB devices",
358         .cmd        = hmp_info_usb,
359     },
360
361 SRST
362   ``info usb``
363     Show guest USB devices.
364 ERST
365
366     {
367         .name       = "usbhost",
368         .args_type  = "",
369         .params     = "",
370         .help       = "show host USB devices",
371         .cmd        = hmp_info_usbhost,
372     },
373
374 SRST
375   ``info usbhost``
376     Show host USB devices.
377 ERST
378
379     {
380         .name       = "profile",
381         .args_type  = "",
382         .params     = "",
383         .help       = "show profiling information",
384         .cmd        = hmp_info_profile,
385     },
386
387 SRST
388   ``info profile``
389     Show profiling information.
390 ERST
391
392     {
393         .name       = "capture",
394         .args_type  = "",
395         .params     = "",
396         .help       = "show capture information",
397         .cmd        = hmp_info_capture,
398     },
399
400 SRST
401   ``info capture``
402     Show capture information.
403 ERST
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
413 SRST
414   ``info snapshots``
415     Show the currently saved VM snapshots.
416 ERST
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
427 SRST
428   ``info status``
429     Show the current VM status (running|paused).
430 ERST
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
440 SRST
441   ``info mice``
442     Show which guest mouse is receiving events.
443 ERST
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
455 SRST
456   ``info vnc``
457     Show the vnc server status.
458 ERST
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
470 SRST
471   ``info spice``
472     Show the spice server status.
473 ERST
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
484 SRST
485   ``info name``
486     Show the current VM name.
487 ERST
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
498 SRST
499   ``info uuid``
500     Show the current VM UUID.
501 ERST
502
503     {
504         .name       = "cpustats",
505         .args_type  = "",
506         .params     = "",
507         .help       = "show CPU statistics",
508         .cmd        = hmp_info_cpustats,
509     },
510
511 SRST
512   ``info cpustats``
513     Show CPU statistics.
514 ERST
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
526 SRST
527   ``info usernet``
528     Show user network stack connection states.
529 ERST
530
531     {
532         .name       = "migrate",
533         .args_type  = "",
534         .params     = "",
535         .help       = "show migration status",
536         .cmd        = hmp_info_migrate,
537     },
538
539 SRST
540   ``info migrate``
541     Show migration status.
542 ERST
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
552 SRST
553   ``info migrate_capabilities``
554     Show current migration capabilities.
555 ERST
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
565 SRST
566   ``info migrate_parameters``
567     Show current migration parameters.
568 ERST
569
570     {
571         .name       = "balloon",
572         .args_type  = "",
573         .params     = "",
574         .help       = "show balloon information",
575         .cmd        = hmp_info_balloon,
576     },
577
578 SRST
579   ``info balloon``
580     Show balloon information.
581 ERST
582
583     {
584         .name       = "qtree",
585         .args_type  = "",
586         .params     = "",
587         .help       = "show device tree",
588         .cmd        = hmp_info_qtree,
589     },
590
591 SRST
592   ``info qtree``
593     Show device tree.
594 ERST
595
596     {
597         .name       = "qdm",
598         .args_type  = "",
599         .params     = "",
600         .help       = "show qdev device model list",
601         .cmd        = hmp_info_qdm,
602     },
603
604 SRST
605   ``info qdm``
606     Show qdev device model list.
607 ERST
608
609     {
610         .name       = "qom-tree",
611         .args_type  = "path:s?",
612         .params     = "[path]",
613         .help       = "show QOM composition tree",
614         .cmd        = hmp_info_qom_tree,
615         .flags      = "p",
616     },
617
618 SRST
619   ``info qom-tree``
620     Show QOM composition tree.
621 ERST
622
623     {
624         .name       = "roms",
625         .args_type  = "",
626         .params     = "",
627         .help       = "show roms",
628         .cmd        = hmp_info_roms,
629     },
630
631 SRST
632   ``info roms``
633     Show roms.
634 ERST
635
636     {
637         .name       = "trace-events",
638         .args_type  = "name:s?,vcpu:i?",
639         .params     = "[name] [vcpu]",
640         .help       = "show available trace-events & their state "
641                       "(name: event name pattern; vcpu: vCPU to query, default is any)",
642         .cmd = hmp_info_trace_events,
643         .command_completion = info_trace_events_completion,
644     },
645
646 SRST
647   ``info trace-events``
648     Show available trace-events & their state.
649 ERST
650
651     {
652         .name       = "tpm",
653         .args_type  = "",
654         .params     = "",
655         .help       = "show the TPM device",
656         .cmd        = hmp_info_tpm,
657     },
658
659 SRST
660   ``info tpm``
661     Show the TPM device.
662 ERST
663
664     {
665         .name       = "memdev",
666         .args_type  = "",
667         .params     = "",
668         .help       = "show memory backends",
669         .cmd        = hmp_info_memdev,
670         .flags      = "p",
671     },
672
673 SRST
674   ``info memdev``
675     Show memory backends
676 ERST
677
678     {
679         .name       = "memory-devices",
680         .args_type  = "",
681         .params     = "",
682         .help       = "show memory devices",
683         .cmd        = hmp_info_memory_devices,
684     },
685
686 SRST
687   ``info memory-devices``
688     Show memory devices.
689 ERST
690
691     {
692         .name       = "iothreads",
693         .args_type  = "",
694         .params     = "",
695         .help       = "show iothreads",
696         .cmd        = hmp_info_iothreads,
697         .flags      = "p",
698     },
699
700 SRST
701   ``info iothreads``
702     Show iothread's identifiers.
703 ERST
704
705     {
706         .name       = "rocker",
707         .args_type  = "name:s",
708         .params     = "name",
709         .help       = "Show rocker switch",
710         .cmd        = hmp_rocker,
711     },
712
713 SRST
714   ``info rocker`` *name*
715     Show rocker switch.
716 ERST
717
718     {
719         .name       = "rocker-ports",
720         .args_type  = "name:s",
721         .params     = "name",
722         .help       = "Show rocker ports",
723         .cmd        = hmp_rocker_ports,
724     },
725
726 SRST
727   ``info rocker-ports`` *name*-ports
728     Show rocker ports.
729 ERST
730
731     {
732         .name       = "rocker-of-dpa-flows",
733         .args_type  = "name:s,tbl_id:i?",
734         .params     = "name [tbl_id]",
735         .help       = "Show rocker OF-DPA flow tables",
736         .cmd        = hmp_rocker_of_dpa_flows,
737     },
738
739 SRST
740   ``info rocker-of-dpa-flows`` *name* [*tbl_id*]
741     Show rocker OF-DPA flow tables.
742 ERST
743
744     {
745         .name       = "rocker-of-dpa-groups",
746         .args_type  = "name:s,type:i?",
747         .params     = "name [type]",
748         .help       = "Show rocker OF-DPA groups",
749         .cmd        = hmp_rocker_of_dpa_groups,
750     },
751
752 SRST
753   ``info rocker-of-dpa-groups`` *name* [*type*]
754     Show rocker OF-DPA groups.
755 ERST
756
757 #if defined(TARGET_S390X)
758     {
759         .name       = "skeys",
760         .args_type  = "addr:l",
761         .params     = "address",
762         .help       = "Display the value of a storage key",
763         .cmd        = hmp_info_skeys,
764     },
765 #endif
766
767 SRST
768   ``info skeys`` *address*
769     Display the value of a storage key (s390 only)
770 ERST
771
772 #if defined(TARGET_S390X)
773     {
774         .name       = "cmma",
775         .args_type  = "addr:l,count:l?",
776         .params     = "address [count]",
777         .help       = "Display the values of the CMMA storage attributes for a range of pages",
778         .cmd        = hmp_info_cmma,
779     },
780 #endif
781
782 SRST
783   ``info cmma`` *address*
784     Display the values of the CMMA storage attributes for a range of
785     pages (s390 only)
786 ERST
787
788     {
789         .name       = "dump",
790         .args_type  = "",
791         .params     = "",
792         .help       = "Display the latest dump status",
793         .cmd        = hmp_info_dump,
794     },
795
796 SRST
797   ``info dump``
798     Display the latest dump status.
799 ERST
800
801     {
802         .name       = "ramblock",
803         .args_type  = "",
804         .params     = "",
805         .help       = "Display system ramblock information",
806         .cmd        = hmp_info_ramblock,
807     },
808
809 SRST
810   ``info ramblock``
811     Dump all the ramblocks of the system.
812 ERST
813
814     {
815         .name       = "hotpluggable-cpus",
816         .args_type  = "",
817         .params     = "",
818         .help       = "Show information about hotpluggable CPUs",
819         .cmd        = hmp_hotpluggable_cpus,
820         .flags      = "p",
821     },
822
823 SRST
824   ``info hotpluggable-cpus``
825     Show information about hotpluggable CPUs
826 ERST
827
828     {
829         .name       = "vm-generation-id",
830         .args_type  = "",
831         .params     = "",
832         .help       = "Show Virtual Machine Generation ID",
833         .cmd = hmp_info_vm_generation_id,
834     },
835
836 SRST
837   ``info vm-generation-id``
838     Show Virtual Machine Generation ID
839 ERST
840
841     {
842         .name       = "memory_size_summary",
843         .args_type  = "",
844         .params     = "",
845         .help       = "show the amount of initially allocated and "
846                       "present hotpluggable (if enabled) memory in bytes.",
847         .cmd        = hmp_info_memory_size_summary,
848     },
849
850 SRST
851   ``info memory_size_summary``
852     Display the amount of initially allocated and present hotpluggable (if
853     enabled) memory in bytes.
854 ERST
855
856 #if defined(TARGET_I386)
857     {
858         .name       = "sev",
859         .args_type  = "",
860         .params     = "",
861         .help       = "show SEV information",
862         .cmd        = hmp_info_sev,
863     },
864 #endif
865
866 SRST
867   ``info sev``
868     Show SEV information.
869 ERST
870
871     {
872         .name       = "replay",
873         .args_type  = "",
874         .params     = "",
875         .help       = "show record/replay information",
876         .cmd        = hmp_info_replay,
877     },
878
879 SRST
880   ``info replay``
881     Display the record/replay information: mode and the current icount.
882 ERST