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