qemu

FORK: QEMU emulator
git clone https://git.neptards.moe/neptards/qemu.git
Log | Files | Refs | Submodules | LICENSE

hmp-commands-info.hx (22242B)


      1 HXCOMM Use DEFHEADING() to define headings in both help text and rST.
      2 HXCOMM Text between SRST and ERST is copied to the rST version and
      3 HXCOMM discarded from C version.
      4 HXCOMM DEF(command, args, callback, arg_string, help) is used to construct
      5 HXCOMM monitor info commands
      6 HXCOMM HXCOMM can be used for comments, discarded from both rST and C.
      7 HXCOMM
      8 HXCOMM In this file, generally SRST fragments should have two extra
      9 HXCOMM spaces of indent, so that the documentation list item for "info foo"
     10 HXCOMM appears inside the documentation list item for the top level
     11 HXCOMM "info" documentation entry. The exception is the first SRST
     12 HXCOMM fragment that defines that top level entry.
     13 
     14 SRST
     15 ``info`` *subcommand*
     16   Show various information about the system state.
     17 
     18 ERST
     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 
     29 SRST
     30   ``info version``
     31     Show the version of QEMU.
     32 ERST
     33 
     34     {
     35         .name       = "network",
     36         .args_type  = "",
     37         .params     = "",
     38         .help       = "show the network state",
     39         .cmd        = hmp_info_network,
     40     },
     41 
     42 SRST
     43   ``info network``
     44     Show the network state.
     45 ERST
     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 
     56 SRST
     57   ``info chardev``
     58     Show the character devices.
     59 ERST
     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 
     70 SRST
     71   ``info block``
     72     Show info of one block device or all block devices.
     73 ERST
     74 
     75     {
     76         .name       = "blockstats",
     77         .args_type  = "",
     78         .params     = "",
     79         .help       = "show block device statistics",
     80         .cmd        = hmp_info_blockstats,
     81     },
     82 
     83 SRST
     84   ``info blockstats``
     85     Show block device statistics.
     86 ERST
     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 
     96 SRST
     97   ``info block-jobs``
     98     Show progress of ongoing block device operations.
     99 ERST
    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 
    111 SRST
    112   ``info registers``
    113     Show the cpu registers.
    114 ERST
    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 
    127 SRST
    128   ``info lapic``
    129     Show local APIC state
    130 ERST
    131 
    132     {
    133         .name       = "cpus",
    134         .args_type  = "",
    135         .params     = "",
    136         .help       = "show infos for each CPU",
    137         .cmd        = hmp_info_cpus,
    138     },
    139 
    140 SRST
    141   ``info cpus``
    142     Show infos for each CPU.
    143 ERST
    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 
    154 SRST
    155   ``info history``
    156     Show the command line history.
    157 ERST
    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 
    167 SRST
    168   ``info irq``
    169     Show the interrupts statistics (if available).
    170 ERST
    171 
    172     {
    173         .name       = "pic",
    174         .args_type  = "",
    175         .params     = "",
    176         .help       = "show PIC state",
    177         .cmd        = hmp_info_pic,
    178     },
    179 
    180 SRST
    181   ``info pic``
    182     Show PIC state.
    183 ERST
    184 
    185     {
    186         .name       = "rdma",
    187         .args_type  = "",
    188         .params     = "",
    189         .help       = "show RDMA state",
    190         .cmd_info_hrt = qmp_x_query_rdma,
    191     },
    192 
    193 SRST
    194   ``info rdma``
    195     Show RDMA state.
    196 ERST
    197 
    198     {
    199         .name       = "pci",
    200         .args_type  = "",
    201         .params     = "",
    202         .help       = "show PCI info",
    203         .cmd        = hmp_info_pci,
    204     },
    205 
    206 SRST
    207   ``info pci``
    208     Show PCI information.
    209 ERST
    210 
    211 #if defined(TARGET_I386) || defined(TARGET_SH4) || defined(TARGET_SPARC) || \
    212     defined(TARGET_PPC) || defined(TARGET_XTENSA) || defined(TARGET_M68K)
    213     {
    214         .name       = "tlb",
    215         .args_type  = "",
    216         .params     = "",
    217         .help       = "show virtual to physical memory mappings",
    218         .cmd        = hmp_info_tlb,
    219     },
    220 #endif
    221 
    222 SRST
    223   ``info tlb``
    224     Show virtual to physical memory mappings.
    225 ERST
    226 
    227 #if defined(TARGET_I386) || defined(TARGET_RISCV)
    228     {
    229         .name       = "mem",
    230         .args_type  = "",
    231         .params     = "",
    232         .help       = "show the active virtual memory mappings",
    233         .cmd        = hmp_info_mem,
    234     },
    235 #endif
    236 
    237 SRST
    238   ``info mem``
    239     Show the active virtual memory mappings.
    240 ERST
    241 
    242     {
    243         .name       = "mtree",
    244         .args_type  = "flatview:-f,dispatch_tree:-d,owner:-o,disabled:-D",
    245         .params     = "[-f][-d][-o][-D]",
    246         .help       = "show memory tree (-f: dump flat view for address spaces;"
    247                       "-d: dump dispatch tree, valid with -f only);"
    248                       "-o: dump region owners/parents;"
    249                       "-D: dump disabled regions",
    250         .cmd        = hmp_info_mtree,
    251     },
    252 
    253 SRST
    254   ``info mtree``
    255     Show memory tree.
    256 ERST
    257 
    258 #if defined(CONFIG_TCG)
    259     {
    260         .name       = "jit",
    261         .args_type  = "",
    262         .params     = "",
    263         .help       = "show dynamic compiler info",
    264     },
    265 #endif
    266 
    267 SRST
    268   ``info jit``
    269     Show dynamic compiler info.
    270 ERST
    271 
    272 #if defined(CONFIG_TCG)
    273     {
    274         .name       = "opcount",
    275         .args_type  = "",
    276         .params     = "",
    277         .help       = "show dynamic compiler opcode counters",
    278     },
    279 #endif
    280 
    281 SRST
    282   ``info opcount``
    283     Show dynamic compiler opcode counters
    284 ERST
    285 
    286     {
    287         .name       = "sync-profile",
    288         .args_type  = "mean:-m,no_coalesce:-n,max:i?",
    289         .params     = "[-m] [-n] [max]",
    290         .help       = "show synchronization profiling info, up to max entries "
    291                       "(default: 10), sorted by total wait time. (-m: sort by "
    292                       "mean wait time; -n: do not coalesce objects with the "
    293                       "same call site)",
    294         .cmd        = hmp_info_sync_profile,
    295     },
    296 
    297 SRST
    298   ``info sync-profile [-m|-n]`` [*max*]
    299     Show synchronization profiling info, up to *max* entries (default: 10),
    300     sorted by total wait time.
    301 
    302     ``-m``
    303       sort by mean wait time
    304     ``-n``
    305       do not coalesce objects with the same call site
    306 
    307     When different objects that share the same call site are coalesced,
    308     the "Object" field shows---enclosed in brackets---the number of objects
    309     being coalesced.
    310 ERST
    311 
    312     {
    313         .name       = "kvm",
    314         .args_type  = "",
    315         .params     = "",
    316         .help       = "show KVM information",
    317         .cmd        = hmp_info_kvm,
    318     },
    319 
    320 SRST
    321   ``info kvm``
    322     Show KVM information.
    323 ERST
    324 
    325     {
    326         .name       = "numa",
    327         .args_type  = "",
    328         .params     = "",
    329         .help       = "show NUMA information",
    330         .cmd_info_hrt = qmp_x_query_numa,
    331     },
    332 
    333 SRST
    334   ``info numa``
    335     Show NUMA information.
    336 ERST
    337 
    338     {
    339         .name       = "usb",
    340         .args_type  = "",
    341         .params     = "",
    342         .help       = "show guest USB devices",
    343         .cmd_info_hrt = qmp_x_query_usb,
    344     },
    345 
    346 SRST
    347   ``info usb``
    348     Show guest USB devices.
    349 ERST
    350 
    351     {
    352         .name       = "usbhost",
    353         .args_type  = "",
    354         .params     = "",
    355         .help       = "show host USB devices",
    356     },
    357 
    358 SRST
    359   ``info usbhost``
    360     Show host USB devices.
    361 ERST
    362 
    363 #if defined(CONFIG_TCG)
    364     {
    365         .name       = "profile",
    366         .args_type  = "",
    367         .params     = "",
    368         .help       = "show profiling information",
    369         .cmd_info_hrt = qmp_x_query_profile,
    370     },
    371 #endif
    372 
    373 SRST
    374   ``info profile``
    375     Show profiling information.
    376 ERST
    377 
    378     {
    379         .name       = "capture",
    380         .args_type  = "",
    381         .params     = "",
    382         .help       = "show capture information",
    383         .cmd        = hmp_info_capture,
    384     },
    385 
    386 SRST
    387   ``info capture``
    388     Show capture information.
    389 ERST
    390 
    391     {
    392         .name       = "snapshots",
    393         .args_type  = "",
    394         .params     = "",
    395         .help       = "show the currently saved VM snapshots",
    396         .cmd        = hmp_info_snapshots,
    397     },
    398 
    399 SRST
    400   ``info snapshots``
    401     Show the currently saved VM snapshots.
    402 ERST
    403 
    404     {
    405         .name       = "status",
    406         .args_type  = "",
    407         .params     = "",
    408         .help       = "show the current VM status (running|paused)",
    409         .cmd        = hmp_info_status,
    410         .flags      = "p",
    411     },
    412 
    413 SRST
    414   ``info status``
    415     Show the current VM status (running|paused).
    416 ERST
    417 
    418     {
    419         .name       = "mice",
    420         .args_type  = "",
    421         .params     = "",
    422         .help       = "show which guest mouse is receiving events",
    423         .cmd        = hmp_info_mice,
    424     },
    425 
    426 SRST
    427   ``info mice``
    428     Show which guest mouse is receiving events.
    429 ERST
    430 
    431 #if defined(CONFIG_VNC)
    432     {
    433         .name       = "vnc",
    434         .args_type  = "",
    435         .params     = "",
    436         .help       = "show the vnc server status",
    437         .cmd        = hmp_info_vnc,
    438     },
    439 #endif
    440 
    441 SRST
    442   ``info vnc``
    443     Show the vnc server status.
    444 ERST
    445 
    446 #if defined(CONFIG_SPICE)
    447     {
    448         .name       = "spice",
    449         .args_type  = "",
    450         .params     = "",
    451         .help       = "show the spice server status",
    452         .cmd        = hmp_info_spice,
    453     },
    454 #endif
    455 
    456 SRST
    457   ``info spice``
    458     Show the spice server status.
    459 ERST
    460 
    461     {
    462         .name       = "name",
    463         .args_type  = "",
    464         .params     = "",
    465         .help       = "show the current VM name",
    466         .cmd        = hmp_info_name,
    467         .flags      = "p",
    468     },
    469 
    470 SRST
    471   ``info name``
    472     Show the current VM name.
    473 ERST
    474 
    475     {
    476         .name       = "uuid",
    477         .args_type  = "",
    478         .params     = "",
    479         .help       = "show the current VM UUID",
    480         .cmd        = hmp_info_uuid,
    481         .flags      = "p",
    482     },
    483 
    484 SRST
    485   ``info uuid``
    486     Show the current VM UUID.
    487 ERST
    488 
    489 #if defined(CONFIG_SLIRP)
    490     {
    491         .name       = "usernet",
    492         .args_type  = "",
    493         .params     = "",
    494         .help       = "show user network stack connection states",
    495         .cmd        = hmp_info_usernet,
    496     },
    497 #endif
    498 
    499 SRST
    500   ``info usernet``
    501     Show user network stack connection states.
    502 ERST
    503 
    504     {
    505         .name       = "migrate",
    506         .args_type  = "",
    507         .params     = "",
    508         .help       = "show migration status",
    509         .cmd        = hmp_info_migrate,
    510     },
    511 
    512 SRST
    513   ``info migrate``
    514     Show migration status.
    515 ERST
    516 
    517     {
    518         .name       = "migrate_capabilities",
    519         .args_type  = "",
    520         .params     = "",
    521         .help       = "show current migration capabilities",
    522         .cmd        = hmp_info_migrate_capabilities,
    523     },
    524 
    525 SRST
    526   ``info migrate_capabilities``
    527     Show current migration capabilities.
    528 ERST
    529 
    530     {
    531         .name       = "migrate_parameters",
    532         .args_type  = "",
    533         .params     = "",
    534         .help       = "show current migration parameters",
    535         .cmd        = hmp_info_migrate_parameters,
    536     },
    537 
    538 SRST
    539   ``info migrate_parameters``
    540     Show current migration parameters.
    541 ERST
    542 
    543     {
    544         .name       = "balloon",
    545         .args_type  = "",
    546         .params     = "",
    547         .help       = "show balloon information",
    548         .cmd        = hmp_info_balloon,
    549     },
    550 
    551 SRST
    552   ``info balloon``
    553     Show balloon information.
    554 ERST
    555 
    556     {
    557         .name       = "qtree",
    558         .args_type  = "",
    559         .params     = "",
    560         .help       = "show device tree",
    561         .cmd        = hmp_info_qtree,
    562     },
    563 
    564 SRST
    565   ``info qtree``
    566     Show device tree.
    567 ERST
    568 
    569     {
    570         .name       = "qdm",
    571         .args_type  = "",
    572         .params     = "",
    573         .help       = "show qdev device model list",
    574         .cmd        = hmp_info_qdm,
    575     },
    576 
    577 SRST
    578   ``info qdm``
    579     Show qdev device model list.
    580 ERST
    581 
    582     {
    583         .name       = "qom-tree",
    584         .args_type  = "path:s?",
    585         .params     = "[path]",
    586         .help       = "show QOM composition tree",
    587         .cmd        = hmp_info_qom_tree,
    588         .flags      = "p",
    589     },
    590 
    591 SRST
    592   ``info qom-tree``
    593     Show QOM composition tree.
    594 ERST
    595 
    596     {
    597         .name       = "roms",
    598         .args_type  = "",
    599         .params     = "",
    600         .help       = "show roms",
    601         .cmd_info_hrt = qmp_x_query_roms,
    602     },
    603 
    604 SRST
    605   ``info roms``
    606     Show roms.
    607 ERST
    608 
    609     {
    610         .name       = "trace-events",
    611         .args_type  = "name:s?,vcpu:i?",
    612         .params     = "[name] [vcpu]",
    613         .help       = "show available trace-events & their state "
    614                       "(name: event name pattern; vcpu: vCPU to query, default is any)",
    615         .cmd = hmp_info_trace_events,
    616         .command_completion = info_trace_events_completion,
    617     },
    618 
    619 SRST
    620   ``info trace-events``
    621     Show available trace-events & their state.
    622 ERST
    623 
    624     {
    625         .name       = "tpm",
    626         .args_type  = "",
    627         .params     = "",
    628         .help       = "show the TPM device",
    629         .cmd        = hmp_info_tpm,
    630     },
    631 
    632 SRST
    633   ``info tpm``
    634     Show the TPM device.
    635 ERST
    636 
    637     {
    638         .name       = "memdev",
    639         .args_type  = "",
    640         .params     = "",
    641         .help       = "show memory backends",
    642         .cmd        = hmp_info_memdev,
    643         .flags      = "p",
    644     },
    645 
    646 SRST
    647   ``info memdev``
    648     Show memory backends
    649 ERST
    650 
    651     {
    652         .name       = "memory-devices",
    653         .args_type  = "",
    654         .params     = "",
    655         .help       = "show memory devices",
    656         .cmd        = hmp_info_memory_devices,
    657     },
    658 
    659 SRST
    660   ``info memory-devices``
    661     Show memory devices.
    662 ERST
    663 
    664     {
    665         .name       = "iothreads",
    666         .args_type  = "",
    667         .params     = "",
    668         .help       = "show iothreads",
    669         .cmd        = hmp_info_iothreads,
    670         .flags      = "p",
    671     },
    672 
    673 SRST
    674   ``info iothreads``
    675     Show iothread's identifiers.
    676 ERST
    677 
    678     {
    679         .name       = "rocker",
    680         .args_type  = "name:s",
    681         .params     = "name",
    682         .help       = "Show rocker switch",
    683         .cmd        = hmp_rocker,
    684     },
    685 
    686 SRST
    687   ``info rocker`` *name*
    688     Show rocker switch.
    689 ERST
    690 
    691     {
    692         .name       = "rocker-ports",
    693         .args_type  = "name:s",
    694         .params     = "name",
    695         .help       = "Show rocker ports",
    696         .cmd        = hmp_rocker_ports,
    697     },
    698 
    699 SRST
    700   ``info rocker-ports`` *name*-ports
    701     Show rocker ports.
    702 ERST
    703 
    704     {
    705         .name       = "rocker-of-dpa-flows",
    706         .args_type  = "name:s,tbl_id:i?",
    707         .params     = "name [tbl_id]",
    708         .help       = "Show rocker OF-DPA flow tables",
    709         .cmd        = hmp_rocker_of_dpa_flows,
    710     },
    711 
    712 SRST
    713   ``info rocker-of-dpa-flows`` *name* [*tbl_id*]
    714     Show rocker OF-DPA flow tables.
    715 ERST
    716 
    717     {
    718         .name       = "rocker-of-dpa-groups",
    719         .args_type  = "name:s,type:i?",
    720         .params     = "name [type]",
    721         .help       = "Show rocker OF-DPA groups",
    722         .cmd        = hmp_rocker_of_dpa_groups,
    723     },
    724 
    725 SRST
    726   ``info rocker-of-dpa-groups`` *name* [*type*]
    727     Show rocker OF-DPA groups.
    728 ERST
    729 
    730 #if defined(TARGET_S390X)
    731     {
    732         .name       = "skeys",
    733         .args_type  = "addr:l",
    734         .params     = "address",
    735         .help       = "Display the value of a storage key",
    736         .cmd        = hmp_info_skeys,
    737     },
    738 #endif
    739 
    740 SRST
    741   ``info skeys`` *address*
    742     Display the value of a storage key (s390 only)
    743 ERST
    744 
    745 #if defined(TARGET_S390X)
    746     {
    747         .name       = "cmma",
    748         .args_type  = "addr:l,count:l?",
    749         .params     = "address [count]",
    750         .help       = "Display the values of the CMMA storage attributes for a range of pages",
    751         .cmd        = hmp_info_cmma,
    752     },
    753 #endif
    754 
    755 SRST
    756   ``info cmma`` *address*
    757     Display the values of the CMMA storage attributes for a range of
    758     pages (s390 only)
    759 ERST
    760 
    761     {
    762         .name       = "dump",
    763         .args_type  = "",
    764         .params     = "",
    765         .help       = "Display the latest dump status",
    766         .cmd        = hmp_info_dump,
    767     },
    768 
    769 SRST
    770   ``info dump``
    771     Display the latest dump status.
    772 ERST
    773 
    774     {
    775         .name       = "ramblock",
    776         .args_type  = "",
    777         .params     = "",
    778         .help       = "Display system ramblock information",
    779         .cmd_info_hrt = qmp_x_query_ramblock,
    780     },
    781 
    782 SRST
    783   ``info ramblock``
    784     Dump all the ramblocks of the system.
    785 ERST
    786 
    787     {
    788         .name       = "hotpluggable-cpus",
    789         .args_type  = "",
    790         .params     = "",
    791         .help       = "Show information about hotpluggable CPUs",
    792         .cmd        = hmp_hotpluggable_cpus,
    793         .flags      = "p",
    794     },
    795 
    796 SRST
    797   ``info hotpluggable-cpus``
    798     Show information about hotpluggable CPUs
    799 ERST
    800 
    801     {
    802         .name       = "vm-generation-id",
    803         .args_type  = "",
    804         .params     = "",
    805         .help       = "Show Virtual Machine Generation ID",
    806         .cmd = hmp_info_vm_generation_id,
    807     },
    808 
    809 SRST
    810   ``info vm-generation-id``
    811     Show Virtual Machine Generation ID
    812 ERST
    813 
    814     {
    815         .name       = "memory_size_summary",
    816         .args_type  = "",
    817         .params     = "",
    818         .help       = "show the amount of initially allocated and "
    819                       "present hotpluggable (if enabled) memory in bytes.",
    820         .cmd        = hmp_info_memory_size_summary,
    821     },
    822 
    823 SRST
    824   ``info memory_size_summary``
    825     Display the amount of initially allocated and present hotpluggable (if
    826     enabled) memory in bytes.
    827 ERST
    828 
    829 #if defined(TARGET_I386)
    830     {
    831         .name       = "sev",
    832         .args_type  = "",
    833         .params     = "",
    834         .help       = "show SEV information",
    835         .cmd        = hmp_info_sev,
    836     },
    837 #endif
    838 
    839 SRST
    840   ``info sev``
    841     Show SEV information.
    842 ERST
    843 
    844     {
    845         .name       = "replay",
    846         .args_type  = "",
    847         .params     = "",
    848         .help       = "show record/replay information",
    849         .cmd        = hmp_info_replay,
    850     },
    851 
    852 SRST
    853   ``info replay``
    854     Display the record/replay information: mode and the current icount.
    855 ERST
    856 
    857     {
    858         .name       = "dirty_rate",
    859         .args_type  = "",
    860         .params     = "",
    861         .help       = "show dirty rate information",
    862         .cmd        = hmp_info_dirty_rate,
    863     },
    864 
    865 SRST
    866   ``info dirty_rate``
    867     Display the vcpu dirty rate information.
    868 ERST
    869 
    870     {
    871         .name       = "vcpu_dirty_limit",
    872         .args_type  = "",
    873         .params     = "",
    874         .help       = "show dirty page limit information of all vCPU",
    875         .cmd        = hmp_info_vcpu_dirty_limit,
    876     },
    877 
    878 SRST
    879   ``info vcpu_dirty_limit``
    880     Display the vcpu dirty page limit information.
    881 ERST
    882 
    883 #if defined(TARGET_I386)
    884     {
    885         .name       = "sgx",
    886         .args_type  = "",
    887         .params     = "",
    888         .help       = "show intel SGX information",
    889         .cmd        = hmp_info_sgx,
    890     },
    891 #endif
    892 
    893 SRST
    894   ``info sgx``
    895     Show intel SGX information.
    896 ERST
    897 
    898 #if defined(CONFIG_MOS6522)
    899     {
    900         .name         = "via",
    901         .args_type    = "",
    902         .params       = "",
    903         .help         = "show guest mos6522 VIA devices",
    904         .cmd          = hmp_info_via,
    905     },
    906 #endif
    907 
    908 SRST
    909   ``info via``
    910     Show guest mos6522 VIA devices.
    911 ERST
    912 
    913     {
    914         .name       = "stats",
    915         .args_type  = "target:s,names:s?,provider:s?",
    916         .params     = "target [names] [provider]",
    917         .help       = "show statistics for the given target (vm or vcpu); optionally filter by"
    918                       "name (comma-separated list, or * for all) and provider",
    919         .cmd        = hmp_info_stats,
    920     },
    921 
    922 SRST
    923   ``stats``
    924     Show runtime-collected statistics
    925 ERST
    926 
    927     {
    928         .name      = "virtio",
    929         .args_type = "",
    930         .params    = "",
    931         .help      = "List all available virtio devices",
    932         .cmd       = hmp_virtio_query,
    933         .flags     = "p",
    934     },
    935 
    936 SRST
    937   ``info virtio``
    938     List all available virtio devices
    939 ERST
    940 
    941     {
    942         .name      = "virtio-status",
    943         .args_type = "path:s",
    944         .params    = "path",
    945         .help      = "Display status of a given virtio device",
    946         .cmd       = hmp_virtio_status,
    947         .flags     = "p",
    948     },
    949 
    950 SRST
    951   ``info virtio-status`` *path*
    952     Display status of a given virtio device
    953 ERST
    954 
    955     {
    956         .name      = "virtio-queue-status",
    957         .args_type = "path:s,queue:i",
    958         .params    = "path queue",
    959         .help      = "Display status of a given virtio queue",
    960         .cmd       = hmp_virtio_queue_status,
    961         .flags     = "p",
    962     },
    963 
    964 SRST
    965   ``info virtio-queue-status`` *path* *queue*
    966     Display status of a given virtio queue
    967 ERST
    968 
    969     {
    970         .name      = "virtio-vhost-queue-status",
    971         .args_type = "path:s,queue:i",
    972         .params    = "path queue",
    973         .help      = "Display status of a given vhost queue",
    974         .cmd       = hmp_vhost_queue_status,
    975         .flags     = "p",
    976     },
    977 
    978 SRST
    979   ``info virtio-vhost-queue-status`` *path* *queue*
    980     Display status of a given vhost queue
    981 ERST
    982 
    983     {
    984         .name       = "virtio-queue-element",
    985         .args_type  = "path:s,queue:i,index:i?",
    986         .params     = "path queue [index]",
    987         .help       = "Display element of a given virtio queue",
    988         .cmd        = hmp_virtio_queue_element,
    989         .flags      = "p",
    990     },
    991 
    992 SRST
    993   ``info virtio-queue-element`` *path* *queue* [*index*]
    994     Display element of a given virtio queue
    995 ERST