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