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", 104 .params = "[-a]", 105 .help = "show the cpu registers (-a: all - show register info for all cpus)", 106 .cmd = hmp_info_registers, 107 }, 108 109SRST 110 ``info registers`` 111 Show the cpu registers. 112ERST 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 125SRST 126 ``info lapic`` 127 Show local APIC state 128ERST 129 130 { 131 .name = "cpus", 132 .args_type = "", 133 .params = "", 134 .help = "show infos for each CPU", 135 .cmd = hmp_info_cpus, 136 }, 137 138SRST 139 ``info cpus`` 140 Show infos for each CPU. 141ERST 142 143 { 144 .name = "history", 145 .args_type = "", 146 .params = "", 147 .help = "show the command line history", 148 .cmd = hmp_info_history, 149 .flags = "p", 150 }, 151 152SRST 153 ``info history`` 154 Show the command line history. 155ERST 156 157 { 158 .name = "irq", 159 .args_type = "", 160 .params = "", 161 .help = "show the interrupts statistics (if available)", 162 .cmd_info_hrt = qmp_x_query_irq, 163 }, 164 165SRST 166 ``info irq`` 167 Show the interrupts statistics (if available). 168ERST 169 170 { 171 .name = "pic", 172 .args_type = "", 173 .params = "", 174 .help = "show PIC state", 175 .cmd = hmp_info_pic, 176 }, 177 178SRST 179 ``info pic`` 180 Show PIC state. 181ERST 182 183 { 184 .name = "rdma", 185 .args_type = "", 186 .params = "", 187 .help = "show RDMA state", 188 .cmd_info_hrt = qmp_x_query_rdma, 189 }, 190 191SRST 192 ``info rdma`` 193 Show RDMA state. 194ERST 195 196 { 197 .name = "pci", 198 .args_type = "", 199 .params = "", 200 .help = "show PCI info", 201 .cmd = hmp_info_pci, 202 }, 203 204SRST 205 ``info pci`` 206 Show PCI information. 207ERST 208 209#if defined(TARGET_I386) || defined(TARGET_SH4) || defined(TARGET_SPARC) || \ 210 defined(TARGET_PPC) || defined(TARGET_XTENSA) || defined(TARGET_M68K) 211 { 212 .name = "tlb", 213 .args_type = "", 214 .params = "", 215 .help = "show virtual to physical memory mappings", 216 .cmd = hmp_info_tlb, 217 }, 218#endif 219 220SRST 221 ``info tlb`` 222 Show virtual to physical memory mappings. 223ERST 224 225#if defined(TARGET_I386) || defined(TARGET_RISCV) 226 { 227 .name = "mem", 228 .args_type = "", 229 .params = "", 230 .help = "show the active virtual memory mappings", 231 .cmd = hmp_info_mem, 232 }, 233#endif 234 235SRST 236 ``info mem`` 237 Show the active virtual memory mappings. 238ERST 239 240 { 241 .name = "mtree", 242 .args_type = "flatview:-f,dispatch_tree:-d,owner:-o,disabled:-D", 243 .params = "[-f][-d][-o][-D]", 244 .help = "show memory tree (-f: dump flat view for address spaces;" 245 "-d: dump dispatch tree, valid with -f only);" 246 "-o: dump region owners/parents;" 247 "-D: dump disabled regions", 248 .cmd = hmp_info_mtree, 249 }, 250 251SRST 252 ``info mtree`` 253 Show memory tree. 254ERST 255 256#if defined(CONFIG_TCG) 257 { 258 .name = "jit", 259 .args_type = "", 260 .params = "", 261 .help = "show dynamic compiler info", 262 }, 263#endif 264 265SRST 266 ``info jit`` 267 Show dynamic compiler info. 268ERST 269 270#if defined(CONFIG_TCG) 271 { 272 .name = "opcount", 273 .args_type = "", 274 .params = "", 275 .help = "show dynamic compiler opcode counters", 276 }, 277#endif 278 279SRST 280 ``info opcount`` 281 Show dynamic compiler opcode counters 282ERST 283 284 { 285 .name = "sync-profile", 286 .args_type = "mean:-m,no_coalesce:-n,max:i?", 287 .params = "[-m] [-n] [max]", 288 .help = "show synchronization profiling info, up to max entries " 289 "(default: 10), sorted by total wait time. (-m: sort by " 290 "mean wait time; -n: do not coalesce objects with the " 291 "same call site)", 292 .cmd = hmp_info_sync_profile, 293 }, 294 295SRST 296 ``info sync-profile [-m|-n]`` [*max*] 297 Show synchronization profiling info, up to *max* entries (default: 10), 298 sorted by total wait time. 299 300 ``-m`` 301 sort by mean wait time 302 ``-n`` 303 do not coalesce objects with the same call site 304 305 When different objects that share the same call site are coalesced, 306 the "Object" field shows---enclosed in brackets---the number of objects 307 being coalesced. 308ERST 309 310 { 311 .name = "kvm", 312 .args_type = "", 313 .params = "", 314 .help = "show KVM information", 315 .cmd = hmp_info_kvm, 316 }, 317 318SRST 319 ``info kvm`` 320 Show KVM information. 321ERST 322 323 { 324 .name = "numa", 325 .args_type = "", 326 .params = "", 327 .help = "show NUMA information", 328 .cmd_info_hrt = qmp_x_query_numa, 329 }, 330 331SRST 332 ``info numa`` 333 Show NUMA information. 334ERST 335 336 { 337 .name = "usb", 338 .args_type = "", 339 .params = "", 340 .help = "show guest USB devices", 341 .cmd_info_hrt = qmp_x_query_usb, 342 }, 343 344SRST 345 ``info usb`` 346 Show guest USB devices. 347ERST 348 349 { 350 .name = "usbhost", 351 .args_type = "", 352 .params = "", 353 .help = "show host USB devices", 354 }, 355 356SRST 357 ``info usbhost`` 358 Show host USB devices. 359ERST 360 361#if defined(CONFIG_TCG) 362 { 363 .name = "profile", 364 .args_type = "", 365 .params = "", 366 .help = "show profiling information", 367 .cmd_info_hrt = qmp_x_query_profile, 368 }, 369#endif 370 371SRST 372 ``info profile`` 373 Show profiling information. 374ERST 375 376 { 377 .name = "capture", 378 .args_type = "", 379 .params = "", 380 .help = "show capture information", 381 .cmd = hmp_info_capture, 382 }, 383 384SRST 385 ``info capture`` 386 Show capture information. 387ERST 388 389 { 390 .name = "snapshots", 391 .args_type = "", 392 .params = "", 393 .help = "show the currently saved VM snapshots", 394 .cmd = hmp_info_snapshots, 395 }, 396 397SRST 398 ``info snapshots`` 399 Show the currently saved VM snapshots. 400ERST 401 402 { 403 .name = "status", 404 .args_type = "", 405 .params = "", 406 .help = "show the current VM status (running|paused)", 407 .cmd = hmp_info_status, 408 .flags = "p", 409 }, 410 411SRST 412 ``info status`` 413 Show the current VM status (running|paused). 414ERST 415 416 { 417 .name = "mice", 418 .args_type = "", 419 .params = "", 420 .help = "show which guest mouse is receiving events", 421 .cmd = hmp_info_mice, 422 }, 423 424SRST 425 ``info mice`` 426 Show which guest mouse is receiving events. 427ERST 428 429#if defined(CONFIG_VNC) 430 { 431 .name = "vnc", 432 .args_type = "", 433 .params = "", 434 .help = "show the vnc server status", 435 .cmd = hmp_info_vnc, 436 }, 437#endif 438 439SRST 440 ``info vnc`` 441 Show the vnc server status. 442ERST 443 444#if defined(CONFIG_SPICE) 445 { 446 .name = "spice", 447 .args_type = "", 448 .params = "", 449 .help = "show the spice server status", 450 .cmd = hmp_info_spice, 451 }, 452#endif 453 454SRST 455 ``info spice`` 456 Show the spice server status. 457ERST 458 459 { 460 .name = "name", 461 .args_type = "", 462 .params = "", 463 .help = "show the current VM name", 464 .cmd = hmp_info_name, 465 .flags = "p", 466 }, 467 468SRST 469 ``info name`` 470 Show the current VM name. 471ERST 472 473 { 474 .name = "uuid", 475 .args_type = "", 476 .params = "", 477 .help = "show the current VM UUID", 478 .cmd = hmp_info_uuid, 479 .flags = "p", 480 }, 481 482SRST 483 ``info uuid`` 484 Show the current VM UUID. 485ERST 486 487#if defined(CONFIG_SLIRP) 488 { 489 .name = "usernet", 490 .args_type = "", 491 .params = "", 492 .help = "show user network stack connection states", 493 .cmd = hmp_info_usernet, 494 }, 495#endif 496 497SRST 498 ``info usernet`` 499 Show user network stack connection states. 500ERST 501 502 { 503 .name = "migrate", 504 .args_type = "", 505 .params = "", 506 .help = "show migration status", 507 .cmd = hmp_info_migrate, 508 }, 509 510SRST 511 ``info migrate`` 512 Show migration status. 513ERST 514 515 { 516 .name = "migrate_capabilities", 517 .args_type = "", 518 .params = "", 519 .help = "show current migration capabilities", 520 .cmd = hmp_info_migrate_capabilities, 521 }, 522 523SRST 524 ``info migrate_capabilities`` 525 Show current migration capabilities. 526ERST 527 528 { 529 .name = "migrate_parameters", 530 .args_type = "", 531 .params = "", 532 .help = "show current migration parameters", 533 .cmd = hmp_info_migrate_parameters, 534 }, 535 536SRST 537 ``info migrate_parameters`` 538 Show current migration parameters. 539ERST 540 541 { 542 .name = "balloon", 543 .args_type = "", 544 .params = "", 545 .help = "show balloon information", 546 .cmd = hmp_info_balloon, 547 }, 548 549SRST 550 ``info balloon`` 551 Show balloon information. 552ERST 553 554 { 555 .name = "qtree", 556 .args_type = "", 557 .params = "", 558 .help = "show device tree", 559 .cmd = hmp_info_qtree, 560 }, 561 562SRST 563 ``info qtree`` 564 Show device tree. 565ERST 566 567 { 568 .name = "qdm", 569 .args_type = "", 570 .params = "", 571 .help = "show qdev device model list", 572 .cmd = hmp_info_qdm, 573 }, 574 575SRST 576 ``info qdm`` 577 Show qdev device model list. 578ERST 579 580 { 581 .name = "qom-tree", 582 .args_type = "path:s?", 583 .params = "[path]", 584 .help = "show QOM composition tree", 585 .cmd = hmp_info_qom_tree, 586 .flags = "p", 587 }, 588 589SRST 590 ``info qom-tree`` 591 Show QOM composition tree. 592ERST 593 594 { 595 .name = "roms", 596 .args_type = "", 597 .params = "", 598 .help = "show roms", 599 .cmd_info_hrt = qmp_x_query_roms, 600 }, 601 602SRST 603 ``info roms`` 604 Show roms. 605ERST 606 607 { 608 .name = "trace-events", 609 .args_type = "name:s?,vcpu:i?", 610 .params = "[name] [vcpu]", 611 .help = "show available trace-events & their state " 612 "(name: event name pattern; vcpu: vCPU to query, default is any)", 613 .cmd = hmp_info_trace_events, 614 .command_completion = info_trace_events_completion, 615 }, 616 617SRST 618 ``info trace-events`` 619 Show available trace-events & their state. 620ERST 621 622 { 623 .name = "tpm", 624 .args_type = "", 625 .params = "", 626 .help = "show the TPM device", 627 .cmd = hmp_info_tpm, 628 }, 629 630SRST 631 ``info tpm`` 632 Show the TPM device. 633ERST 634 635 { 636 .name = "memdev", 637 .args_type = "", 638 .params = "", 639 .help = "show memory backends", 640 .cmd = hmp_info_memdev, 641 .flags = "p", 642 }, 643 644SRST 645 ``info memdev`` 646 Show memory backends 647ERST 648 649 { 650 .name = "memory-devices", 651 .args_type = "", 652 .params = "", 653 .help = "show memory devices", 654 .cmd = hmp_info_memory_devices, 655 }, 656 657SRST 658 ``info memory-devices`` 659 Show memory devices. 660ERST 661 662 { 663 .name = "iothreads", 664 .args_type = "", 665 .params = "", 666 .help = "show iothreads", 667 .cmd = hmp_info_iothreads, 668 .flags = "p", 669 }, 670 671SRST 672 ``info iothreads`` 673 Show iothread's identifiers. 674ERST 675 676 { 677 .name = "rocker", 678 .args_type = "name:s", 679 .params = "name", 680 .help = "Show rocker switch", 681 .cmd = hmp_rocker, 682 }, 683 684SRST 685 ``info rocker`` *name* 686 Show rocker switch. 687ERST 688 689 { 690 .name = "rocker-ports", 691 .args_type = "name:s", 692 .params = "name", 693 .help = "Show rocker ports", 694 .cmd = hmp_rocker_ports, 695 }, 696 697SRST 698 ``info rocker-ports`` *name*-ports 699 Show rocker ports. 700ERST 701 702 { 703 .name = "rocker-of-dpa-flows", 704 .args_type = "name:s,tbl_id:i?", 705 .params = "name [tbl_id]", 706 .help = "Show rocker OF-DPA flow tables", 707 .cmd = hmp_rocker_of_dpa_flows, 708 }, 709 710SRST 711 ``info rocker-of-dpa-flows`` *name* [*tbl_id*] 712 Show rocker OF-DPA flow tables. 713ERST 714 715 { 716 .name = "rocker-of-dpa-groups", 717 .args_type = "name:s,type:i?", 718 .params = "name [type]", 719 .help = "Show rocker OF-DPA groups", 720 .cmd = hmp_rocker_of_dpa_groups, 721 }, 722 723SRST 724 ``info rocker-of-dpa-groups`` *name* [*type*] 725 Show rocker OF-DPA groups. 726ERST 727 728#if defined(TARGET_S390X) 729 { 730 .name = "skeys", 731 .args_type = "addr:l", 732 .params = "address", 733 .help = "Display the value of a storage key", 734 .cmd = hmp_info_skeys, 735 }, 736#endif 737 738SRST 739 ``info skeys`` *address* 740 Display the value of a storage key (s390 only) 741ERST 742 743#if defined(TARGET_S390X) 744 { 745 .name = "cmma", 746 .args_type = "addr:l,count:l?", 747 .params = "address [count]", 748 .help = "Display the values of the CMMA storage attributes for a range of pages", 749 .cmd = hmp_info_cmma, 750 }, 751#endif 752 753SRST 754 ``info cmma`` *address* 755 Display the values of the CMMA storage attributes for a range of 756 pages (s390 only) 757ERST 758 759 { 760 .name = "dump", 761 .args_type = "", 762 .params = "", 763 .help = "Display the latest dump status", 764 .cmd = hmp_info_dump, 765 }, 766 767SRST 768 ``info dump`` 769 Display the latest dump status. 770ERST 771 772 { 773 .name = "ramblock", 774 .args_type = "", 775 .params = "", 776 .help = "Display system ramblock information", 777 .cmd_info_hrt = qmp_x_query_ramblock, 778 }, 779 780SRST 781 ``info ramblock`` 782 Dump all the ramblocks of the system. 783ERST 784 785 { 786 .name = "hotpluggable-cpus", 787 .args_type = "", 788 .params = "", 789 .help = "Show information about hotpluggable CPUs", 790 .cmd = hmp_hotpluggable_cpus, 791 .flags = "p", 792 }, 793 794SRST 795 ``info hotpluggable-cpus`` 796 Show information about hotpluggable CPUs 797ERST 798 799 { 800 .name = "vm-generation-id", 801 .args_type = "", 802 .params = "", 803 .help = "Show Virtual Machine Generation ID", 804 .cmd = hmp_info_vm_generation_id, 805 }, 806 807SRST 808 ``info vm-generation-id`` 809 Show Virtual Machine Generation ID 810ERST 811 812 { 813 .name = "memory_size_summary", 814 .args_type = "", 815 .params = "", 816 .help = "show the amount of initially allocated and " 817 "present hotpluggable (if enabled) memory in bytes.", 818 .cmd = hmp_info_memory_size_summary, 819 }, 820 821SRST 822 ``info memory_size_summary`` 823 Display the amount of initially allocated and present hotpluggable (if 824 enabled) memory in bytes. 825ERST 826 827#if defined(TARGET_I386) 828 { 829 .name = "sev", 830 .args_type = "", 831 .params = "", 832 .help = "show SEV information", 833 .cmd = hmp_info_sev, 834 }, 835#endif 836 837SRST 838 ``info sev`` 839 Show SEV information. 840ERST 841 842 { 843 .name = "replay", 844 .args_type = "", 845 .params = "", 846 .help = "show record/replay information", 847 .cmd = hmp_info_replay, 848 }, 849 850SRST 851 ``info replay`` 852 Display the record/replay information: mode and the current icount. 853ERST 854 855 { 856 .name = "dirty_rate", 857 .args_type = "", 858 .params = "", 859 .help = "show dirty rate information", 860 .cmd = hmp_info_dirty_rate, 861 }, 862 863SRST 864 ``info dirty_rate`` 865 Display the vcpu dirty rate 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