2015-09-10 23:38:58 +08:00
|
|
|
HXCOMM Use DEFHEADING() to define headings in both help text and texi
|
|
|
|
HXCOMM Text between STEXI and ETEXI are copied to texi version and
|
|
|
|
HXCOMM discarded from C version
|
|
|
|
HXCOMM DEF(command, args, callback, arg_string, help) is used to construct
|
|
|
|
HXCOMM monitor info commands
|
|
|
|
HXCOMM HXCOMM can be used for comments, discarded from both texi and C
|
2020-02-28 23:36:07 +08:00
|
|
|
HXCOMM
|
|
|
|
HXCOMM In this file, generally SRST fragments should have two extra
|
|
|
|
HXCOMM spaces of indent, so that the documentation list item for "info foo"
|
|
|
|
HXCOMM appears inside the documentation list item for the top level
|
|
|
|
HXCOMM "info" documentation entry. The exception is the first SRST
|
|
|
|
HXCOMM fragment that defines that top level entry.
|
2015-09-10 23:38:58 +08:00
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info`` *subcommand*
|
|
|
|
Show various information about the system state.
|
|
|
|
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "version",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show the version of QEMU",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_version,
|
2018-06-20 23:39:45 +08:00
|
|
|
.flags = "p",
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info version``
|
|
|
|
Show the version of QEMU.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "network",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show the network state",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_network,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info network``
|
|
|
|
Show the network state.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "chardev",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show the character devices",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_chardev,
|
2018-06-20 23:39:45 +08:00
|
|
|
.flags = "p",
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info chardev``
|
|
|
|
Show the character devices.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "block",
|
|
|
|
.args_type = "nodes:-n,verbose:-v,device:B?",
|
|
|
|
.params = "[-n] [-v] [device]",
|
|
|
|
.help = "show info of one block device or all block devices "
|
|
|
|
"(-n: show named nodes; -v: show details)",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_block,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info block``
|
|
|
|
Show info of one block device or all block devices.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "blockstats",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show block device statistics",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_blockstats,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info blockstats``
|
|
|
|
Show block device statistics.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "block-jobs",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show progress of ongoing block device operations",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_block_jobs,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info block-jobs``
|
|
|
|
Show progress of ongoing block device operations.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "registers",
|
2017-06-08 13:41:16 +08:00
|
|
|
.args_type = "cpustate_all:-a",
|
|
|
|
.params = "[-a]",
|
|
|
|
.help = "show the cpu registers (-a: all - show register info for all cpus)",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_registers,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info registers``
|
|
|
|
Show the cpu registers.
|
|
|
|
ERST
|
2015-09-22 21:18:18 +08:00
|
|
|
|
|
|
|
#if defined(TARGET_I386)
|
|
|
|
{
|
|
|
|
.name = "lapic",
|
2017-07-26 14:18:37 +08:00
|
|
|
.args_type = "apic-id:i?",
|
|
|
|
.params = "[apic-id]",
|
|
|
|
.help = "show local apic state (apic-id: local apic to read, default is which of current CPU)",
|
|
|
|
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_local_apic,
|
2015-09-22 21:18:18 +08:00
|
|
|
},
|
|
|
|
#endif
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info lapic``
|
|
|
|
Show local APIC state
|
|
|
|
ERST
|
2015-09-22 21:18:20 +08:00
|
|
|
|
|
|
|
#if defined(TARGET_I386)
|
|
|
|
{
|
|
|
|
.name = "ioapic",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show io apic state",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_io_apic,
|
2015-09-22 21:18:20 +08:00
|
|
|
},
|
|
|
|
#endif
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info ioapic``
|
|
|
|
Show io APIC state
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "cpus",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show infos for each CPU",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_cpus,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info cpus``
|
|
|
|
Show infos for each CPU.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "history",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show the command line history",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_history,
|
2018-06-20 23:39:45 +08:00
|
|
|
.flags = "p",
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info history``
|
|
|
|
Show the command line history.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "irq",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show the interrupts statistics (if available)",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_irq,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info irq``
|
|
|
|
Show the interrupts statistics (if available).
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "pic",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
2016-09-27 04:23:28 +08:00
|
|
|
.help = "show PIC state",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_pic,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info pic``
|
|
|
|
Show PIC state.
|
|
|
|
ERST
|
2019-03-11 18:29:09 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "rdma",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show RDMA state",
|
|
|
|
.cmd = hmp_info_rdma,
|
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info rdma``
|
|
|
|
Show RDMA state.
|
|
|
|
ERST
|
2015-09-18 23:18:29 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "pci",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show PCI info",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_pci,
|
2015-09-18 23:18:29 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info pci``
|
|
|
|
Show PCI information.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
#if defined(TARGET_I386) || defined(TARGET_SH4) || defined(TARGET_SPARC) || \
|
2018-01-19 03:38:46 +08:00
|
|
|
defined(TARGET_PPC) || defined(TARGET_XTENSA) || defined(TARGET_M68K)
|
2015-09-10 23:38:58 +08:00
|
|
|
{
|
|
|
|
.name = "tlb",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show virtual to physical memory mappings",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_tlb,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
#endif
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info tlb``
|
|
|
|
Show virtual to physical memory mappings.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
2019-08-14 23:33:32 +08:00
|
|
|
#if defined(TARGET_I386) || defined(TARGET_RISCV)
|
2015-09-10 23:38:58 +08:00
|
|
|
{
|
|
|
|
.name = "mem",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show the active virtual memory mappings",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_mem,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
#endif
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info mem``
|
|
|
|
Show the active virtual memory mappings.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "mtree",
|
2018-06-04 11:25:11 +08:00
|
|
|
.args_type = "flatview:-f,dispatch_tree:-d,owner:-o",
|
|
|
|
.params = "[-f][-d][-o]",
|
2017-09-21 16:51:06 +08:00
|
|
|
.help = "show memory tree (-f: dump flat view for address spaces;"
|
2018-06-04 11:25:11 +08:00
|
|
|
"-d: dump dispatch tree, valid with -f only);"
|
|
|
|
"-o: dump region owners/parents",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_mtree,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info mtree``
|
|
|
|
Show memory tree.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
2012-09-17 19:42:41 +08:00
|
|
|
#if defined(CONFIG_TCG)
|
2015-09-10 23:38:58 +08:00
|
|
|
{
|
|
|
|
.name = "jit",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show dynamic compiler info",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_jit,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
2012-09-17 19:42:41 +08:00
|
|
|
#endif
|
2015-09-10 23:38:58 +08:00
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info jit``
|
|
|
|
Show dynamic compiler info.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
2012-09-17 19:42:41 +08:00
|
|
|
#if defined(CONFIG_TCG)
|
2015-09-10 23:38:58 +08:00
|
|
|
{
|
|
|
|
.name = "opcount",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show dynamic compiler opcode counters",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_opcount,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
2012-09-17 19:42:41 +08:00
|
|
|
#endif
|
2015-09-10 23:38:58 +08:00
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info opcount``
|
|
|
|
Show dynamic compiler opcode counters
|
|
|
|
ERST
|
2017-08-09 01:54:42 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "sync-profile",
|
|
|
|
.args_type = "mean:-m,no_coalesce:-n,max:i?",
|
|
|
|
.params = "[-m] [-n] [max]",
|
|
|
|
.help = "show synchronization profiling info, up to max entries "
|
|
|
|
"(default: 10), sorted by total wait time. (-m: sort by "
|
|
|
|
"mean wait time; -n: do not coalesce objects with the "
|
|
|
|
"same call site)",
|
|
|
|
.cmd = hmp_info_sync_profile,
|
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info sync-profile [-m|-n]`` [*max*]
|
|
|
|
Show synchronization profiling info, up to *max* entries (default: 10),
|
|
|
|
sorted by total wait time.
|
|
|
|
|
|
|
|
``-m``
|
|
|
|
sort by mean wait time
|
|
|
|
``-n``
|
|
|
|
do not coalesce objects with the same call site
|
|
|
|
|
|
|
|
When different objects that share the same call site are coalesced,
|
|
|
|
the "Object" field shows---enclosed in brackets---the number of objects
|
|
|
|
being coalesced.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "kvm",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show KVM information",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_kvm,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info kvm``
|
|
|
|
Show KVM information.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "numa",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show NUMA information",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_numa,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info numa``
|
|
|
|
Show NUMA information.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "usb",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show guest USB devices",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_usb,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info usb``
|
|
|
|
Show guest USB devices.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "usbhost",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show host USB devices",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_usbhost,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info usbhost``
|
|
|
|
Show host USB devices.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "profile",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show profiling information",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_profile,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info profile``
|
|
|
|
Show profiling information.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "capture",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show capture information",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_capture,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info capture``
|
|
|
|
Show capture information.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "snapshots",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show the currently saved VM snapshots",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_snapshots,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info snapshots``
|
|
|
|
Show the currently saved VM snapshots.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "status",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show the current VM status (running|paused)",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_status,
|
2018-06-20 23:39:45 +08:00
|
|
|
.flags = "p",
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info status``
|
|
|
|
Show the current VM status (running|paused).
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "mice",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show which guest mouse is receiving events",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_mice,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info mice``
|
|
|
|
Show which guest mouse is receiving events.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
qapi: add conditions to VNC type/commands/events on the schema
Add #if defined(CONFIG_VNC) in generated code, and adjust the
qmp/hmp code accordingly.
query-qmp-schema no longer reports the command/events etc as
available when disabled at compile.
Commands made conditional:
* query-vnc, query-vnc-servers, change-vnc-password
Before the patch, the commands for !CONFIG_VNC are stubs that fail
like this:
{"error": {"class": "GenericError",
"desc": "The feature 'vnc' is not enabled"}}
Afterwards, they fail like this:
{"error": {"class": "CommandNotFound",
"desc": "The command FOO has not been found"}}
I call that an improvement, because it lets clients distinguish
between command unavailable (class CommandNotFound) and command failed
(class GenericError).
Events made conditional:
* VNC_CONNECTED, VNC_INITIALIZED, VNC_DISCONNECTED
HMP change:
* info vnc
Will return "unknown command: 'info vnc'" when VNC is compiled
out (same as error for spice when --disable-spice)
Occurrences of VNC (case insensitive) in the schema that aren't
covered by this change:
* add_client
Command has other uses, including "socket bases character devices".
These are unconditional as far as I can tell.
* set_password, expire_password
In theory, these commands could be used for managing any service's
password. In practice, they're used for VNC and SPICE services.
They're documented for "remote display session" / "remote display
server".
The service is selected by argument @protocol. The code special-cases
protocol-specific argument checking, then calls a protocol-specific
function to do the work. If it fails, the command fails with "Could
not set password". It does when the service isn't compiled in (it's a
stub then).
We could make these commands conditional on the conjunction of all
services [currently: defined(CONFIG_VNC) || defined(CONFIG_SPICE)],
but I doubt it's worthwhile.
* change
Command has other uses, namely changing media.
This patch inlines a stub; no functional change.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20180703155648.11933-14-marcandre.lureau@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
2018-07-03 23:56:47 +08:00
|
|
|
#if defined(CONFIG_VNC)
|
2015-09-10 23:38:58 +08:00
|
|
|
{
|
|
|
|
.name = "vnc",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show the vnc server status",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_vnc,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
qapi: add conditions to VNC type/commands/events on the schema
Add #if defined(CONFIG_VNC) in generated code, and adjust the
qmp/hmp code accordingly.
query-qmp-schema no longer reports the command/events etc as
available when disabled at compile.
Commands made conditional:
* query-vnc, query-vnc-servers, change-vnc-password
Before the patch, the commands for !CONFIG_VNC are stubs that fail
like this:
{"error": {"class": "GenericError",
"desc": "The feature 'vnc' is not enabled"}}
Afterwards, they fail like this:
{"error": {"class": "CommandNotFound",
"desc": "The command FOO has not been found"}}
I call that an improvement, because it lets clients distinguish
between command unavailable (class CommandNotFound) and command failed
(class GenericError).
Events made conditional:
* VNC_CONNECTED, VNC_INITIALIZED, VNC_DISCONNECTED
HMP change:
* info vnc
Will return "unknown command: 'info vnc'" when VNC is compiled
out (same as error for spice when --disable-spice)
Occurrences of VNC (case insensitive) in the schema that aren't
covered by this change:
* add_client
Command has other uses, including "socket bases character devices".
These are unconditional as far as I can tell.
* set_password, expire_password
In theory, these commands could be used for managing any service's
password. In practice, they're used for VNC and SPICE services.
They're documented for "remote display session" / "remote display
server".
The service is selected by argument @protocol. The code special-cases
protocol-specific argument checking, then calls a protocol-specific
function to do the work. If it fails, the command fails with "Could
not set password". It does when the service isn't compiled in (it's a
stub then).
We could make these commands conditional on the conjunction of all
services [currently: defined(CONFIG_VNC) || defined(CONFIG_SPICE)],
but I doubt it's worthwhile.
* change
Command has other uses, namely changing media.
This patch inlines a stub; no functional change.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20180703155648.11933-14-marcandre.lureau@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
2018-07-03 23:56:47 +08:00
|
|
|
#endif
|
2015-09-10 23:38:58 +08:00
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info vnc``
|
|
|
|
Show the vnc server status.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
#if defined(CONFIG_SPICE)
|
|
|
|
{
|
|
|
|
.name = "spice",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show the spice server status",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_spice,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
#endif
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info spice``
|
|
|
|
Show the spice server status.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "name",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show the current VM name",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_name,
|
2018-06-20 23:39:45 +08:00
|
|
|
.flags = "p",
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info name``
|
|
|
|
Show the current VM name.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "uuid",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show the current VM UUID",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_uuid,
|
2018-06-20 23:39:45 +08:00
|
|
|
.flags = "p",
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info uuid``
|
|
|
|
Show the current VM UUID.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "cpustats",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show CPU statistics",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_cpustats,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info cpustats``
|
|
|
|
Show CPU statistics.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
#if defined(CONFIG_SLIRP)
|
|
|
|
{
|
|
|
|
.name = "usernet",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show user network stack connection states",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_usernet,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
#endif
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info usernet``
|
|
|
|
Show user network stack connection states.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "migrate",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show migration status",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_migrate,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info migrate``
|
|
|
|
Show migration status.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "migrate_capabilities",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show current migration capabilities",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_migrate_capabilities,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info migrate_capabilities``
|
|
|
|
Show current migration capabilities.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "migrate_parameters",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show current migration parameters",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_migrate_parameters,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info migrate_parameters``
|
|
|
|
Show current migration parameters.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "migrate_cache_size",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show current migration xbzrle cache size",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_migrate_cache_size,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info migrate_cache_size``
|
|
|
|
Show current migration xbzrle cache size.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "balloon",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show balloon information",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_balloon,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info balloon``
|
|
|
|
Show balloon information.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "qtree",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show device tree",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_qtree,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info qtree``
|
|
|
|
Show device tree.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "qdm",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show qdev device model list",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_qdm,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info qdm``
|
|
|
|
Show qdev device model list.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "qom-tree",
|
|
|
|
.args_type = "path:s?",
|
|
|
|
.params = "[path]",
|
|
|
|
.help = "show QOM composition tree",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_qom_tree,
|
2018-06-20 23:39:45 +08:00
|
|
|
.flags = "p",
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info qom-tree``
|
|
|
|
Show QOM composition tree.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "roms",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show roms",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_roms,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info roms``
|
|
|
|
Show roms.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "trace-events",
|
2016-07-11 18:53:57 +08:00
|
|
|
.args_type = "name:s?,vcpu:i?",
|
|
|
|
.params = "[name] [vcpu]",
|
2016-07-11 18:53:51 +08:00
|
|
|
.help = "show available trace-events & their state "
|
2016-07-11 18:53:57 +08:00
|
|
|
"(name: event name pattern; vcpu: vCPU to query, default is any)",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_trace_events,
|
2016-07-11 18:53:51 +08:00
|
|
|
.command_completion = info_trace_events_completion,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info trace-events``
|
|
|
|
Show available trace-events & their state.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "tpm",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show the TPM device",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_tpm,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info tpm``
|
|
|
|
Show the TPM device.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "memdev",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show memory backends",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_memdev,
|
2018-06-20 23:39:45 +08:00
|
|
|
.flags = "p",
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info memdev``
|
|
|
|
Show memory backends
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "memory-devices",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show memory devices",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_memory_devices,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info memory-devices``
|
|
|
|
Show memory devices.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "iothreads",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show iothreads",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_iothreads,
|
2018-06-20 23:39:45 +08:00
|
|
|
.flags = "p",
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info iothreads``
|
|
|
|
Show iothread's identifiers.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "rocker",
|
|
|
|
.args_type = "name:s",
|
|
|
|
.params = "name",
|
|
|
|
.help = "Show rocker switch",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_rocker,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info rocker`` *name*
|
|
|
|
Show rocker switch.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "rocker-ports",
|
|
|
|
.args_type = "name:s",
|
|
|
|
.params = "name",
|
|
|
|
.help = "Show rocker ports",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_rocker_ports,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info rocker-ports`` *name*-ports
|
|
|
|
Show rocker ports.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "rocker-of-dpa-flows",
|
|
|
|
.args_type = "name:s,tbl_id:i?",
|
|
|
|
.params = "name [tbl_id]",
|
|
|
|
.help = "Show rocker OF-DPA flow tables",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_rocker_of_dpa_flows,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info rocker-of-dpa-flows`` *name* [*tbl_id*]
|
|
|
|
Show rocker OF-DPA flow tables.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "rocker-of-dpa-groups",
|
|
|
|
.args_type = "name:s,type:i?",
|
|
|
|
.params = "name [type]",
|
|
|
|
.help = "Show rocker OF-DPA groups",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_rocker_of_dpa_groups,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info rocker-of-dpa-groups`` *name* [*type*]
|
|
|
|
Show rocker OF-DPA groups.
|
|
|
|
ERST
|
2015-09-10 23:38:58 +08:00
|
|
|
|
|
|
|
#if defined(TARGET_S390X)
|
|
|
|
{
|
|
|
|
.name = "skeys",
|
|
|
|
.args_type = "addr:l",
|
|
|
|
.params = "address",
|
|
|
|
.help = "Display the value of a storage key",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_skeys,
|
2015-09-10 23:38:58 +08:00
|
|
|
},
|
|
|
|
#endif
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info skeys`` *address*
|
|
|
|
Display the value of a storage key (s390 only)
|
|
|
|
ERST
|
2016-08-16 00:44:04 +08:00
|
|
|
|
|
|
|
#if defined(TARGET_S390X)
|
|
|
|
{
|
|
|
|
.name = "cmma",
|
|
|
|
.args_type = "addr:l,count:l?",
|
|
|
|
.params = "address [count]",
|
|
|
|
.help = "Display the values of the CMMA storage attributes for a range of pages",
|
|
|
|
.cmd = hmp_info_cmma,
|
|
|
|
},
|
|
|
|
#endif
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info cmma`` *address*
|
|
|
|
Display the values of the CMMA storage attributes for a range of
|
|
|
|
pages (s390 only)
|
|
|
|
ERST
|
2016-02-18 13:16:55 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "dump",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "Display the latest dump status",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_info_dump,
|
2016-02-18 13:16:55 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info dump``
|
|
|
|
Display the latest dump status.
|
|
|
|
ERST
|
2017-05-12 12:17:41 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "ramblock",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "Display system ramblock information",
|
|
|
|
.cmd = hmp_info_ramblock,
|
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info ramblock``
|
|
|
|
Dump all the ramblocks of the system.
|
|
|
|
ERST
|
2016-06-10 08:59:07 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "hotpluggable-cpus",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "Show information about hotpluggable CPUs",
|
2016-09-12 17:19:06 +08:00
|
|
|
.cmd = hmp_hotpluggable_cpus,
|
2018-06-20 23:39:45 +08:00
|
|
|
.flags = "p",
|
2016-06-10 08:59:07 +08:00
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info hotpluggable-cpus``
|
|
|
|
Show information about hotpluggable CPUs
|
|
|
|
ERST
|
2017-02-17 07:15:37 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "vm-generation-id",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "Show Virtual Machine Generation ID",
|
|
|
|
.cmd = hmp_info_vm_generation_id,
|
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info vm-generation-id``
|
|
|
|
Show Virtual Machine Generation ID
|
|
|
|
ERST
|
2017-08-29 23:30:22 +08:00
|
|
|
|
|
|
|
{
|
|
|
|
.name = "memory_size_summary",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show the amount of initially allocated and "
|
|
|
|
"present hotpluggable (if enabled) memory in bytes.",
|
|
|
|
.cmd = hmp_info_memory_size_summary,
|
|
|
|
},
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info memory_size_summary``
|
|
|
|
Display the amount of initially allocated and present hotpluggable (if
|
|
|
|
enabled) memory in bytes.
|
|
|
|
ERST
|
2017-10-02 21:45:37 +08:00
|
|
|
|
2018-03-08 20:48:47 +08:00
|
|
|
#if defined(TARGET_I386)
|
|
|
|
{
|
|
|
|
.name = "sev",
|
|
|
|
.args_type = "",
|
|
|
|
.params = "",
|
|
|
|
.help = "show SEV information",
|
|
|
|
.cmd = hmp_info_sev,
|
|
|
|
},
|
|
|
|
#endif
|
|
|
|
|
2020-02-28 23:36:07 +08:00
|
|
|
SRST
|
|
|
|
``info sev``
|
|
|
|
Show SEV information.
|
|
|
|
ERST
|
2018-03-08 20:48:47 +08:00
|
|
|
|
2015-09-10 23:39:01 +08:00
|
|
|
|