Update VERSION for v7.2.0-rc4
[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     {
131         .name       = "cpus",
132         .args_type  = "",
133         .params     = "",
134         .help       = "show infos for each CPU",
135         .cmd        = hmp_info_cpus,
136     },
137
138 SRST
139   ``info cpus``
140     Show infos for each CPU.
141 ERST
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
152 SRST
153   ``info history``
154     Show the command line history.
155 ERST
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
165 SRST
166   ``info irq``
167     Show the interrupts statistics (if available).
168 ERST
169
170     {
171         .name       = "pic",
172         .args_type  = "",
173         .params     = "",
174         .help       = "show PIC state",
175         .cmd        = hmp_info_pic,
176     },
177
178 SRST
179   ``info pic``
180     Show PIC state.
181 ERST
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
191 SRST
192   ``info rdma``
193     Show RDMA state.
194 ERST
195
196     {
197         .name       = "pci",
198         .args_type  = "",
199         .params     = "",
200         .help       = "show PCI info",
201         .cmd        = hmp_info_pci,
202     },
203
204 SRST
205   ``info pci``
206     Show PCI information.
207 ERST
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
220 SRST
221   ``info tlb``
222     Show virtual to physical memory mappings.
223 ERST
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
235 SRST
236   ``info mem``
237     Show the active virtual memory mappings.
238 ERST
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
251 SRST
252   ``info mtree``
253     Show memory tree.
254 ERST
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
265 SRST
266   ``info jit``
267     Show dynamic compiler info.
268 ERST
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
279 SRST
280   ``info opcount``
281     Show dynamic compiler opcode counters
282 ERST
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
295 SRST
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.
308 ERST
309
310     {
311         .name       = "kvm",
312         .args_type  = "",
313         .params     = "",
314         .help       = "show KVM information",
315         .cmd        = hmp_info_kvm,
316     },
317
318 SRST
319   ``info kvm``
320     Show KVM information.
321 ERST
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
331 SRST
332   ``info numa``
333     Show NUMA information.
334 ERST
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
344 SRST
345   ``info usb``
346     Show guest USB devices.
347 ERST
348
349     {
350         .name       = "usbhost",
351         .args_type  = "",
352         .params     = "",
353         .help       = "show host USB devices",
354     },
355
356 SRST
357   ``info usbhost``
358     Show host USB devices.
359 ERST
360
361 #if defined(CONFIG_TCG)
362     {
363         .name       = "profile",
364         .args_type  = "",
365         .params     = "",
366         .help       = "show profiling information",
367         .cmd_info_hrt = qmp_x_query_profile,
368     },
369 #endif
370
371 SRST
372   ``info profile``
373     Show profiling information.
374 ERST
375
376     {
377         .name       = "capture",
378         .args_type  = "",
379         .params     = "",
380         .help       = "show capture information",
381         .cmd        = hmp_info_capture,
382     },
383
384 SRST
385   ``info capture``
386     Show capture information.
387 ERST
388
389     {
390         .name       = "snapshots",
391         .args_type  = "",
392         .params     = "",
393         .help       = "show the currently saved VM snapshots",
394         .cmd        = hmp_info_snapshots,
395     },
396
397 SRST
398   ``info snapshots``
399     Show the currently saved VM snapshots.
400 ERST
401
402     {
403         .name       = "status",
404         .args_type  = "",
405         .params     = "",
406         .help       = "show the current VM status (running|paused)",
407         .cmd        = hmp_info_status,
408         .flags      = "p",
409     },
410
411 SRST
412   ``info status``
413     Show the current VM status (running|paused).
414 ERST
415
416     {
417         .name       = "mice",
418         .args_type  = "",
419         .params     = "",
420         .help       = "show which guest mouse is receiving events",
421         .cmd        = hmp_info_mice,
422     },
423
424 SRST
425   ``info mice``
426     Show which guest mouse is receiving events.
427 ERST
428
429 #if defined(CONFIG_VNC)
430     {
431         .name       = "vnc",
432         .args_type  = "",
433         .params     = "",
434         .help       = "show the vnc server status",
435         .cmd        = hmp_info_vnc,
436     },
437 #endif
438
439 SRST
440   ``info vnc``
441     Show the vnc server status.
442 ERST
443
444 #if defined(CONFIG_SPICE)
445     {
446         .name       = "spice",
447         .args_type  = "",
448         .params     = "",
449         .help       = "show the spice server status",
450         .cmd        = hmp_info_spice,
451     },
452 #endif
453
454 SRST
455   ``info spice``
456     Show the spice server status.
457 ERST
458
459     {
460         .name       = "name",
461         .args_type  = "",
462         .params     = "",
463         .help       = "show the current VM name",
464         .cmd        = hmp_info_name,
465         .flags      = "p",
466     },
467
468 SRST
469   ``info name``
470     Show the current VM name.
471 ERST
472
473     {
474         .name       = "uuid",
475         .args_type  = "",
476         .params     = "",
477         .help       = "show the current VM UUID",
478         .cmd        = hmp_info_uuid,
479         .flags      = "p",
480     },
481
482 SRST
483   ``info uuid``
484     Show the current VM UUID.
485 ERST
486
487 #if defined(CONFIG_SLIRP)
488     {
489         .name       = "usernet",
490         .args_type  = "",
491         .params     = "",
492         .help       = "show user network stack connection states",
493         .cmd        = hmp_info_usernet,
494     },
495 #endif
496
497 SRST
498   ``info usernet``
499     Show user network stack connection states.
500 ERST
501
502     {
503         .name       = "migrate",
504         .args_type  = "",
505         .params     = "",
506         .help       = "show migration status",
507         .cmd        = hmp_info_migrate,
508     },
509
510 SRST
511   ``info migrate``
512     Show migration status.
513 ERST
514
515     {
516         .name       = "migrate_capabilities",
517         .args_type  = "",
518         .params     = "",
519         .help       = "show current migration capabilities",
520         .cmd        = hmp_info_migrate_capabilities,
521     },
522
523 SRST
524   ``info migrate_capabilities``
525     Show current migration capabilities.
526 ERST
527
528     {
529         .name       = "migrate_parameters",
530         .args_type  = "",
531         .params     = "",
532         .help       = "show current migration parameters",
533         .cmd        = hmp_info_migrate_parameters,
534     },
535
536 SRST
537   ``info migrate_parameters``
538     Show current migration parameters.
539 ERST
540
541     {
542         .name       = "balloon",
543         .args_type  = "",
544         .params     = "",
545         .help       = "show balloon information",
546         .cmd        = hmp_info_balloon,
547     },
548
549 SRST
550   ``info balloon``
551     Show balloon information.
552 ERST
553
554     {
555         .name       = "qtree",
556         .args_type  = "",
557         .params     = "",
558         .help       = "show device tree",
559         .cmd        = hmp_info_qtree,
560     },
561
562 SRST
563   ``info qtree``
564     Show device tree.
565 ERST
566
567     {
568         .name       = "qdm",
569         .args_type  = "",
570         .params     = "",
571         .help       = "show qdev device model list",
572         .cmd        = hmp_info_qdm,
573     },
574
575 SRST
576   ``info qdm``
577     Show qdev device model list.
578 ERST
579
580     {
581         .name       = "qom-tree",
582         .args_type  = "path:s?",
583         .params     = "[path]",
584         .help       = "show QOM composition tree",
585         .cmd        = hmp_info_qom_tree,
586         .flags      = "p",
587     },
588
589 SRST
590   ``info qom-tree``
591     Show QOM composition tree.
592 ERST
593
594     {
595         .name       = "roms",
596         .args_type  = "",
597         .params     = "",
598         .help       = "show roms",
599         .cmd_info_hrt = qmp_x_query_roms,
600     },
601
602 SRST
603   ``info roms``
604     Show roms.
605 ERST
606
607     {
608         .name       = "trace-events",
609         .args_type  = "name:s?,vcpu:i?",
610         .params     = "[name] [vcpu]",
611         .help       = "show available trace-events & their state "
612                       "(name: event name pattern; vcpu: vCPU to query, default is any)",
613         .cmd = hmp_info_trace_events,
614         .command_completion = info_trace_events_completion,
615     },
616
617 SRST
618   ``info trace-events``
619     Show available trace-events & their state.
620 ERST
621
622     {
623         .name       = "tpm",
624         .args_type  = "",
625         .params     = "",
626         .help       = "show the TPM device",
627         .cmd        = hmp_info_tpm,
628     },
629
630 SRST
631   ``info tpm``
632     Show the TPM device.
633 ERST
634
635     {
636         .name       = "memdev",
637         .args_type  = "",
638         .params     = "",
639         .help       = "show memory backends",
640         .cmd        = hmp_info_memdev,
641         .flags      = "p",
642     },
643
644 SRST
645   ``info memdev``
646     Show memory backends
647 ERST
648
649     {
650         .name       = "memory-devices",
651         .args_type  = "",
652         .params     = "",
653         .help       = "show memory devices",
654         .cmd        = hmp_info_memory_devices,
655     },
656
657 SRST
658   ``info memory-devices``
659     Show memory devices.
660 ERST
661
662     {
663         .name       = "iothreads",
664         .args_type  = "",
665         .params     = "",
666         .help       = "show iothreads",
667         .cmd        = hmp_info_iothreads,
668         .flags      = "p",
669     },
670
671 SRST
672   ``info iothreads``
673     Show iothread's identifiers.
674 ERST
675
676     {
677         .name       = "rocker",
678         .args_type  = "name:s",
679         .params     = "name",
680         .help       = "Show rocker switch",
681         .cmd        = hmp_rocker,
682     },
683
684 SRST
685   ``info rocker`` *name*
686     Show rocker switch.
687 ERST
688
689     {
690         .name       = "rocker-ports",
691         .args_type  = "name:s",
692         .params     = "name",
693         .help       = "Show rocker ports",
694         .cmd        = hmp_rocker_ports,
695     },
696
697 SRST
698   ``info rocker-ports`` *name*-ports
699     Show rocker ports.
700 ERST
701
702     {
703         .name       = "rocker-of-dpa-flows",
704         .args_type  = "name:s,tbl_id:i?",
705         .params     = "name [tbl_id]",
706         .help       = "Show rocker OF-DPA flow tables",
707         .cmd        = hmp_rocker_of_dpa_flows,
708     },
709
710 SRST
711   ``info rocker-of-dpa-flows`` *name* [*tbl_id*]
712     Show rocker OF-DPA flow tables.
713 ERST
714
715     {
716         .name       = "rocker-of-dpa-groups",
717         .args_type  = "name:s,type:i?",
718         .params     = "name [type]",
719         .help       = "Show rocker OF-DPA groups",
720         .cmd        = hmp_rocker_of_dpa_groups,
721     },
722
723 SRST
724   ``info rocker-of-dpa-groups`` *name* [*type*]
725     Show rocker OF-DPA groups.
726 ERST
727
728 #if defined(TARGET_S390X)
729     {
730         .name       = "skeys",
731         .args_type  = "addr:l",
732         .params     = "address",
733         .help       = "Display the value of a storage key",
734         .cmd        = hmp_info_skeys,
735     },
736 #endif
737
738 SRST
739   ``info skeys`` *address*
740     Display the value of a storage key (s390 only)
741 ERST
742
743 #if defined(TARGET_S390X)
744     {
745         .name       = "cmma",
746         .args_type  = "addr:l,count:l?",
747         .params     = "address [count]",
748         .help       = "Display the values of the CMMA storage attributes for a range of pages",
749         .cmd        = hmp_info_cmma,
750     },
751 #endif
752
753 SRST
754   ``info cmma`` *address*
755     Display the values of the CMMA storage attributes for a range of
756     pages (s390 only)
757 ERST
758
759     {
760         .name       = "dump",
761         .args_type  = "",
762         .params     = "",
763         .help       = "Display the latest dump status",
764         .cmd        = hmp_info_dump,
765     },
766
767 SRST
768   ``info dump``
769     Display the latest dump status.
770 ERST
771
772     {
773         .name       = "ramblock",
774         .args_type  = "",
775         .params     = "",
776         .help       = "Display system ramblock information",
777         .cmd_info_hrt = qmp_x_query_ramblock,
778     },
779
780 SRST
781   ``info ramblock``
782     Dump all the ramblocks of the system.
783 ERST
784
785     {
786         .name       = "hotpluggable-cpus",
787         .args_type  = "",
788         .params     = "",
789         .help       = "Show information about hotpluggable CPUs",
790         .cmd        = hmp_hotpluggable_cpus,
791         .flags      = "p",
792     },
793
794 SRST
795   ``info hotpluggable-cpus``
796     Show information about hotpluggable CPUs
797 ERST
798
799     {
800         .name       = "vm-generation-id",
801         .args_type  = "",
802         .params     = "",
803         .help       = "Show Virtual Machine Generation ID",
804         .cmd = hmp_info_vm_generation_id,
805     },
806
807 SRST
808   ``info vm-generation-id``
809     Show Virtual Machine Generation ID
810 ERST
811
812     {
813         .name       = "memory_size_summary",
814         .args_type  = "",
815         .params     = "",
816         .help       = "show the amount of initially allocated and "
817                       "present hotpluggable (if enabled) memory in bytes.",
818         .cmd        = hmp_info_memory_size_summary,
819     },
820
821 SRST
822   ``info memory_size_summary``
823     Display the amount of initially allocated and present hotpluggable (if
824     enabled) memory in bytes.
825 ERST
826
827 #if defined(TARGET_I386)
828     {
829         .name       = "sev",
830         .args_type  = "",
831         .params     = "",
832         .help       = "show SEV information",
833         .cmd        = hmp_info_sev,
834     },
835 #endif
836
837 SRST
838   ``info sev``
839     Show SEV information.
840 ERST
841
842     {
843         .name       = "replay",
844         .args_type  = "",
845         .params     = "",
846         .help       = "show record/replay information",
847         .cmd        = hmp_info_replay,
848     },
849
850 SRST
851   ``info replay``
852     Display the record/replay information: mode and the current icount.
853 ERST
854
855     {
856         .name       = "dirty_rate",
857         .args_type  = "",
858         .params     = "",
859         .help       = "show dirty rate information",
860         .cmd        = hmp_info_dirty_rate,
861     },
862
863 SRST
864   ``info dirty_rate``
865     Display the vcpu dirty rate information.
866 ERST
867
868     {
869         .name       = "vcpu_dirty_limit",
870         .args_type  = "",
871         .params     = "",
872         .help       = "show dirty page limit information of all vCPU",
873         .cmd        = hmp_info_vcpu_dirty_limit,
874     },
875
876 SRST
877   ``info vcpu_dirty_limit``
878     Display the vcpu dirty page limit information.
879 ERST
880
881 #if defined(TARGET_I386)
882     {
883         .name       = "sgx",
884         .args_type  = "",
885         .params     = "",
886         .help       = "show intel SGX information",
887         .cmd        = hmp_info_sgx,
888     },
889 #endif
890
891 SRST
892   ``info sgx``
893     Show intel SGX information.
894 ERST
895
896 #if defined(CONFIG_MOS6522)
897     {
898         .name         = "via",
899         .args_type    = "",
900         .params       = "",
901         .help         = "show guest mos6522 VIA devices",
902         .cmd          = hmp_info_via,
903     },
904 #endif
905
906 SRST
907   ``info via``
908     Show guest mos6522 VIA devices.
909 ERST
910
911     {
912         .name       = "stats",
913         .args_type  = "target:s,names:s?,provider:s?",
914         .params     = "target [names] [provider]",
915         .help       = "show statistics for the given target (vm or vcpu); optionally filter by"
916                       "name (comma-separated list, or * for all) and provider",
917         .cmd        = hmp_info_stats,
918     },
919
920 SRST
921   ``stats``
922     Show runtime-collected statistics
923 ERST