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#if defined(CONFIG_SLIRP) 504 { 505 .name = "usernet", 506 .args_type = "", 507 .params = "", 508 .help = "show user network stack connection states", 509 .cmd = hmp_info_usernet, 510 }, 511#endif 512 513SRST 514 ``info usernet`` 515 Show user network stack connection states. 516ERST 517 518 { 519 .name = "migrate", 520 .args_type = "", 521 .params = "", 522 .help = "show migration status", 523 .cmd = hmp_info_migrate, 524 }, 525 526SRST 527 ``info migrate`` 528 Show migration status. 529ERST 530 531 { 532 .name = "migrate_capabilities", 533 .args_type = "", 534 .params = "", 535 .help = "show current migration capabilities", 536 .cmd = hmp_info_migrate_capabilities, 537 }, 538 539SRST 540 ``info migrate_capabilities`` 541 Show current migration capabilities. 542ERST 543 544 { 545 .name = "migrate_parameters", 546 .args_type = "", 547 .params = "", 548 .help = "show current migration parameters", 549 .cmd = hmp_info_migrate_parameters, 550 }, 551 552SRST 553 ``info migrate_parameters`` 554 Show current migration parameters. 555ERST 556 557 { 558 .name = "balloon", 559 .args_type = "", 560 .params = "", 561 .help = "show balloon information", 562 .cmd = hmp_info_balloon, 563 }, 564 565SRST 566 ``info balloon`` 567 Show balloon information. 568ERST 569 570 { 571 .name = "qtree", 572 .args_type = "", 573 .params = "", 574 .help = "show device tree", 575 .cmd = hmp_info_qtree, 576 }, 577 578SRST 579 ``info qtree`` 580 Show device tree. 581ERST 582 583 { 584 .name = "qdm", 585 .args_type = "", 586 .params = "", 587 .help = "show qdev device model list", 588 .cmd = hmp_info_qdm, 589 }, 590 591SRST 592 ``info qdm`` 593 Show qdev device model list. 594ERST 595 596 { 597 .name = "qom-tree", 598 .args_type = "path:s?", 599 .params = "[path]", 600 .help = "show QOM composition tree", 601 .cmd = hmp_info_qom_tree, 602 .flags = "p", 603 }, 604 605SRST 606 ``info qom-tree`` 607 Show QOM composition tree. 608ERST 609 610 { 611 .name = "roms", 612 .args_type = "", 613 .params = "", 614 .help = "show roms", 615 .cmd = hmp_info_roms, 616 }, 617 618SRST 619 ``info roms`` 620 Show roms. 621ERST 622 623 { 624 .name = "trace-events", 625 .args_type = "name:s?,vcpu:i?", 626 .params = "[name] [vcpu]", 627 .help = "show available trace-events & their state " 628 "(name: event name pattern; vcpu: vCPU to query, default is any)", 629 .cmd = hmp_info_trace_events, 630 .command_completion = info_trace_events_completion, 631 }, 632 633SRST 634 ``info trace-events`` 635 Show available trace-events & their state. 636ERST 637 638 { 639 .name = "tpm", 640 .args_type = "", 641 .params = "", 642 .help = "show the TPM device", 643 .cmd = hmp_info_tpm, 644 }, 645 646SRST 647 ``info tpm`` 648 Show the TPM device. 649ERST 650 651 { 652 .name = "memdev", 653 .args_type = "", 654 .params = "", 655 .help = "show memory backends", 656 .cmd = hmp_info_memdev, 657 .flags = "p", 658 }, 659 660SRST 661 ``info memdev`` 662 Show memory backends 663ERST 664 665 { 666 .name = "memory-devices", 667 .args_type = "", 668 .params = "", 669 .help = "show memory devices", 670 .cmd = hmp_info_memory_devices, 671 }, 672 673SRST 674 ``info memory-devices`` 675 Show memory devices. 676ERST 677 678 { 679 .name = "iothreads", 680 .args_type = "", 681 .params = "", 682 .help = "show iothreads", 683 .cmd = hmp_info_iothreads, 684 .flags = "p", 685 }, 686 687SRST 688 ``info iothreads`` 689 Show iothread's identifiers. 690ERST 691 692 { 693 .name = "rocker", 694 .args_type = "name:s", 695 .params = "name", 696 .help = "Show rocker switch", 697 .cmd = hmp_rocker, 698 }, 699 700SRST 701 ``info rocker`` *name* 702 Show rocker switch. 703ERST 704 705 { 706 .name = "rocker-ports", 707 .args_type = "name:s", 708 .params = "name", 709 .help = "Show rocker ports", 710 .cmd = hmp_rocker_ports, 711 }, 712 713SRST 714 ``info rocker-ports`` *name*-ports 715 Show rocker ports. 716ERST 717 718 { 719 .name = "rocker-of-dpa-flows", 720 .args_type = "name:s,tbl_id:i?", 721 .params = "name [tbl_id]", 722 .help = "Show rocker OF-DPA flow tables", 723 .cmd = hmp_rocker_of_dpa_flows, 724 }, 725 726SRST 727 ``info rocker-of-dpa-flows`` *name* [*tbl_id*] 728 Show rocker OF-DPA flow tables. 729ERST 730 731 { 732 .name = "rocker-of-dpa-groups", 733 .args_type = "name:s,type:i?", 734 .params = "name [type]", 735 .help = "Show rocker OF-DPA groups", 736 .cmd = hmp_rocker_of_dpa_groups, 737 }, 738 739SRST 740 ``info rocker-of-dpa-groups`` *name* [*type*] 741 Show rocker OF-DPA groups. 742ERST 743 744#if defined(TARGET_S390X) 745 { 746 .name = "skeys", 747 .args_type = "addr:l", 748 .params = "address", 749 .help = "Display the value of a storage key", 750 .cmd = hmp_info_skeys, 751 }, 752#endif 753 754SRST 755 ``info skeys`` *address* 756 Display the value of a storage key (s390 only) 757ERST 758 759#if defined(TARGET_S390X) 760 { 761 .name = "cmma", 762 .args_type = "addr:l,count:l?", 763 .params = "address [count]", 764 .help = "Display the values of the CMMA storage attributes for a range of pages", 765 .cmd = hmp_info_cmma, 766 }, 767#endif 768 769SRST 770 ``info cmma`` *address* 771 Display the values of the CMMA storage attributes for a range of 772 pages (s390 only) 773ERST 774 775 { 776 .name = "dump", 777 .args_type = "", 778 .params = "", 779 .help = "Display the latest dump status", 780 .cmd = hmp_info_dump, 781 }, 782 783SRST 784 ``info dump`` 785 Display the latest dump status. 786ERST 787 788 { 789 .name = "ramblock", 790 .args_type = "", 791 .params = "", 792 .help = "Display system ramblock information", 793 .cmd = hmp_info_ramblock, 794 }, 795 796SRST 797 ``info ramblock`` 798 Dump all the ramblocks of the system. 799ERST 800 801 { 802 .name = "hotpluggable-cpus", 803 .args_type = "", 804 .params = "", 805 .help = "Show information about hotpluggable CPUs", 806 .cmd = hmp_hotpluggable_cpus, 807 .flags = "p", 808 }, 809 810SRST 811 ``info hotpluggable-cpus`` 812 Show information about hotpluggable CPUs 813ERST 814 815 { 816 .name = "vm-generation-id", 817 .args_type = "", 818 .params = "", 819 .help = "Show Virtual Machine Generation ID", 820 .cmd = hmp_info_vm_generation_id, 821 }, 822 823SRST 824 ``info vm-generation-id`` 825 Show Virtual Machine Generation ID 826ERST 827 828 { 829 .name = "memory_size_summary", 830 .args_type = "", 831 .params = "", 832 .help = "show the amount of initially allocated and " 833 "present hotpluggable (if enabled) memory in bytes.", 834 .cmd = hmp_info_memory_size_summary, 835 }, 836 837SRST 838 ``info memory_size_summary`` 839 Display the amount of initially allocated and present hotpluggable (if 840 enabled) memory in bytes. 841ERST 842 843#if defined(TARGET_I386) 844 { 845 .name = "sev", 846 .args_type = "", 847 .params = "", 848 .help = "show SEV information", 849 .cmd = hmp_info_sev, 850 }, 851#endif 852 853SRST 854 ``info sev`` 855 Show SEV information. 856ERST 857 858 { 859 .name = "replay", 860 .args_type = "", 861 .params = "", 862 .help = "show record/replay information", 863 .cmd = hmp_info_replay, 864 }, 865 866SRST 867 ``info replay`` 868 Display the record/replay information: mode and the current icount. 869ERST 870 871 { 872 .name = "dirty_rate", 873 .args_type = "", 874 .params = "", 875 .help = "show dirty rate information", 876 .cmd = hmp_info_dirty_rate, 877 }, 878 879SRST 880 ``info dirty_rate`` 881 Display the vcpu dirty rate information. 882ERST 883