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 { 364 .name = "capture", 365 .args_type = "", 366 .params = "", 367 .help = "show capture information", 368 .cmd = hmp_info_capture, 369 }, 370 371SRST 372 ``info capture`` 373 Show capture information. 374ERST 375 376 { 377 .name = "snapshots", 378 .args_type = "", 379 .params = "", 380 .help = "show the currently saved VM snapshots", 381 .cmd = hmp_info_snapshots, 382 }, 383 384SRST 385 ``info snapshots`` 386 Show the currently saved VM snapshots. 387ERST 388 389 { 390 .name = "status", 391 .args_type = "", 392 .params = "", 393 .help = "show the current VM status (running|paused)", 394 .cmd = hmp_info_status, 395 .flags = "p", 396 }, 397 398SRST 399 ``info status`` 400 Show the current VM status (running|paused). 401ERST 402 403 { 404 .name = "mice", 405 .args_type = "", 406 .params = "", 407 .help = "show which guest mouse is receiving events", 408 .cmd = hmp_info_mice, 409 }, 410 411SRST 412 ``info mice`` 413 Show which guest mouse is receiving events. 414ERST 415 416#if defined(CONFIG_VNC) 417 { 418 .name = "vnc", 419 .args_type = "", 420 .params = "", 421 .help = "show the vnc server status", 422 .cmd = hmp_info_vnc, 423 }, 424#endif 425 426SRST 427 ``info vnc`` 428 Show the vnc server status. 429ERST 430 431#if defined(CONFIG_SPICE) 432 { 433 .name = "spice", 434 .args_type = "", 435 .params = "", 436 .help = "show the spice server status", 437 .cmd = hmp_info_spice, 438 }, 439#endif 440 441SRST 442 ``info spice`` 443 Show the spice server status. 444ERST 445 446 { 447 .name = "name", 448 .args_type = "", 449 .params = "", 450 .help = "show the current VM name", 451 .cmd = hmp_info_name, 452 .flags = "p", 453 }, 454 455SRST 456 ``info name`` 457 Show the current VM name. 458ERST 459 460 { 461 .name = "uuid", 462 .args_type = "", 463 .params = "", 464 .help = "show the current VM UUID", 465 .cmd = hmp_info_uuid, 466 .flags = "p", 467 }, 468 469SRST 470 ``info uuid`` 471 Show the current VM UUID. 472ERST 473 474#if defined(CONFIG_SLIRP) 475 { 476 .name = "usernet", 477 .args_type = "", 478 .params = "", 479 .help = "show user network stack connection states", 480 .cmd = hmp_info_usernet, 481 }, 482#endif 483 484SRST 485 ``info usernet`` 486 Show user network stack connection states. 487ERST 488 489 { 490 .name = "migrate", 491 .args_type = "", 492 .params = "", 493 .help = "show migration status", 494 .cmd = hmp_info_migrate, 495 }, 496 497SRST 498 ``info migrate`` 499 Show migration status. 500ERST 501 502 { 503 .name = "migrate_capabilities", 504 .args_type = "", 505 .params = "", 506 .help = "show current migration capabilities", 507 .cmd = hmp_info_migrate_capabilities, 508 }, 509 510SRST 511 ``info migrate_capabilities`` 512 Show current migration capabilities. 513ERST 514 515 { 516 .name = "migrate_parameters", 517 .args_type = "", 518 .params = "", 519 .help = "show current migration parameters", 520 .cmd = hmp_info_migrate_parameters, 521 }, 522 523SRST 524 ``info migrate_parameters`` 525 Show current migration parameters. 526ERST 527 528 { 529 .name = "balloon", 530 .args_type = "", 531 .params = "", 532 .help = "show balloon information", 533 .cmd = hmp_info_balloon, 534 }, 535 536SRST 537 ``info balloon`` 538 Show balloon information. 539ERST 540 541 { 542 .name = "qtree", 543 .args_type = "", 544 .params = "", 545 .help = "show device tree", 546 .cmd = hmp_info_qtree, 547 }, 548 549SRST 550 ``info qtree`` 551 Show device tree. 552ERST 553 554 { 555 .name = "qdm", 556 .args_type = "", 557 .params = "", 558 .help = "show qdev device model list", 559 .cmd = hmp_info_qdm, 560 }, 561 562SRST 563 ``info qdm`` 564 Show qdev device model list. 565ERST 566 567 { 568 .name = "qom-tree", 569 .args_type = "path:s?", 570 .params = "[path]", 571 .help = "show QOM composition tree", 572 .cmd = hmp_info_qom_tree, 573 .flags = "p", 574 }, 575 576SRST 577 ``info qom-tree`` 578 Show QOM composition tree. 579ERST 580 581 { 582 .name = "roms", 583 .args_type = "", 584 .params = "", 585 .help = "show roms", 586 .cmd_info_hrt = qmp_x_query_roms, 587 }, 588 589SRST 590 ``info roms`` 591 Show roms. 592ERST 593 594 { 595 .name = "trace-events", 596 .args_type = "name:s?,vcpu:i?", 597 .params = "[name] [vcpu]", 598 .help = "show available trace-events & their state " 599 "(name: event name pattern; vcpu: vCPU to query, default is any)", 600 .cmd = hmp_info_trace_events, 601 .command_completion = info_trace_events_completion, 602 }, 603 604SRST 605 ``info trace-events`` 606 Show available trace-events & their state. 607ERST 608 609 { 610 .name = "tpm", 611 .args_type = "", 612 .params = "", 613 .help = "show the TPM device", 614 .cmd = hmp_info_tpm, 615 }, 616 617SRST 618 ``info tpm`` 619 Show the TPM device. 620ERST 621 622 { 623 .name = "memdev", 624 .args_type = "", 625 .params = "", 626 .help = "show memory backends", 627 .cmd = hmp_info_memdev, 628 .flags = "p", 629 }, 630 631SRST 632 ``info memdev`` 633 Show memory backends 634ERST 635 636 { 637 .name = "memory-devices", 638 .args_type = "", 639 .params = "", 640 .help = "show memory devices", 641 .cmd = hmp_info_memory_devices, 642 }, 643 644SRST 645 ``info memory-devices`` 646 Show memory devices. 647ERST 648 649 { 650 .name = "iothreads", 651 .args_type = "", 652 .params = "", 653 .help = "show iothreads", 654 .cmd = hmp_info_iothreads, 655 .flags = "p", 656 }, 657 658SRST 659 ``info iothreads`` 660 Show iothread's identifiers. 661ERST 662 663 { 664 .name = "rocker", 665 .args_type = "name:s", 666 .params = "name", 667 .help = "Show rocker switch", 668 .cmd = hmp_rocker, 669 }, 670 671SRST 672 ``info rocker`` *name* 673 Show rocker switch. 674ERST 675 676 { 677 .name = "rocker-ports", 678 .args_type = "name:s", 679 .params = "name", 680 .help = "Show rocker ports", 681 .cmd = hmp_rocker_ports, 682 }, 683 684SRST 685 ``info rocker-ports`` *name*-ports 686 Show rocker ports. 687ERST 688 689 { 690 .name = "rocker-of-dpa-flows", 691 .args_type = "name:s,tbl_id:i?", 692 .params = "name [tbl_id]", 693 .help = "Show rocker OF-DPA flow tables", 694 .cmd = hmp_rocker_of_dpa_flows, 695 }, 696 697SRST 698 ``info rocker-of-dpa-flows`` *name* [*tbl_id*] 699 Show rocker OF-DPA flow tables. 700ERST 701 702 { 703 .name = "rocker-of-dpa-groups", 704 .args_type = "name:s,type:i?", 705 .params = "name [type]", 706 .help = "Show rocker OF-DPA groups", 707 .cmd = hmp_rocker_of_dpa_groups, 708 }, 709 710SRST 711 ``info rocker-of-dpa-groups`` *name* [*type*] 712 Show rocker OF-DPA groups. 713ERST 714 715#if defined(TARGET_S390X) 716 { 717 .name = "skeys", 718 .args_type = "addr:l", 719 .params = "address", 720 .help = "Display the value of a storage key", 721 .cmd = hmp_info_skeys, 722 }, 723#endif 724 725SRST 726 ``info skeys`` *address* 727 Display the value of a storage key (s390 only) 728ERST 729 730#if defined(TARGET_S390X) 731 { 732 .name = "cmma", 733 .args_type = "addr:l,count:l?", 734 .params = "address [count]", 735 .help = "Display the values of the CMMA storage attributes for a range of pages", 736 .cmd = hmp_info_cmma, 737 }, 738#endif 739 740SRST 741 ``info cmma`` *address* 742 Display the values of the CMMA storage attributes for a range of 743 pages (s390 only) 744ERST 745 746 { 747 .name = "dump", 748 .args_type = "", 749 .params = "", 750 .help = "Display the latest dump status", 751 .cmd = hmp_info_dump, 752 }, 753 754SRST 755 ``info dump`` 756 Display the latest dump status. 757ERST 758 759 { 760 .name = "ramblock", 761 .args_type = "", 762 .params = "", 763 .help = "Display system ramblock information", 764 .cmd_info_hrt = qmp_x_query_ramblock, 765 }, 766 767SRST 768 ``info ramblock`` 769 Dump all the ramblocks of the system. 770ERST 771 772 { 773 .name = "hotpluggable-cpus", 774 .args_type = "", 775 .params = "", 776 .help = "Show information about hotpluggable CPUs", 777 .cmd = hmp_hotpluggable_cpus, 778 .flags = "p", 779 }, 780 781SRST 782 ``info hotpluggable-cpus`` 783 Show information about hotpluggable CPUs 784ERST 785 786 { 787 .name = "vm-generation-id", 788 .args_type = "", 789 .params = "", 790 .help = "Show Virtual Machine Generation ID", 791 .cmd = hmp_info_vm_generation_id, 792 }, 793 794SRST 795 ``info vm-generation-id`` 796 Show Virtual Machine Generation ID 797ERST 798 799 { 800 .name = "memory_size_summary", 801 .args_type = "", 802 .params = "", 803 .help = "show the amount of initially allocated and " 804 "present hotpluggable (if enabled) memory in bytes.", 805 .cmd = hmp_info_memory_size_summary, 806 }, 807 808SRST 809 ``info memory_size_summary`` 810 Display the amount of initially allocated and present hotpluggable (if 811 enabled) memory in bytes. 812ERST 813 814#if defined(TARGET_I386) 815 { 816 .name = "sev", 817 .args_type = "", 818 .params = "", 819 .help = "show SEV information", 820 .cmd = hmp_info_sev, 821 }, 822#endif 823 824SRST 825 ``info sev`` 826 Show SEV information. 827ERST 828 829 { 830 .name = "replay", 831 .args_type = "", 832 .params = "", 833 .help = "show record/replay information", 834 .cmd = hmp_info_replay, 835 }, 836 837SRST 838 ``info replay`` 839 Display the record/replay information: mode and the current icount. 840ERST 841 842 { 843 .name = "dirty_rate", 844 .args_type = "", 845 .params = "", 846 .help = "show dirty rate information", 847 .cmd = hmp_info_dirty_rate, 848 }, 849 850SRST 851 ``info dirty_rate`` 852 Display the vcpu dirty rate information. 853ERST 854 855 { 856 .name = "vcpu_dirty_limit", 857 .args_type = "", 858 .params = "", 859 .help = "show dirty page limit information of all vCPU", 860 .cmd = hmp_info_vcpu_dirty_limit, 861 }, 862 863SRST 864 ``info vcpu_dirty_limit`` 865 Display the vcpu dirty page limit information. 866ERST 867 868#if defined(TARGET_I386) 869 { 870 .name = "sgx", 871 .args_type = "", 872 .params = "", 873 .help = "show intel SGX information", 874 .cmd = hmp_info_sgx, 875 }, 876#endif 877 878SRST 879 ``info sgx`` 880 Show intel SGX information. 881ERST 882 883#if defined(CONFIG_MOS6522) 884 { 885 .name = "via", 886 .args_type = "", 887 .params = "", 888 .help = "show guest mos6522 VIA devices", 889 .cmd = hmp_info_via, 890 }, 891#endif 892 893SRST 894 ``info via`` 895 Show guest mos6522 VIA devices. 896ERST 897 898 { 899 .name = "stats", 900 .args_type = "target:s,names:s?,provider:s?", 901 .params = "target [names] [provider]", 902 .help = "show statistics for the given target (vm or vcpu); optionally filter by" 903 "name (comma-separated list, or * for all) and provider", 904 .cmd = hmp_info_stats, 905 }, 906 907SRST 908 ``stats`` 909 Show runtime-collected statistics 910ERST 911 912 { 913 .name = "virtio", 914 .args_type = "", 915 .params = "", 916 .help = "List all available virtio devices", 917 .cmd = hmp_virtio_query, 918 .flags = "p", 919 }, 920 921SRST 922 ``info virtio`` 923 List all available virtio devices 924ERST 925 926 { 927 .name = "virtio-status", 928 .args_type = "path:s", 929 .params = "path", 930 .help = "Display status of a given virtio device", 931 .cmd = hmp_virtio_status, 932 .flags = "p", 933 }, 934 935SRST 936 ``info virtio-status`` *path* 937 Display status of a given virtio device 938ERST 939 940 { 941 .name = "virtio-queue-status", 942 .args_type = "path:s,queue:i", 943 .params = "path queue", 944 .help = "Display status of a given virtio queue", 945 .cmd = hmp_virtio_queue_status, 946 .flags = "p", 947 }, 948 949SRST 950 ``info virtio-queue-status`` *path* *queue* 951 Display status of a given virtio queue 952ERST 953 954 { 955 .name = "virtio-vhost-queue-status", 956 .args_type = "path:s,queue:i", 957 .params = "path queue", 958 .help = "Display status of a given vhost queue", 959 .cmd = hmp_vhost_queue_status, 960 .flags = "p", 961 }, 962 963SRST 964 ``info virtio-vhost-queue-status`` *path* *queue* 965 Display status of a given vhost queue 966ERST 967 968 { 969 .name = "virtio-queue-element", 970 .args_type = "path:s,queue:i,index:i?", 971 .params = "path queue [index]", 972 .help = "Display element of a given virtio queue", 973 .cmd = hmp_virtio_queue_element, 974 .flags = "p", 975 }, 976 977SRST 978 ``info virtio-queue-element`` *path* *queue* [*index*] 979 Display element of a given virtio queue 980ERST 981 982 { 983 .name = "cryptodev", 984 .args_type = "", 985 .params = "", 986 .help = "show the crypto devices", 987 .cmd = hmp_info_cryptodev, 988 .flags = "p", 989 }, 990 991SRST 992 ``info cryptodev`` 993 Show the crypto devices. 994ERST 995