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