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