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