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