1HXCOMM Use DEFHEADING() to define headings in both help text and rST. 2HXCOMM Text between SRST and ERST is copied to the rST version and 3HXCOMM discarded from C version. 4HXCOMM DEF(command, args, callback, arg_string, help) is used to construct 5HXCOMM monitor info commands 6HXCOMM HXCOMM can be used for comments, discarded from both rST and C. 7HXCOMM 8HXCOMM In this file, generally SRST fragments should have two extra 9HXCOMM spaces of indent, so that the documentation list item for "info foo" 10HXCOMM appears inside the documentation list item for the top level 11HXCOMM "info" documentation entry. The exception is the first SRST 12HXCOMM fragment that defines that top level entry. 13 14SRST 15``info`` *subcommand* 16 Show various information about the system state. 17 18ERST 19 20 { 21 .name = "version", 22 .args_type = "", 23 .params = "", 24 .help = "show the version of QEMU", 25 .cmd = hmp_info_version, 26 .flags = "p", 27 }, 28 29SRST 30 ``info version`` 31 Show the version of QEMU. 32ERST 33 34 { 35 .name = "network", 36 .args_type = "", 37 .params = "", 38 .help = "show the network state", 39 .cmd = hmp_info_network, 40 }, 41 42SRST 43 ``info network`` 44 Show the network state. 45ERST 46 47 { 48 .name = "chardev", 49 .args_type = "", 50 .params = "", 51 .help = "show the character devices", 52 .cmd = hmp_info_chardev, 53 .flags = "p", 54 }, 55 56SRST 57 ``info chardev`` 58 Show the character devices. 59ERST 60 61 { 62 .name = "block", 63 .args_type = "nodes:-n,verbose:-v,device:B?", 64 .params = "[-n] [-v] [device]", 65 .help = "show info of one block device or all block devices " 66 "(-n: show named nodes; -v: show details)", 67 .cmd = hmp_info_block, 68 }, 69 70SRST 71 ``info block`` 72 Show info of one block device or all block devices. 73ERST 74 75 { 76 .name = "blockstats", 77 .args_type = "", 78 .params = "", 79 .help = "show block device statistics", 80 .cmd = hmp_info_blockstats, 81 }, 82 83SRST 84 ``info blockstats`` 85 Show block device statistics. 86ERST 87 88 { 89 .name = "block-jobs", 90 .args_type = "", 91 .params = "", 92 .help = "show progress of ongoing block device operations", 93 .cmd = hmp_info_block_jobs, 94 }, 95 96SRST 97 ``info block-jobs`` 98 Show progress of ongoing block device operations. 99ERST 100 101 { 102 .name = "registers", 103 .args_type = "cpustate_all:-a,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 111SRST 112 ``info registers`` 113 Show the cpu registers. 114ERST 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 127SRST 128 ``info lapic`` 129 Show local APIC state 130ERST 131 132 { 133 .name = "cpus", 134 .args_type = "", 135 .params = "", 136 .help = "show infos for each CPU", 137 .cmd = hmp_info_cpus, 138 }, 139 140SRST 141 ``info cpus`` 142 Show infos for each CPU. 143ERST 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 154SRST 155 ``info history`` 156 Show the command line history. 157ERST 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 167SRST 168 ``info irq`` 169 Show the interrupts statistics (if available). 170ERST 171 172 { 173 .name = "pic", 174 .args_type = "", 175 .params = "", 176 .help = "show PIC state", 177 .cmd = hmp_info_pic, 178 }, 179 180SRST 181 ``info pic`` 182 Show PIC state. 183ERST 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 193SRST 194 ``info rdma`` 195 Show RDMA state. 196ERST 197 198 { 199 .name = "pci", 200 .args_type = "", 201 .params = "", 202 .help = "show PCI info", 203 .cmd = hmp_info_pci, 204 }, 205 206SRST 207 ``info pci`` 208 Show PCI information. 209ERST 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 222SRST 223 ``info tlb`` 224 Show virtual to physical memory mappings. 225ERST 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 237SRST 238 ``info mem`` 239 Show the active virtual memory mappings. 240ERST 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 253SRST 254 ``info mtree`` 255 Show memory tree. 256ERST 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 267SRST 268 ``info jit`` 269 Show dynamic compiler info. 270ERST 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 281SRST 282 ``info opcount`` 283 Show dynamic compiler opcode counters 284ERST 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 297SRST 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. 310ERST 311 312 { 313 .name = "kvm", 314 .args_type = "", 315 .params = "", 316 .help = "show KVM information", 317 .cmd = hmp_info_kvm, 318 }, 319 320SRST 321 ``info kvm`` 322 Show KVM information. 323ERST 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 333SRST 334 ``info numa`` 335 Show NUMA information. 336ERST 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 346SRST 347 ``info usb`` 348 Show guest USB devices. 349ERST 350 351 { 352 .name = "usbhost", 353 .args_type = "", 354 .params = "", 355 .help = "show host USB devices", 356 }, 357 358SRST 359 ``info usbhost`` 360 Show host USB devices. 361ERST 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 373SRST 374 ``info profile`` 375 Show profiling information. 376ERST 377 378 { 379 .name = "capture", 380 .args_type = "", 381 .params = "", 382 .help = "show capture information", 383 .cmd = hmp_info_capture, 384 }, 385 386SRST 387 ``info capture`` 388 Show capture information. 389ERST 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 399SRST 400 ``info snapshots`` 401 Show the currently saved VM snapshots. 402ERST 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 413SRST 414 ``info status`` 415 Show the current VM status (running|paused). 416ERST 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 426SRST 427 ``info mice`` 428 Show which guest mouse is receiving events. 429ERST 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 441SRST 442 ``info vnc`` 443 Show the vnc server status. 444ERST 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 456SRST 457 ``info spice`` 458 Show the spice server status. 459ERST 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 470SRST 471 ``info name`` 472 Show the current VM name. 473ERST 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 484SRST 485 ``info uuid`` 486 Show the current VM UUID. 487ERST 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 499SRST 500 ``info usernet`` 501 Show user network stack connection states. 502ERST 503 504 { 505 .name = "migrate", 506 .args_type = "", 507 .params = "", 508 .help = "show migration status", 509 .cmd = hmp_info_migrate, 510 }, 511 512SRST 513 ``info migrate`` 514 Show migration status. 515ERST 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 525SRST 526 ``info migrate_capabilities`` 527 Show current migration capabilities. 528ERST 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 538SRST 539 ``info migrate_parameters`` 540 Show current migration parameters. 541ERST 542 543 { 544 .name = "balloon", 545 .args_type = "", 546 .params = "", 547 .help = "show balloon information", 548 .cmd = hmp_info_balloon, 549 }, 550 551SRST 552 ``info balloon`` 553 Show balloon information. 554ERST 555 556 { 557 .name = "qtree", 558 .args_type = "", 559 .params = "", 560 .help = "show device tree", 561 .cmd = hmp_info_qtree, 562 }, 563 564SRST 565 ``info qtree`` 566 Show device tree. 567ERST 568 569 { 570 .name = "qdm", 571 .args_type = "", 572 .params = "", 573 .help = "show qdev device model list", 574 .cmd = hmp_info_qdm, 575 }, 576 577SRST 578 ``info qdm`` 579 Show qdev device model list. 580ERST 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 591SRST 592 ``info qom-tree`` 593 Show QOM composition tree. 594ERST 595 596 { 597 .name = "roms", 598 .args_type = "", 599 .params = "", 600 .help = "show roms", 601 .cmd_info_hrt = qmp_x_query_roms, 602 }, 603 604SRST 605 ``info roms`` 606 Show roms. 607ERST 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 619SRST 620 ``info trace-events`` 621 Show available trace-events & their state. 622ERST 623 624 { 625 .name = "tpm", 626 .args_type = "", 627 .params = "", 628 .help = "show the TPM device", 629 .cmd = hmp_info_tpm, 630 }, 631 632SRST 633 ``info tpm`` 634 Show the TPM device. 635ERST 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 646SRST 647 ``info memdev`` 648 Show memory backends 649ERST 650 651 { 652 .name = "memory-devices", 653 .args_type = "", 654 .params = "", 655 .help = "show memory devices", 656 .cmd = hmp_info_memory_devices, 657 }, 658 659SRST 660 ``info memory-devices`` 661 Show memory devices. 662ERST 663 664 { 665 .name = "iothreads", 666 .args_type = "", 667 .params = "", 668 .help = "show iothreads", 669 .cmd = hmp_info_iothreads, 670 .flags = "p", 671 }, 672 673SRST 674 ``info iothreads`` 675 Show iothread's identifiers. 676ERST 677 678 { 679 .name = "rocker", 680 .args_type = "name:s", 681 .params = "name", 682 .help = "Show rocker switch", 683 .cmd = hmp_rocker, 684 }, 685 686SRST 687 ``info rocker`` *name* 688 Show rocker switch. 689ERST 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 699SRST 700 ``info rocker-ports`` *name*-ports 701 Show rocker ports. 702ERST 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 712SRST 713 ``info rocker-of-dpa-flows`` *name* [*tbl_id*] 714 Show rocker OF-DPA flow tables. 715ERST 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 725SRST 726 ``info rocker-of-dpa-groups`` *name* [*type*] 727 Show rocker OF-DPA groups. 728ERST 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 740SRST 741 ``info skeys`` *address* 742 Display the value of a storage key (s390 only) 743ERST 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 755SRST 756 ``info cmma`` *address* 757 Display the values of the CMMA storage attributes for a range of 758 pages (s390 only) 759ERST 760 761 { 762 .name = "dump", 763 .args_type = "", 764 .params = "", 765 .help = "Display the latest dump status", 766 .cmd = hmp_info_dump, 767 }, 768 769SRST 770 ``info dump`` 771 Display the latest dump status. 772ERST 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 782SRST 783 ``info ramblock`` 784 Dump all the ramblocks of the system. 785ERST 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 796SRST 797 ``info hotpluggable-cpus`` 798 Show information about hotpluggable CPUs 799ERST 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 809SRST 810 ``info vm-generation-id`` 811 Show Virtual Machine Generation ID 812ERST 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 823SRST 824 ``info memory_size_summary`` 825 Display the amount of initially allocated and present hotpluggable (if 826 enabled) memory in bytes. 827ERST 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 839SRST 840 ``info sev`` 841 Show SEV information. 842ERST 843 844 { 845 .name = "replay", 846 .args_type = "", 847 .params = "", 848 .help = "show record/replay information", 849 .cmd = hmp_info_replay, 850 }, 851 852SRST 853 ``info replay`` 854 Display the record/replay information: mode and the current icount. 855ERST 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 865SRST 866 ``info dirty_rate`` 867 Display the vcpu dirty rate information. 868ERST 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 878SRST 879 ``info vcpu_dirty_limit`` 880 Display the vcpu dirty page limit information. 881ERST 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 893SRST 894 ``info sgx`` 895 Show intel SGX information. 896ERST 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 908SRST 909 ``info via`` 910 Show guest mos6522 VIA devices. 911ERST 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 922SRST 923 ``stats`` 924 Show runtime-collected statistics 925ERST 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 936SRST 937 ``info virtio`` 938 List all available virtio devices 939ERST 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 950SRST 951 ``info virtio-status`` *path* 952 Display status of a given virtio device 953ERST 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 964SRST 965 ``info virtio-queue-status`` *path* *queue* 966 Display status of a given virtio queue 967ERST 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 978SRST 979 ``info virtio-vhost-queue-status`` *path* *queue* 980 Display status of a given vhost queue 981ERST 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 992SRST 993 ``info virtio-queue-element`` *path* *queue* [*index*] 994 Display element of a given virtio queue 995ERST 996 997 { 998 .name = "cryptodev", 999 .args_type = "", 1000 .params = "", 1001 .help = "show the crypto devices", 1002 .cmd = hmp_info_cryptodev, 1003 .flags = "p", 1004 }, 1005 1006SRST 1007 ``info cryptodev`` 1008 Show the crypto devices. 1009ERST 1010