[libvirt] [PATCH 0/9] Qemu: s390: Cpu Model Support

This patch set enables cpu model support for s390. The user can now set exact cpu models, query supported models via virsh domcapabilities, and use host-model and host-passthrough modes. The end result is that migration is safer because Qemu will perform runnability checking on the destination host and quit with an error if the guest's cpu model is not supported. Note: Some test data has been separated from corresponding test case updates for ease of review. Changelog --------- [v3] s390: Cpu driver support for update and compare - Fixed indentation of error message in virCPUs390Update test-data: Qemu caps replies and xml for s390x qemu 2.7 and 2.8 - Moved this patch before introduction of query-cpu-model-expansion - Regenerated all test data tests: domain capabilities: qemu 2.7 and 2.8 on s390x - Added Qemu 2.7 test - Removed fake host model name - Moved this patch before introduction of query-cpu-model-expansion tests: qemu capabilites: qemu 2.7 and 2.8 on s390x - Moved this patch before introduction of query-cpu-model-expansion - Stop using fake host cpu qemu: qmp query-cpu-model-expansion command - Moved query-cpu-model-expansion capability to this patch - changed label "cleanup" to "error" in qemuMonitorCPUModelInfoCopy - qemuMonitorJSONParseCPUModelProperty is now static, and also made appropriate changes when passing a boolean to virJSONValueGetBoolean - removed unnecessary error checking when assigning "data" variable in qemuMonitorJSONGetCPUModelExpansion - Fix up capabilities test data to reflect changes from this commit - fixed query-cpu-model-expansion's enumeration formatting qemu-caps: Get host model directly from Qemu when available - Moved query-cpu-model-expansion capability from this patch - virQEMUCapsCopyCPUModelFromQEMU is now static and type void - check for native guest is done before attempting to set host CPU - s390x no longer falls back to getting host CPU model from the host if it cannot be retrieved from QEMU - fixed unnecessary intialization of some variables that were introduced in v2 of these patches - virQEMUCapsLoadHostCPUModelInfo now first allocates data into a qemuMonitorCPUModelInfoPtr before assigning it to appropriate qemuCaps field - if we do not have QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION available, skip trying to read the hostCPU portion of the qemu cache file - all hostCPU element parsing is handled in its entirety within function virQEMUCapsLoadHostCPUModelInfo - Fix up capabilities test data to reflect changes from this commit qemu: command: Support new cpu feature argument syntax - Add error message for case where s390 guest attempts to use cpu features on older qemu. - Combined the tests into this commit - Now tests s390 cpu features both with and without query-cpu-model-expansion [v2] * Added s390x cpu and capabilities tests * Added cpu feature syntax tests * Dropped patch: Warn when migrating host-passthrough * Added patch: Document migrating host-passthrough is dangerous s390: Cpu driver support for update and compare - Compare: Added comment explaining why s390 bypasses the cpuCompare operation - Update: Added error message explaining minimum match mode is not supported - Update: Ensure user is not using unsupported optional feature policy - Update: Use virCPUDefUpdateFeature to update/create user requested features - Other minor fixes s390-cpu: Remove nodeData and decode - Completely remove nodeData and decode functions qemu: qmp query-cpu-model-expansion command - Cleaned up debug print - Restructured qemuMonitorJSONGetCPUModelExpansion - Added more JSON parsing error handling - CPU model features now parsed via an iterator - qemuMonitorJSONGetCPUModelExpansion: Fixed double free of model ptr - Restructure qemuMonitorCPUModelInfoFree - Other minor fixes qemu-caps: Get host model directly from Qemu when available - virQEMUCapsProbeQMPHostCPU: indentation fix - Fixed rebase error involving a missing 'goto cleanup;'. - Fix indentation in virQEMUCapsProbeQMPHostCPU - virQEMUCapsInitHostCPUModel now routes to virQEMUCapsCopyModelFromQEMU or virQEMUCapsCopyModelFromHost, depending on architecture. - Restructure hostCpu data in qemu caps cache xml - Other minor fixes Collin L. Walling (5): test-data: Qemu caps replies and xml for s390x qemu 2.7 and 2.8 tests: domain capabilities: qemu 2.7 and 2.8 on s390x tests: qemu capabilites: qemu 2.7 and 2.8 on s390x qemu: qmp query-cpu-model-expansion command qemu: command: Support new cpu feature argument syntax Jason J. Herne (4): s390: Cpu driver support for update and compare s390-cpu: Remove nodeData and decode qemu-caps: Get host model directly from Qemu when available tests: qemuxml2argv s390x cpu model po/POTFILES.in | 1 + src/cpu/cpu_s390.c | 103 +- src/qemu/qemu_capabilities.c | 190 +- src/qemu/qemu_capabilities.h | 3 + src/qemu/qemu_command.c | 18 +- src/qemu/qemu_monitor.c | 62 + src/qemu/qemu_monitor.h | 22 + src/qemu/qemu_monitor_json.c | 117 + src/qemu/qemu_monitor_json.h | 6 + tests/domaincapsschemadata/qemu_2.7.0.s390x.xml | 78 + tests/domaincapsschemadata/qemu_2.8.0.s390x.xml | 159 + tests/domaincapstest.c | 18 + .../qemucapabilitiesdata/caps_2.7.0.s390x.replies | 11999 +++++++++++++++++ tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml | 140 + .../qemucapabilitiesdata/caps_2.8.0.s390x.replies | 13380 +++++++++++++++++++ tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml | 286 + tests/qemucapabilitiestest.c | 2 + .../qemuxml2argv-cpu-s390-features.args | 19 + .../qemuxml2argv-cpu-s390-features.xml | 23 + .../qemuxml2argv-cpu-s390-zEC12.args | 19 + .../qemuxml2argv-cpu-s390-zEC12.xml | 21 + tests/qemuxml2argvtest.c | 14 + 22 files changed, 26638 insertions(+), 42 deletions(-) create mode 100644 tests/domaincapsschemadata/qemu_2.7.0.s390x.xml create mode 100644 tests/domaincapsschemadata/qemu_2.8.0.s390x.xml create mode 100644 tests/qemucapabilitiesdata/caps_2.7.0.s390x.replies create mode 100644 tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml create mode 100644 tests/qemucapabilitiesdata/caps_2.8.0.s390x.replies create mode 100644 tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-s390-features.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-s390-features.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-s390-zEC12.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-s390-zEC12.xml -- 2.7.4

Implement compare for s390. Required to test the guest against the host for guest cpu model runnability checking. We always return IDENTICAL to bypass Libvirt's checking. s390 will rely on Qemu to perform the runnability checking. Implement update for s390. required to support use of cpu "host-model" mode. Signed-off-by: Jason J. Herne <jjherne@linux.vnet.ibm.com> Acked-by: Jiri Denemark <jdenemar@redhat.com> --- po/POTFILES.in | 1 + src/cpu/cpu_s390.c | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 72 insertions(+), 2 deletions(-) diff --git a/po/POTFILES.in b/po/POTFILES.in index e66bb7a..59efd91 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -46,6 +46,7 @@ src/cpu/cpu.c src/cpu/cpu_arm.c src/cpu/cpu_map.c src/cpu/cpu_ppc64.c +src/cpu/cpu_s390.c src/cpu/cpu_x86.c src/datatypes.c src/driver.c diff --git a/src/cpu/cpu_s390.c b/src/cpu/cpu_s390.c index 04a6bea..bdc9ab5 100644 --- a/src/cpu/cpu_s390.c +++ b/src/cpu/cpu_s390.c @@ -71,15 +71,84 @@ s390DataFree(virCPUDataPtr data) VIR_FREE(data); } +static virCPUCompareResult +virCPUs390Compare(virCPUDefPtr host ATTRIBUTE_UNUSED, + virCPUDefPtr cpu ATTRIBUTE_UNUSED, + bool failMessages ATTRIBUTE_UNUSED) +{ + /* s390 relies on Qemu to perform all runability checking. Return + * VIR_CPU_COMPARE_IDENTICAL to bypass Libvirt checking. + */ + return VIR_CPU_COMPARE_IDENTICAL; +} + +static int +virCPUs390Update(virCPUDefPtr guest, + const virCPUDef *host) +{ + virCPUDefPtr updated = NULL; + int ret = -1; + size_t i; + + if (guest->match == VIR_CPU_MATCH_MINIMUM) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("match mode %s not supported"), + virCPUMatchTypeToString(guest->match)); + goto cleanup; + } + + if (guest->mode != VIR_CPU_MODE_HOST_MODEL) { + ret = 0; + goto cleanup; + } + + if (!host) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("unknown host CPU model")); + goto cleanup; + } + + if (!(updated = virCPUDefCopyWithoutModel(guest))) + goto cleanup; + + updated->mode = VIR_CPU_MODE_CUSTOM; + if (virCPUDefCopyModel(updated, host, true) < 0) + goto cleanup; + + for (i = 0; i < guest->nfeatures; i++) { + if (guest->features[i].policy == VIR_CPU_FEATURE_OPTIONAL) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("only cpu feature policies 'require' and " + "'disable' are supported for %s"), + guest->features[i].name); + goto cleanup; + } + + if (virCPUDefUpdateFeature(updated, + guest->features[i].name, + guest->features[i].policy) < 0) + goto cleanup; + } + + virCPUDefStealModel(guest, updated, false); + guest->mode = VIR_CPU_MODE_CUSTOM; + guest->match = VIR_CPU_MATCH_EXACT; + ret = 0; + + cleanup: + virCPUDefFree(updated); + return ret; +} + struct cpuArchDriver cpuDriverS390 = { .name = "s390", .arch = archs, .narch = ARRAY_CARDINALITY(archs), - .compare = NULL, + .compare = virCPUs390Compare, .decode = s390Decode, .encode = NULL, .free = s390DataFree, .nodeData = s390NodeData, .baseline = NULL, - .update = NULL, + .update = virCPUs390Update, }; -- 2.7.4

On Sun, Dec 18, 2016 at 14:22:21 -0500, Jason J. Herne wrote:
Implement compare for s390. Required to test the guest against the host for guest cpu model runnability checking. We always return IDENTICAL to bypass Libvirt's checking. s390 will rely on Qemu to perform the runnability checking.
Implement update for s390. required to support use of cpu "host-model" mode.
Signed-off-by: Jason J. Herne <jjherne@linux.vnet.ibm.com> Acked-by: Jiri Denemark <jdenemar@redhat.com> ... diff --git a/src/cpu/cpu_s390.c b/src/cpu/cpu_s390.c index 04a6bea..bdc9ab5 100644 --- a/src/cpu/cpu_s390.c +++ b/src/cpu/cpu_s390.c @@ -71,15 +71,84 @@ s390DataFree(virCPUDataPtr data) ... +static int +virCPUs390Update(virCPUDefPtr guest, + const virCPUDef *host) +{ ... + updated->mode = VIR_CPU_MODE_CUSTOM; + if (virCPUDefCopyModel(updated, host, true) < 0) + goto cleanup; + + for (i = 0; i < guest->nfeatures; i++) { + if (guest->features[i].policy == VIR_CPU_FEATURE_OPTIONAL) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("only cpu feature policies 'require' and " + "'disable' are supported for %s"),
s/"/ "/ still applies. ACK Jirka

On s390, the host's features are heavily influenced by not only the host hardware but also by hardware microcode level, host OS version, qemu version and kvm version. In this environment it does not make sense to attempt to report exact host details. Signed-off-by: Jason J. Herne <jjherne@linux.vnet.ibm.com> Acked-by: Jiri Denemark <jdenemar@redhat.com> --- src/cpu/cpu_s390.c | 36 ++---------------------------------- 1 file changed, 2 insertions(+), 34 deletions(-) diff --git a/src/cpu/cpu_s390.c b/src/cpu/cpu_s390.c index bdc9ab5..d1670a9 100644 --- a/src/cpu/cpu_s390.c +++ b/src/cpu/cpu_s390.c @@ -33,38 +33,6 @@ static const virArch archs[] = { VIR_ARCH_S390, VIR_ARCH_S390X }; -static virCPUDataPtr -s390NodeData(virArch arch) -{ - virCPUDataPtr data; - - if (VIR_ALLOC(data) < 0) - return NULL; - - data->arch = arch; - - return data; -} - - -static int -s390Decode(virCPUDefPtr cpu, - const virCPUData *data ATTRIBUTE_UNUSED, - const char **models ATTRIBUTE_UNUSED, - unsigned int nmodels ATTRIBUTE_UNUSED, - const char *preferred ATTRIBUTE_UNUSED, - unsigned int flags) -{ - - virCheckFlags(VIR_CONNECT_BASELINE_CPU_EXPAND_FEATURES, -1); - - if (cpu->model == NULL && - VIR_STRDUP(cpu->model, "host") < 0) - return -1; - - return 0; -} - static void s390DataFree(virCPUDataPtr data) { @@ -145,10 +113,10 @@ struct cpuArchDriver cpuDriverS390 = { .arch = archs, .narch = ARRAY_CARDINALITY(archs), .compare = virCPUs390Compare, - .decode = s390Decode, + .decode = NULL, .encode = NULL, .free = s390DataFree, - .nodeData = s390NodeData, + .nodeData = NULL, .baseline = NULL, .update = virCPUs390Update, }; -- 2.7.4

From: "Collin L. Walling" <walling@linux.vnet.ibm.com> Expected Qemu replies for versions 2.7 and 2.8 from the s390x Qemu binary. Signed-off-by: Collin L. Walling <walling@linux.vnet.ibm.com> Signed-off-by: Jason J. Herne <jjherne@linux.vnet.ibm.com> --- .../qemucapabilitiesdata/caps_2.7.0.s390x.replies | 11999 +++++++++++++++++ tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml | 140 + .../qemucapabilitiesdata/caps_2.8.0.s390x.replies | 13354 +++++++++++++++++++ tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml | 268 + 4 files changed, 25761 insertions(+) create mode 100644 tests/qemucapabilitiesdata/caps_2.7.0.s390x.replies create mode 100644 tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml create mode 100644 tests/qemucapabilitiesdata/caps_2.8.0.s390x.replies create mode 100644 tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml diff --git a/tests/qemucapabilitiesdata/caps_2.7.0.s390x.replies b/tests/qemucapabilitiesdata/caps_2.7.0.s390x.replies new file mode 100644 index 0000000..95f15c1 --- /dev/null +++ b/tests/qemucapabilitiesdata/caps_2.7.0.s390x.replies @@ -0,0 +1,11999 @@ +{ + "QMP": { + "version": { + "qemu": { + "micro": 0, + "minor": 7, + "major": 2 + }, + "package": "" + }, + "capabilities": [ + ] + } +} + +{ + "return": { + }, + "id": "libvirt-1" +} + +{ + "return": { + "qemu": { + "micro": 0, + "minor": 7, + "major": 2 + }, + "package": "" + }, + "id": "libvirt-2" +} + +{ + "return": { + "arch": "s390x" + }, + "id": "libvirt-3" +} + +{ + "return": [ + { + "name": "query-hotpluggable-cpus" + }, + { + "name": "query-rocker-of-dpa-groups" + }, + { + "name": "query-rocker-of-dpa-flows" + }, + { + "name": "query-rocker-ports" + }, + { + "name": "query-rocker" + }, + { + "name": "block-set-write-threshold" + }, + { + "name": "input-send-event" + }, + { + "name": "trace-event-set-state" + }, + { + "name": "trace-event-get-state" + }, + { + "name": "query-acpi-ospm-status" + }, + { + "name": "query-memory-devices" + }, + { + "name": "query-memdev" + }, + { + "name": "blockdev-change-medium" + }, + { + "name": "query-named-block-nodes" + }, + { + "name": "x-blockdev-change" + }, + { + "name": "x-blockdev-insert-medium" + }, + { + "name": "x-blockdev-remove-medium" + }, + { + "name": "blockdev-close-tray" + }, + { + "name": "blockdev-open-tray" + }, + { + "name": "x-blockdev-del" + }, + { + "name": "blockdev-add" + }, + { + "name": "query-rx-filter" + }, + { + "name": "chardev-remove" + }, + { + "name": "chardev-add" + }, + { + "name": "query-tpm-types" + }, + { + "name": "query-tpm-models" + }, + { + "name": "query-tpm" + }, + { + "name": "query-target" + }, + { + "name": "query-cpu-definitions" + }, + { + "name": "query-machines" + }, + { + "name": "device-list-properties" + }, + { + "name": "qom-list-types" + }, + { + "name": "change-vnc-password" + }, + { + "name": "nbd-server-stop" + }, + { + "name": "nbd-server-add" + }, + { + "name": "nbd-server-start" + }, + { + "name": "qom-get" + }, + { + "name": "qom-set" + }, + { + "name": "qom-list" + }, + { + "name": "query-block-jobs" + }, + { + "name": "query-balloon" + }, + { + "name": "query-migrate-parameters" + }, + { + "name": "migrate-set-parameters" + }, + { + "name": "query-migrate-capabilities" + }, + { + "name": "migrate-set-capabilities" + }, + { + "name": "query-migrate" + }, + { + "name": "query-command-line-options" + }, + { + "name": "query-uuid" + }, + { + "name": "query-name" + }, + { + "name": "query-vnc-servers" + }, + { + "name": "query-vnc" + }, + { + "name": "query-mice" + }, + { + "name": "query-status" + }, + { + "name": "query-kvm" + }, + { + "name": "query-pci" + }, + { + "name": "query-iothreads" + }, + { + "name": "query-cpus" + }, + { + "name": "query-blockstats" + }, + { + "name": "query-block" + }, + { + "name": "query-chardev-backends" + }, + { + "name": "query-chardev" + }, + { + "name": "query-qmp-schema" + }, + { + "name": "query-events" + }, + { + "name": "query-commands" + }, + { + "name": "query-version" + }, + { + "name": "human-monitor-command" + }, + { + "name": "qmp_capabilities" + }, + { + "name": "add_client" + }, + { + "name": "expire_password" + }, + { + "name": "set_password" + }, + { + "name": "block_set_io_throttle" + }, + { + "name": "block_passwd" + }, + { + "name": "query-fdsets" + }, + { + "name": "remove-fd" + }, + { + "name": "add-fd" + }, + { + "name": "closefd" + }, + { + "name": "getfd" + }, + { + "name": "set_link" + }, + { + "name": "balloon" + }, + { + "name": "change-backing-file" + }, + { + "name": "blockdev-mirror" + }, + { + "name": "drive-mirror" + }, + { + "name": "blockdev-snapshot-delete-internal-sync" + }, + { + "name": "blockdev-snapshot-internal-sync" + }, + { + "name": "blockdev-snapshot" + }, + { + "name": "blockdev-snapshot-sync" + }, + { + "name": "block-dirty-bitmap-clear" + }, + { + "name": "block-dirty-bitmap-remove" + }, + { + "name": "block-dirty-bitmap-add" + }, + { + "name": "transaction" + }, + { + "name": "block-job-complete" + }, + { + "name": "block-job-resume" + }, + { + "name": "block-job-pause" + }, + { + "name": "block-job-cancel" + }, + { + "name": "block-job-set-speed" + }, + { + "name": "blockdev-backup" + }, + { + "name": "drive-backup" + }, + { + "name": "block-commit" + }, + { + "name": "block-stream" + }, + { + "name": "block_resize" + }, + { + "name": "object-del" + }, + { + "name": "object-add" + }, + { + "name": "netdev_del" + }, + { + "name": "netdev_add" + }, + { + "name": "dump-skeys" + }, + { + "name": "query-dump" + }, + { + "name": "query-dump-guest-memory-capability" + }, + { + "name": "dump-guest-memory" + }, + { + "name": "client_migrate_info" + }, + { + "name": "migrate_set_downtime" + }, + { + "name": "migrate_set_speed" + }, + { + "name": "query-migrate-cache-size" + }, + { + "name": "migrate-start-postcopy" + }, + { + "name": "migrate-set-cache-size" + }, + { + "name": "migrate-incoming" + }, + { + "name": "migrate_cancel" + }, + { + "name": "migrate" + }, + { + "name": "xen-set-global-dirty-log" + }, + { + "name": "xen-load-devices-state" + }, + { + "name": "xen-save-devices-state" + }, + { + "name": "ringbuf-read" + }, + { + "name": "ringbuf-write" + }, + { + "name": "inject-nmi" + }, + { + "name": "pmemsave" + }, + { + "name": "memsave" + }, + { + "name": "cpu-add" + }, + { + "name": "cpu" + }, + { + "name": "send-key" + }, + { + "name": "device_del" + }, + { + "name": "device_add" + }, + { + "name": "system_powerdown" + }, + { + "name": "system_reset" + }, + { + "name": "system_wakeup" + }, + { + "name": "cont" + }, + { + "name": "stop" + }, + { + "name": "screendump" + }, + { + "name": "change" + }, + { + "name": "eject" + }, + { + "name": "quit" + } + ], + "id": "libvirt-4" +} + +{ + "return": { + "fd": 16, + "fdset-id": 0 + }, + "id": "libvirt-5" +} + +{ + "id": "libvirt-6", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'bogus' not found" + } +} + +{ + "return": { + "enabled": true, + "present": true + }, + "id": "libvirt-7" +} + +{ + "return": [ + { + "name": "WATCHDOG" + }, + { + "name": "WAKEUP" + }, + { + "name": "VSERPORT_CHANGE" + }, + { + "name": "VNC_INITIALIZED" + }, + { + "name": "VNC_DISCONNECTED" + }, + { + "name": "VNC_CONNECTED" + }, + { + "name": "SUSPEND_DISK" + }, + { + "name": "SUSPEND" + }, + { + "name": "STOP" + }, + { + "name": "SPICE_MIGRATE_COMPLETED" + }, + { + "name": "SPICE_INITIALIZED" + }, + { + "name": "SPICE_DISCONNECTED" + }, + { + "name": "SPICE_CONNECTED" + }, + { + "name": "SHUTDOWN" + }, + { + "name": "RTC_CHANGE" + }, + { + "name": "RESUME" + }, + { + "name": "RESET" + }, + { + "name": "QUORUM_REPORT_BAD" + }, + { + "name": "QUORUM_FAILURE" + }, + { + "name": "POWERDOWN" + }, + { + "name": "NIC_RX_FILTER_CHANGED" + }, + { + "name": "MIGRATION_PASS" + }, + { + "name": "MIGRATION" + }, + { + "name": "MEM_UNPLUG_ERROR" + }, + { + "name": "GUEST_PANICKED" + }, + { + "name": "DUMP_COMPLETED" + }, + { + "name": "DEVICE_TRAY_MOVED" + }, + { + "name": "DEVICE_DELETED" + }, + { + "name": "BLOCK_WRITE_THRESHOLD" + }, + { + "name": "BLOCK_JOB_READY" + }, + { + "name": "BLOCK_JOB_ERROR" + }, + { + "name": "BLOCK_JOB_COMPLETED" + }, + { + "name": "BLOCK_JOB_CANCELLED" + }, + { + "name": "BLOCK_IO_ERROR" + }, + { + "name": "BLOCK_IMAGE_CORRUPTED" + }, + { + "name": "BALLOON_CHANGE" + }, + { + "name": "ACPI_DEVICE_OST" + } + ], + "id": "libvirt-8" +} + +{ + "return": [ + { + "name": "tls-creds-anon" + }, + { + "name": "virtio-scsi-pci" + }, + { + "name": "virtio-tablet-pci" + }, + { + "name": "s390-skeys-qemu" + }, + { + "name": "qtest-accel" + }, + { + "name": "s390-cpu" + }, + { + "name": "s390-ipl" + }, + { + "name": "s390-flic-kvm" + }, + { + "name": "pxb-pcie-bus" + }, + { + "name": "filter-redirector" + }, + { + "name": "virtio-net-pci" + }, + { + "name": "user-creatable" + }, + { + "name": "virtio-keyboard-device" + }, + { + "name": "virtio-scsi-device" + }, + { + "name": "iothread" + }, + { + "name": "vfio-amd-xgbe" + }, + { + "name": "virtio-balloon-pci" + }, + { + "name": "s390-sclp-events-bus" + }, + { + "name": "isabus-bridge" + }, + { + "name": "i2c-bus" + }, + { + "name": "fw_cfg_io" + }, + { + "name": "virtio-input-host-device" + }, + { + "name": "pci-bridge" + }, + { + "name": "qio-channel-command" + }, + { + "name": "sclpconsole" + }, + { + "name": "qio-channel-tls" + }, + { + "name": "tcg-accel" + }, + { + "name": "smbus-eeprom" + }, + { + "name": "s390-pcibus" + }, + { + "name": "qemu:memory-region" + }, + { + "name": "vfio-calxeda-xgmac" + }, + { + "name": "input-linux" + }, + { + "name": "accel" + }, + { + "name": "virtio-blk-device" + }, + { + "name": "virtio-ccw-bus" + }, + { + "name": "fw_cfg_mem" + }, + { + "name": "fw-path-provider" + }, + { + "name": "kvm-accel" + }, + { + "name": "container" + }, + { + "name": "virtio-blk-ccw" + }, + { + "name": "vhost-scsi-ccw" + }, + { + "name": "vfio-pci" + }, + { + "name": "virtio-mmio" + }, + { + "name": "virtio-rng-pci" + }, + { + "name": "virtio-tablet-device" + }, + { + "name": "memory-backend-ram" + }, + { + "name": "vfio-pci-igd-lpc-bridge" + }, + { + "name": "filter-dump" + }, + { + "name": "secret" + }, + { + "name": "virtio-scsi-ccw" + }, + { + "name": "filter-buffer" + }, + { + "name": "virtio-net-ccw" + }, + { + "name": "qemu,register" + }, + { + "name": "zpci" + }, + { + "name": "virtio-gpu-pci" + }, + { + "name": "s390-flic" + }, + { + "name": "s390-ccw-virtio-2.6-machine" + }, + { + "name": "filter-mirror" + }, + { + "name": "virtio-balloon-ccw" + }, + { + "name": "virtio-balloon-device" + }, + { + "name": "s390-sclp-event-facility" + }, + { + "name": "virtio-serial-pci" + }, + { + "name": "virtconsole" + }, + { + "name": "virtio-input-host-pci" + }, + { + "name": "PCI" + }, + { + "name": "virtio-keyboard-pci" + }, + { + "name": "s390-ccw-virtio-2.7-machine" + }, + { + "name": "s390-pcihost" + }, + { + "name": "PCIE" + }, + { + "name": "diag288" + }, + { + "name": "System" + }, + { + "name": "none-machine" + }, + { + "name": "virtio-net-device" + }, + { + "name": "isa-dma" + }, + { + "name": "pxb" + }, + { + "name": "memory-backend-file" + }, + { + "name": "scsi-cd" + }, + { + "name": "qio-channel-buffer" + }, + { + "name": "pxb-host" + }, + { + "name": "vhost-scsi" + }, + { + "name": "virtio-rng-ccw" + }, + { + "name": "virtserialport" + }, + { + "name": "pxb-pcie" + }, + { + "name": "rng-random" + }, + { + "name": "virtual-css-bridge" + }, + { + "name": "scsi-disk" + }, + { + "name": "s390-ccw-virtio-2.4-machine" + }, + { + "name": "SCSI" + }, + { + "name": "nmi" + }, + { + "name": "irq" + }, + { + "name": "scsi-generic" + }, + { + "name": "virtio-mouse-device" + }, + { + "name": "sclp-cpu-hotplug" + }, + { + "name": "virtio-serial-device" + }, + { + "name": "usb-bus" + }, + { + "name": "pci-bridge-seat" + }, + { + "name": "ISA" + }, + { + "name": "virtio-mmio-bus" + }, + { + "name": "virtio-serial-bus" + }, + { + "name": "s390-ccw-virtio-2.5-machine" + }, + { + "name": "sclp" + }, + { + "name": "virtio-serial-ccw" + }, + { + "name": "virtual-css-bus" + }, + { + "name": "tls-creds-x509" + }, + { + "name": "scsi-block" + }, + { + "name": "qio-channel-file" + }, + { + "name": "pxb-bus" + }, + { + "name": "virtio-gpu-device" + }, + { + "name": "virtio-rng-device" + }, + { + "name": "rng-egd" + }, + { + "name": "qio-channel-socket" + }, + { + "name": "vhost-scsi-pci" + }, + { + "name": "qemu-console" + }, + { + "name": "sclp-memory-hotplug-dev" + }, + { + "name": "virtio-pci-bus" + }, + { + "name": "virtio-blk-pci" + }, + { + "name": "sclpquiesce" + }, + { + "name": "sclplmconsole" + }, + { + "name": "s390-flic-qemu" + }, + { + "name": "scsi-hd" + }, + { + "name": "qio-channel-websock" + }, + { + "name": "hotplug-handler" + }, + { + "name": "virtio-mouse-pci" + }, + { + "name": "s390-skeys-kvm" + } + ], + "id": "libvirt-9" +} + +{ + "return": [ + { + "name": "secs", + "type": "uint32" + }, + { + "name": "request-merging", + "description": "on/off", + "type": "bool" + }, + { + "name": "min_io_size", + "type": "uint16" + }, + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "serial", + "type": "str" + }, + { + "name": "heads", + "type": "uint32" + }, + { + "name": "ioeventfd", + "description": "on/off", + "type": "bool" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "scsi", + "description": "on/off", + "type": "bool" + }, + { + "name": "cyls", + "type": "uint32" + }, + { + "name": "x-disable-pcie", + "description": "on/off", + "type": "bool" + }, + { + "name": "logical_block_size", + "description": "A power of two between 512 and 32768", + "type": "uint16" + }, + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "disable-modern", + "type": "bool" + }, + { + "name": "drive", + "description": "Node name or ID of a block device to use as a backend", + "type": "str" + }, + { + "name": "disable-legacy", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "werror", + "description": "Error handling policy, report/ignore/enospc/stop/auto", + "type": "BlockdevOnError" + }, + { + "name": "discard_granularity", + "type": "uint32" + }, + { + "name": "rerror", + "description": "Error handling policy, report/ignore/enospc/stop/auto", + "type": "BlockdevOnError" + }, + { + "name": "iothread", + "type": "link<iothread>" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "class", + "type": "uint32" + }, + { + "name": "migrate-extra", + "description": "on/off", + "type": "bool" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or 06", + "type": "int32" + }, + { + "name": "modern-pio-notify", + "description": "on/off", + "type": "bool" + }, + { + "name": "vectors", + "type": "uint32" + }, + { + "name": "physical_block_size", + "description": "A power of two between 512 and 32768", + "type": "uint16" + }, + { + "name": "bootindex", + "type": "int32" + }, + { + "name": "virtio-backend", + "type": "child<virtio-blk-device>" + }, + { + "name": "config-wce", + "description": "on/off", + "type": "bool" + }, + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "num-queues", + "type": "uint16" + }, + { + "name": "virtio-pci-bus-master-bug-migration", + "description": "on/off", + "type": "bool" + }, + { + "name": "write-cache", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "opt_io_size", + "type": "uint32" + }, + { + "name": "romfile", + "type": "str" + } + ], + "id": "libvirt-10" +} + +{ + "return": [ + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-txtimer", + "type": "uint32" + }, + { + "name": "guest_ufo", + "description": "on/off", + "type": "bool" + }, + { + "name": "mq", + "description": "on/off", + "type": "bool" + }, + { + "name": "status", + "description": "on/off", + "type": "bool" + }, + { + "name": "host_ecn", + "description": "on/off", + "type": "bool" + }, + { + "name": "ioeventfd", + "description": "on/off", + "type": "bool" + }, + { + "name": "tx", + "type": "str" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "ctrl_rx_extra", + "description": "on/off", + "type": "bool" + }, + { + "name": "ctrl_vq", + "description": "on/off", + "type": "bool" + }, + { + "name": "mac", + "description": "Ethernet 6-byte MAC Address, example: 52:54:00:12:34:56", + "type": "str" + }, + { + "name": "x-disable-pcie", + "description": "on/off", + "type": "bool" + }, + { + "name": "guest_tso6", + "description": "on/off", + "type": "bool" + }, + { + "name": "gso", + "description": "on/off", + "type": "bool" + }, + { + "name": "guest_ecn", + "description": "on/off", + "type": "bool" + }, + { + "name": "ctrl_rx", + "description": "on/off", + "type": "bool" + }, + { + "name": "guest_tso4", + "description": "on/off", + "type": "bool" + }, + { + "name": "disable-modern", + "type": "bool" + }, + { + "name": "guest_csum", + "description": "on/off", + "type": "bool" + }, + { + "name": "guest_announce", + "description": "on/off", + "type": "bool" + }, + { + "name": "disable-legacy", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-txburst", + "type": "int32" + }, + { + "name": "ctrl_vlan", + "description": "on/off", + "type": "bool" + }, + { + "name": "csum", + "description": "on/off", + "type": "bool" + }, + { + "name": "mrg_rxbuf", + "description": "on/off", + "type": "bool" + }, + { + "name": "ctrl_guest_offloads", + "description": "on/off", + "type": "bool" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "ctrl_mac_addr", + "description": "on/off", + "type": "bool" + }, + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "migrate-extra", + "description": "on/off", + "type": "bool" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or 06", + "type": "int32" + }, + { + "name": "modern-pio-notify", + "description": "on/off", + "type": "bool" + }, + { + "name": "vectors", + "type": "uint32" + }, + { + "name": "host_tso6", + "description": "on/off", + "type": "bool" + }, + { + "name": "vlan", + "description": "Integer VLAN id to connect to", + "type": "int32" + }, + { + "name": "host_tso4", + "description": "on/off", + "type": "bool" + }, + { + "name": "host_ufo", + "description": "on/off", + "type": "bool" + }, + { + "name": "virtio-backend", + "type": "child<virtio-net-device>" + }, + { + "name": "bootindex", + "type": "int32" + }, + { + "name": "netdev", + "description": "ID of a netdev to use as a backend", + "type": "str" + }, + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "virtio-pci-bus-master-bug-migration", + "description": "on/off", + "type": "bool" + }, + { + "name": "romfile", + "type": "str" + } + ], + "id": "libvirt-11" +} + +{ + "return": [ + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "ioeventfd", + "description": "on/off", + "type": "bool" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "x-disable-pcie", + "description": "on/off", + "type": "bool" + }, + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "disable-modern", + "type": "bool" + }, + { + "name": "cmd_per_lun", + "type": "uint32" + }, + { + "name": "disable-legacy", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "num_queues", + "type": "uint32" + }, + { + "name": "hotplug", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "max_sectors", + "type": "uint32" + }, + { + "name": "param_change", + "description": "on/off", + "type": "bool" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "iothread", + "type": "link<iothread>" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or 06", + "type": "int32" + }, + { + "name": "migrate-extra", + "description": "on/off", + "type": "bool" + }, + { + "name": "modern-pio-notify", + "description": "on/off", + "type": "bool" + }, + { + "name": "vectors", + "type": "uint32" + }, + { + "name": "virtio-backend", + "type": "child<virtio-scsi-device>" + }, + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "virtio-pci-bus-master-bug-migration", + "description": "on/off", + "type": "bool" + }, + { + "name": "romfile", + "type": "str" + } + ], + "id": "libvirt-12" +} + +{ + "return": [ + { + "name": "request-merging", + "description": "on/off", + "type": "bool" + }, + { + "name": "secs", + "type": "uint32" + }, + { + "name": "min_io_size", + "type": "uint16" + }, + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "heads", + "type": "uint32" + }, + { + "name": "serial", + "type": "str" + }, + { + "name": "ioeventfd", + "description": "on/off", + "type": "bool" + }, + { + "name": "devno", + "description": "Identifier of an I/O device in the channel subsystem, example: fe.1.23ab", + "type": "str" + }, + { + "name": "cyls", + "type": "uint32" + }, + { + "name": "logical_block_size", + "description": "A power of two between 512 and 32768", + "type": "uint16" + }, + { + "name": "scsi", + "description": "on/off", + "type": "bool" + }, + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "drive", + "description": "Node name or ID of a block device to use as a backend", + "type": "str" + }, + { + "name": "max_revision", + "type": "uint32" + }, + { + "name": "werror", + "description": "Error handling policy, report/ignore/enospc/stop/auto", + "type": "BlockdevOnError" + }, + { + "name": "discard_granularity", + "type": "uint32" + }, + { + "name": "rerror", + "description": "Error handling policy, report/ignore/enospc/stop/auto", + "type": "BlockdevOnError" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "iothread", + "type": "link<iothread>" + }, + { + "name": "physical_block_size", + "description": "A power of two between 512 and 32768", + "type": "uint16" + }, + { + "name": "bootindex", + "type": "int32" + }, + { + "name": "virtio-backend", + "type": "child<virtio-blk-device>" + }, + { + "name": "config-wce", + "description": "on/off", + "type": "bool" + }, + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "num-queues", + "type": "uint16" + }, + { + "name": "write-cache", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "opt_io_size", + "type": "uint32" + } + ], + "id": "libvirt-13" +} + +{ + "return": [ + { + "name": "x-txtimer", + "type": "uint32" + }, + { + "name": "guest_ufo", + "description": "on/off", + "type": "bool" + }, + { + "name": "mq", + "description": "on/off", + "type": "bool" + }, + { + "name": "host_ecn", + "description": "on/off", + "type": "bool" + }, + { + "name": "status", + "description": "on/off", + "type": "bool" + }, + { + "name": "ioeventfd", + "description": "on/off", + "type": "bool" + }, + { + "name": "devno", + "description": "Identifier of an I/O device in the channel subsystem, example: fe.1.23ab", + "type": "str" + }, + { + "name": "tx", + "type": "str" + }, + { + "name": "ctrl_rx_extra", + "description": "on/off", + "type": "bool" + }, + { + "name": "guest_ecn", + "description": "on/off", + "type": "bool" + }, + { + "name": "mac", + "description": "Ethernet 6-byte MAC Address, example: 52:54:00:12:34:56", + "type": "str" + }, + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "guest_tso6", + "description": "on/off", + "type": "bool" + }, + { + "name": "guest_tso4", + "description": "on/off", + "type": "bool" + }, + { + "name": "guest_csum", + "description": "on/off", + "type": "bool" + }, + { + "name": "max_revision", + "type": "uint32" + }, + { + "name": "guest_announce", + "description": "on/off", + "type": "bool" + }, + { + "name": "gso", + "description": "on/off", + "type": "bool" + }, + { + "name": "ctrl_vq", + "description": "on/off", + "type": "bool" + }, + { + "name": "ctrl_rx", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-txburst", + "type": "int32" + }, + { + "name": "ctrl_vlan", + "description": "on/off", + "type": "bool" + }, + { + "name": "csum", + "description": "on/off", + "type": "bool" + }, + { + "name": "mrg_rxbuf", + "description": "on/off", + "type": "bool" + }, + { + "name": "ctrl_guest_offloads", + "description": "on/off", + "type": "bool" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "ctrl_mac_addr", + "description": "on/off", + "type": "bool" + }, + { + "name": "host_tso6", + "description": "on/off", + "type": "bool" + }, + { + "name": "vlan", + "description": "Integer VLAN id to connect to", + "type": "int32" + }, + { + "name": "host_tso4", + "description": "on/off", + "type": "bool" + }, + { + "name": "host_ufo", + "description": "on/off", + "type": "bool" + }, + { + "name": "virtio-backend", + "type": "child<virtio-net-device>" + }, + { + "name": "bootindex", + "type": "int32" + }, + { + "name": "netdev", + "description": "ID of a netdev to use as a backend", + "type": "str" + }, + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + } + ], + "id": "libvirt-14" +} + +{ + "return": [ + { + "name": "max_sectors", + "type": "uint32" + }, + { + "name": "ioeventfd", + "description": "on/off", + "type": "bool" + }, + { + "name": "cmd_per_lun", + "type": "uint32" + }, + { + "name": "devno", + "description": "Identifier of an I/O device in the channel subsystem, example: fe.1.23ab", + "type": "str" + }, + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "iothread", + "type": "link<iothread>" + }, + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "hotplug", + "description": "on/off", + "type": "bool" + }, + { + "name": "virtio-backend", + "type": "child<virtio-scsi-device>" + }, + { + "name": "num_queues", + "type": "uint32" + }, + { + "name": "param_change", + "description": "on/off", + "type": "bool" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "max_revision", + "type": "uint32" + } + ], + "id": "libvirt-15" +} + +{ + "id": "libvirt-16", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'virtio-blk-s390' not found" + } +} + +{ + "id": "libvirt-17", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'virtio-net-s390' not found" + } +} + +{ + "id": "libvirt-18", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'pci-assign' not found" + } +} + +{ + "id": "libvirt-19", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'kvm-pci-assign' not found" + } +} + +{ + "return": [ + { + "name": "x-pci-sub-device-id", + "type": "uint32" + }, + { + "name": "x-no-kvm-msi", + "type": "bool" + }, + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-igd-opregion", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-vga", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-pci-vendor-id", + "type": "uint32" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "bootindex", + "type": "int32" + }, + { + "name": "x-req", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-igd-gms", + "type": "uint32" + }, + { + "name": "romfile", + "type": "str" + }, + { + "name": "x-no-kvm-intx", + "type": "bool" + }, + { + "name": "x-pci-device-id", + "type": "uint32" + }, + { + "name": "host", + "description": "Address (bus/device/function) of the host device, example: 04:10.0", + "type": "str" + }, + { + "name": "x-no-kvm-msix", + "type": "bool" + }, + { + "name": "x-intx-mmap-timeout-ms", + "type": "uint32" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or 06", + "type": "int32" + }, + { + "name": "x-pci-sub-vendor-id", + "type": "uint32" + }, + { + "name": "sysfsdev", + "type": "str" + }, + { + "name": "x-no-mmap", + "type": "bool" + } + ], + "id": "libvirt-20" +} + +{ + "return": [ + { + "name": "serial", + "type": "str" + }, + { + "name": "port_index", + "type": "uint16" + }, + { + "name": "dpofua", + "description": "on/off", + "type": "bool" + }, + { + "name": "bootindex", + "type": "int32" + }, + { + "name": "logical_block_size", + "description": "A power of two between 512 and 32768", + "type": "uint16" + }, + { + "name": "discard_granularity", + "type": "uint32" + }, + { + "name": "lun", + "type": "uint32" + }, + { + "name": "max_unmap_size", + "type": "uint64" + }, + { + "name": "drive", + "description": "Node name or ID of a block device to use as a backend", + "type": "str" + }, + { + "name": "port_wwn", + "type": "uint64" + }, + { + "name": "write-cache", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "opt_io_size", + "type": "uint32" + }, + { + "name": "min_io_size", + "type": "uint16" + }, + { + "name": "product", + "type": "str" + }, + { + "name": "scsi-id", + "type": "uint32" + }, + { + "name": "channel", + "type": "uint32" + }, + { + "name": "vendor", + "type": "str" + }, + { + "name": "wwn", + "type": "uint64" + }, + { + "name": "werror", + "description": "Error handling policy, report/ignore/enospc/stop/auto", + "type": "BlockdevOnError" + }, + { + "name": "removable", + "description": "on/off", + "type": "bool" + }, + { + "name": "rerror", + "description": "Error handling policy, report/ignore/enospc/stop/auto", + "type": "BlockdevOnError" + }, + { + "name": "ver", + "type": "str" + }, + { + "name": "physical_block_size", + "description": "A power of two between 512 and 32768", + "type": "uint16" + }, + { + "name": "max_io_size", + "type": "uint64" + } + ], + "id": "libvirt-21" +} + +{ + "id": "libvirt-22", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'ide-drive' not found" + } +} + +{ + "id": "libvirt-23", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'PIIX4_PM' not found" + } +} + +{ + "id": "libvirt-24", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'usb-redir' not found" + } +} + +{ + "id": "libvirt-25", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'usb-host' not found" + } +} + +{ + "return": [ + { + "name": "bootindex", + "type": "int32" + }, + { + "name": "drive", + "description": "Node name or ID of a block device to use as a backend", + "type": "str" + }, + { + "name": "lun", + "type": "uint32" + }, + { + "name": "channel", + "type": "uint32" + }, + { + "name": "scsi-id", + "type": "uint32" + } + ], + "id": "libvirt-26" +} + +{ + "id": "libvirt-27", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'i440FX-pcihost' not found" + } +} + +{ + "id": "libvirt-28", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'q35-pcihost' not found" + } +} + +{ + "id": "libvirt-29", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'usb-storage' not found" + } +} + +{ + "id": "libvirt-30", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'kvm-pit' not found" + } +} + +{ + "id": "libvirt-31", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'VGA' not found" + } +} + +{ + "id": "libvirt-32", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'vmware-svga' not found" + } +} + +{ + "id": "libvirt-33", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'qxl' not found" + } +} + +{ + "return": [ + { + "name": "disable-modern", + "type": "bool" + }, + { + "name": "ioeventfd", + "description": "on/off", + "type": "bool" + }, + { + "name": "virtio-pci-bus-master-bug-migration", + "description": "on/off", + "type": "bool" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "migrate-extra", + "description": "on/off", + "type": "bool" + }, + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "modern-pio-notify", + "description": "on/off", + "type": "bool" + }, + { + "name": "romfile", + "type": "str" + }, + { + "name": "virtio-backend", + "type": "child<virtio-gpu-device>" + }, + { + "name": "disable-legacy", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "vectors", + "type": "uint32" + }, + { + "name": "x-disable-pcie", + "description": "on/off", + "type": "bool" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or 06", + "type": "int32" + }, + { + "name": "max_outputs", + "type": "uint32" + }, + { + "name": "rombar", + "type": "uint32" + } + ], + "id": "libvirt-34" +} + +{ + "return": [ + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "max_outputs", + "type": "uint32" + } + ], + "id": "libvirt-35" +} + +{ + "id": "libvirt-36", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'ICH9-LPC' not found" + } +} + +{ + "return": [ + { + "name": "disable-modern", + "type": "bool" + }, + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "virtio-pci-bus-master-bug-migration", + "description": "on/off", + "type": "bool" + }, + { + "name": "class", + "type": "uint32" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "guest-stats-polling-interval", + "type": "int" + }, + { + "name": "guest-stats", + "type": "guest statistics" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "migrate-extra", + "description": "on/off", + "type": "bool" + }, + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "modern-pio-notify", + "description": "on/off", + "type": "bool" + }, + { + "name": "romfile", + "type": "str" + }, + { + "name": "virtio-backend", + "type": "child<virtio-balloon-device>" + }, + { + "name": "disable-legacy", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-disable-pcie", + "description": "on/off", + "type": "bool" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or 06", + "type": "int32" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "deflate-on-oom", + "description": "on/off", + "type": "bool" + } + ], + "id": "libvirt-37" +} + +{ + "return": [ + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "ioeventfd", + "description": "on/off", + "type": "bool" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "devno", + "description": "Identifier of an I/O device in the channel subsystem, example: fe.1.23ab", + "type": "str" + }, + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "guest-stats", + "type": "guest statistics" + }, + { + "name": "guest-stats-polling-interval", + "type": "int" + }, + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "virtio-backend", + "type": "child<virtio-balloon-device>" + }, + { + "name": "deflate-on-oom", + "description": "on/off", + "type": "bool" + }, + { + "name": "max_revision", + "type": "uint32" + } + ], + "id": "libvirt-38" +} + +{ + "return": [ + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "guest-stats", + "type": "guest statistics" + }, + { + "name": "guest-stats-polling-interval", + "type": "int" + }, + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "deflate-on-oom", + "description": "on/off", + "type": "bool" + } + ], + "id": "libvirt-39" +} + +{ + "id": "libvirt-40", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'nec-usb-xhci' not found" + } +} + +{ + "return": [ + { + "hotpluggable-cpus": false, + "name": "s390-ccw-virtio-2.5", + "cpu-max": 248 + }, + { + "hotpluggable-cpus": false, + "name": "s390-ccw-virtio-2.4", + "cpu-max": 248 + }, + { + "hotpluggable-cpus": false, + "name": "none", + "cpu-max": 1 + }, + { + "hotpluggable-cpus": false, + "name": "s390-ccw-virtio-2.7", + "is-default": true, + "cpu-max": 248, + "alias": "s390-ccw-virtio" + }, + { + "hotpluggable-cpus": false, + "name": "s390-ccw-virtio-2.6", + "cpu-max": 248 + } + ], + "id": "libvirt-41" +} + +{ + "return": [ + { + "name": "host" + } + ], + "id": "libvirt-42" +} + +{ + "return": [ + ], + "id": "libvirt-43" +} + +{ + "return": [ + ], + "id": "libvirt-44" +} + +{ + "return": [ + { + "parameters": [ + { + "name": "non-adaptive", + "type": "boolean" + }, + { + "name": "lossy", + "type": "boolean" + }, + { + "name": "acl", + "type": "boolean" + }, + { + "name": "x509verify", + "type": "string" + }, + { + "name": "tls", + "type": "boolean" + }, + { + "name": "sasl", + "type": "boolean" + }, + { + "name": "key-delay-ms", + "type": "number" + }, + { + "name": "lock-key-sync", + "type": "boolean" + }, + { + "name": "reverse", + "type": "boolean" + }, + { + "name": "password", + "type": "boolean" + }, + { + "name": "ipv6", + "type": "boolean" + }, + { + "name": "ipv4", + "type": "boolean" + }, + { + "name": "to", + "type": "number" + }, + { + "name": "connections", + "type": "number" + }, + { + "name": "head", + "type": "number" + }, + { + "name": "display", + "type": "string" + }, + { + "name": "share", + "type": "string" + }, + { + "name": "x509", + "type": "string" + }, + { + "name": "tls-creds", + "type": "string" + }, + { + "name": "websocket", + "type": "string" + }, + { + "name": "vnc", + "type": "string" + } + ], + "option": "vnc" + }, + { + "parameters": [ + { + "name": "sock_fd", + "type": "number" + }, + { + "name": "socket", + "type": "string" + }, + { + "name": "readonly", + "type": "boolean" + }, + { + "name": "writeout", + "type": "string" + }, + { + "name": "security_model", + "type": "string" + }, + { + "name": "mount_tag", + "type": "string" + }, + { + "name": "path", + "type": "string" + }, + { + "name": "fsdriver", + "type": "string" + } + ], + "option": "virtfs" + }, + { + "parameters": [ + { + "name": "sock_fd", + "type": "number" + }, + { + "name": "socket", + "type": "string" + }, + { + "name": "readonly", + "type": "boolean" + }, + { + "name": "writeout", + "type": "string" + }, + { + "name": "security_model", + "type": "string" + }, + { + "name": "path", + "type": "string" + }, + { + "name": "fsdriver", + "type": "string" + } + ], + "option": "fsdev" + }, + { + "parameters": [ + { + "name": "string", + "help": "Sets content of the blob to be inserted from a string", + "type": "string" + }, + { + "name": "file", + "help": "Sets the name of the file from which\nthe fw_cfg blob will be loaded", + "type": "string" + }, + { + "name": "name", + "help": "Sets the fw_cfg name of the blob to be inserted", + "type": "string" + } + ], + "option": "fw_cfg" + }, + { + "parameters": [ + { + "name": "arg", + "type": "string" + }, + { + "name": "target", + "type": "string" + }, + { + "name": "enable", + "type": "boolean" + } + ], + "option": "semihosting-config" + }, + { + "parameters": [ + { + "name": "rrfile", + "type": "string" + }, + { + "name": "rr", + "type": "string" + }, + { + "name": "sleep", + "type": "boolean" + }, + { + "name": "align", + "type": "boolean" + }, + { + "name": "shift", + "type": "string" + } + ], + "option": "icount" + }, + { + "parameters": [ + ], + "option": "numa" + }, + { + "parameters": [ + { + "name": "debug-threads", + "help": "When enabled, name the individual threads; defaults off.\nNOTE: The thread names are for debugging and not a\nstable API.", + "type": "boolean" + }, + { + "name": "process", + "help": "Sets the name of the QEMU process, as shown in top etc", + "type": "string" + }, + { + "name": "guest", + "help": "Sets the name of the guest.\nThis name will be displayed in the SDL window caption.\nThe name will also be used for the VNC server", + "type": "string" + } + ], + "option": "name" + }, + { + "parameters": [ + { + "name": "timestamp", + "type": "boolean" + } + ], + "option": "msg" + }, + { + "parameters": [ + { + "name": "mlock", + "type": "boolean" + } + ], + "option": "realtime" + }, + { + "parameters": [ + ], + "option": "tpmdev" + }, + { + "parameters": [ + ], + "option": "object" + }, + { + "parameters": [ + { + "name": "opaque", + "help": "free-form string used to describe fd", + "type": "string" + }, + { + "name": "set", + "help": "ID of the fd set to add fd to", + "type": "number" + }, + { + "name": "fd", + "help": "file descriptor of which a duplicate is added to fd set", + "type": "number" + } + ], + "option": "add-fd" + }, + { + "parameters": [ + { + "name": "enable", + "type": "boolean" + } + ], + "option": "sandbox" + }, + { + "parameters": [ + { + "name": "strict", + "type": "boolean" + }, + { + "name": "reboot-timeout", + "type": "string" + }, + { + "name": "splash-time", + "type": "string" + }, + { + "name": "splash", + "type": "string" + }, + { + "name": "menu", + "type": "boolean" + }, + { + "name": "once", + "type": "string" + }, + { + "name": "order", + "type": "string" + } + ], + "option": "boot-opts" + }, + { + "parameters": [ + { + "name": "maxcpus", + "type": "number" + }, + { + "name": "threads", + "type": "number" + }, + { + "name": "cores", + "type": "number" + }, + { + "name": "sockets", + "type": "number" + }, + { + "name": "cpus", + "type": "number" + } + ], + "option": "smp-opts" + }, + { + "parameters": [ + { + "name": "maxmem", + "type": "size" + }, + { + "name": "slots", + "type": "number" + }, + { + "name": "size", + "type": "size" + } + ], + "option": "memory" + }, + { + "parameters": [ + { + "name": "dea-key-wrap", + "help": "enable/disable DEA key wrapping using the CPACF wrapping key", + "type": "boolean" + }, + { + "name": "aes-key-wrap", + "help": "enable/disable AES key wrapping using the CPACF wrapping key", + "type": "boolean" + }, + { + "name": "suppress-vmdesc", + "help": "Set on to disable self-describing migration", + "type": "boolean" + }, + { + "name": "iommu", + "help": "Set on/off to enable/disable Intel IOMMU (VT-d)", + "type": "boolean" + }, + { + "name": "firmware", + "help": "firmware image", + "type": "string" + }, + { + "name": "usb", + "help": "Set on/off to enable/disable usb", + "type": "boolean" + }, + { + "name": "mem-merge", + "help": "enable/disable memory merge support", + "type": "boolean" + }, + { + "name": "dump-guest-core", + "help": "Include guest memory in a core dump", + "type": "boolean" + }, + { + "name": "dt_compatible", + "help": "Overrides the \"compatible\" property of the dt root node", + "type": "string" + }, + { + "name": "phandle_start", + "help": "The first phandle ID we may generate dynamically", + "type": "number" + }, + { + "name": "dumpdtb", + "help": "Dump current dtb to a file and quit", + "type": "string" + }, + { + "name": "dtb", + "help": "Linux kernel device tree file", + "type": "string" + }, + { + "name": "append", + "help": "Linux kernel command line", + "type": "string" + }, + { + "name": "initrd", + "help": "Linux initial ramdisk file", + "type": "string" + }, + { + "name": "kernel", + "help": "Linux kernel image file", + "type": "string" + }, + { + "name": "kvm_shadow_mem", + "help": "KVM shadow MMU size", + "type": "size" + }, + { + "name": "kernel_irqchip", + "help": "use KVM in-kernel irqchip", + "type": "boolean" + }, + { + "name": "accel", + "help": "accelerator list", + "type": "string" + }, + { + "name": "type", + "help": "emulated machine", + "type": "string" + } + ], + "option": "machine" + }, + { + "parameters": [ + { + "name": "romfile", + "type": "string" + }, + { + "name": "bootindex", + "type": "number" + } + ], + "option": "option-rom" + }, + { + "parameters": [ + { + "name": "file", + "type": "string" + }, + { + "name": "events", + "type": "string" + }, + { + "name": "enable", + "type": "string" + } + ], + "option": "trace" + }, + { + "parameters": [ + { + "name": "pretty", + "type": "boolean" + }, + { + "name": "default", + "type": "boolean" + }, + { + "name": "chardev", + "type": "string" + }, + { + "name": "mode", + "type": "string" + } + ], + "option": "mon" + }, + { + "parameters": [ + { + "name": "value", + "type": "string" + }, + { + "name": "property", + "type": "string" + }, + { + "name": "driver", + "type": "string" + } + ], + "option": "global" + }, + { + "parameters": [ + { + "name": "driftfix", + "type": "string" + }, + { + "name": "clock", + "type": "string" + }, + { + "name": "base", + "type": "string" + } + ], + "option": "rtc" + }, + { + "parameters": [ + ], + "option": "net" + }, + { + "parameters": [ + ], + "option": "netdev" + }, + { + "parameters": [ + ], + "option": "device" + }, + { + "parameters": [ + { + "name": "logappend", + "type": "boolean" + }, + { + "name": "logfile", + "type": "string" + }, + { + "name": "append", + "type": "boolean" + }, + { + "name": "chardev", + "type": "string" + }, + { + "name": "size", + "type": "size" + }, + { + "name": "debug", + "type": "number" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "signal", + "type": "boolean" + }, + { + "name": "mux", + "type": "boolean" + }, + { + "name": "rows", + "type": "number" + }, + { + "name": "cols", + "type": "number" + }, + { + "name": "height", + "type": "number" + }, + { + "name": "width", + "type": "number" + }, + { + "name": "tls-creds", + "type": "string" + }, + { + "name": "telnet", + "type": "boolean" + }, + { + "name": "reconnect", + "type": "number" + }, + { + "name": "delay", + "type": "boolean" + }, + { + "name": "server", + "type": "boolean" + }, + { + "name": "wait", + "type": "boolean" + }, + { + "name": "ipv6", + "type": "boolean" + }, + { + "name": "ipv4", + "type": "boolean" + }, + { + "name": "to", + "type": "number" + }, + { + "name": "localport", + "type": "string" + }, + { + "name": "localaddr", + "type": "string" + }, + { + "name": "port", + "type": "string" + }, + { + "name": "host", + "type": "string" + }, + { + "name": "path", + "type": "string" + }, + { + "name": "backend", + "type": "string" + } + ], + "option": "chardev" + }, + { + "parameters": [ + { + "name": "copy-on-read", + "help": "copy read data from backing file into image file", + "type": "boolean" + }, + { + "name": "werror", + "help": "write error action", + "type": "string" + }, + { + "name": "rerror", + "help": "read error action", + "type": "string" + }, + { + "name": "read-only", + "help": "open drive file as read-only", + "type": "boolean" + }, + { + "name": "file", + "help": "file name", + "type": "string" + }, + { + "name": "serial", + "help": "disk serial number", + "type": "string" + }, + { + "name": "addr", + "help": "pci address (virtio only)", + "type": "string" + }, + { + "name": "boot", + "help": "(deprecated, ignored)", + "type": "boolean" + }, + { + "name": "trans", + "help": "chs translation (auto, lba, none)", + "type": "string" + }, + { + "name": "secs", + "help": "number of sectors (ide disk geometry)", + "type": "number" + }, + { + "name": "heads", + "help": "number of heads (ide disk geometry)", + "type": "number" + }, + { + "name": "cyls", + "help": "number of cylinders (ide disk geometry)", + "type": "number" + }, + { + "name": "if", + "help": "interface (ide, scsi, sd, mtd, floppy, pflash, virtio)", + "type": "string" + }, + { + "name": "media", + "help": "media type (disk, cdrom)", + "type": "string" + }, + { + "name": "index", + "help": "index number", + "type": "number" + }, + { + "name": "unit", + "help": "unit number (i.e. lun for scsi)", + "type": "number" + }, + { + "name": "bus", + "help": "bus number", + "type": "number" + }, + { + "name": "stats-account-failed", + "help": "whether to account for failed I/O operations in the statistics", + "type": "boolean" + }, + { + "name": "stats-account-invalid", + "help": "whether to account for invalid I/O operations in the statistics", + "type": "boolean" + }, + { + "name": "detect-zeroes", + "help": "try to optimize zero writes (off, on, unmap)", + "type": "string" + }, + { + "name": "throttling.group", + "help": "name of the block throttling group", + "type": "string" + }, + { + "name": "throttling.iops-size", + "help": "when limiting by iops max size of an I/O in bytes", + "type": "number" + }, + { + "name": "throttling.bps-write-max-length", + "help": "length of the bps-write-max burst period, in seconds", + "type": "number" + }, + { + "name": "throttling.bps-read-max-length", + "help": "length of the bps-read-max burst period, in seconds", + "type": "number" + }, + { + "name": "throttling.bps-total-max-length", + "help": "length of the bps-total-max burst period, in seconds", + "type": "number" + }, + { + "name": "throttling.iops-write-max-length", + "help": "length of the iops-write-max burst period, in seconds", + "type": "number" + }, + { + "name": "throttling.iops-read-max-length", + "help": "length of the iops-read-max burst period, in seconds", + "type": "number" + }, + { + "name": "throttling.iops-total-max-length", + "help": "length of the iops-total-max burst period, in seconds", + "type": "number" + }, + { + "name": "throttling.bps-write-max", + "help": "total bytes write burst", + "type": "number" + }, + { + "name": "throttling.bps-read-max", + "help": "total bytes read burst", + "type": "number" + }, + { + "name": "throttling.bps-total-max", + "help": "total bytes burst", + "type": "number" + }, + { + "name": "throttling.iops-write-max", + "help": "I/O operations write burst", + "type": "number" + }, + { + "name": "throttling.iops-read-max", + "help": "I/O operations read burst", + "type": "number" + }, + { + "name": "throttling.iops-total-max", + "help": "I/O operations burst", + "type": "number" + }, + { + "name": "throttling.bps-write", + "help": "limit write bytes per second", + "type": "number" + }, + { + "name": "throttling.bps-read", + "help": "limit read bytes per second", + "type": "number" + }, + { + "name": "throttling.bps-total", + "help": "limit total bytes per second", + "type": "number" + }, + { + "name": "throttling.iops-write", + "help": "limit write operations per second", + "type": "number" + }, + { + "name": "throttling.iops-read", + "help": "limit read operations per second", + "type": "number" + }, + { + "name": "throttling.iops-total", + "help": "limit total I/O operations per second", + "type": "number" + }, + { + "name": "werror", + "help": "write error action", + "type": "string" + }, + { + "name": "format", + "help": "disk format (raw, qcow2, ...)", + "type": "string" + }, + { + "name": "cache.writeback", + "help": "Enable writeback mode", + "type": "boolean" + }, + { + "name": "aio", + "help": "host AIO implementation (threads, native)", + "type": "string" + }, + { + "name": "discard", + "help": "discard operation (ignore/off, unmap/on)", + "type": "string" + }, + { + "name": "snapshot", + "help": "enable/disable snapshot mode", + "type": "boolean" + } + ], + "option": "drive" + } + ], + "id": "libvirt-45" +} + +{ + "return": [ + { + "state": false, + "capability": "xbzrle" + }, + { + "state": false, + "capability": "rdma-pin-all" + }, + { + "state": false, + "capability": "auto-converge" + }, + { + "state": false, + "capability": "zero-blocks" + }, + { + "state": false, + "capability": "compress" + }, + { + "state": false, + "capability": "events" + }, + { + "state": false, + "capability": "postcopy-ram" + } + ], + "id": "libvirt-46" +} + +{ + "return": [ + { + "name": "ACPI_DEVICE_OST", + "meta-type": "event", + "arg-type": "0" + }, + { + "name": "BALLOON_CHANGE", + "meta-type": "event", + "arg-type": "1" + }, + { + "name": "BLOCK_IMAGE_CORRUPTED", + "meta-type": "event", + "arg-type": "2" + }, + { + "name": "BLOCK_IO_ERROR", + "meta-type": "event", + "arg-type": "3" + }, + { + "name": "BLOCK_JOB_CANCELLED", + "meta-type": "event", + "arg-type": "4" + }, + { + "name": "BLOCK_JOB_COMPLETED", + "meta-type": "event", + "arg-type": "5" + }, + { + "name": "BLOCK_JOB_ERROR", + "meta-type": "event", + "arg-type": "6" + }, + { + "name": "BLOCK_JOB_READY", + "meta-type": "event", + "arg-type": "7" + }, + { + "name": "BLOCK_WRITE_THRESHOLD", + "meta-type": "event", + "arg-type": "8" + }, + { + "name": "DEVICE_DELETED", + "meta-type": "event", + "arg-type": "9" + }, + { + "name": "DEVICE_TRAY_MOVED", + "meta-type": "event", + "arg-type": "10" + }, + { + "name": "DUMP_COMPLETED", + "meta-type": "event", + "arg-type": "11" + }, + { + "name": "GUEST_PANICKED", + "meta-type": "event", + "arg-type": "12" + }, + { + "name": "MEM_UNPLUG_ERROR", + "meta-type": "event", + "arg-type": "13" + }, + { + "name": "MIGRATION", + "meta-type": "event", + "arg-type": "14" + }, + { + "name": "MIGRATION_PASS", + "meta-type": "event", + "arg-type": "15" + }, + { + "name": "NIC_RX_FILTER_CHANGED", + "meta-type": "event", + "arg-type": "16" + }, + { + "name": "POWERDOWN", + "meta-type": "event", + "arg-type": "17" + }, + { + "name": "QUORUM_FAILURE", + "meta-type": "event", + "arg-type": "18" + }, + { + "name": "QUORUM_REPORT_BAD", + "meta-type": "event", + "arg-type": "19" + }, + { + "name": "RESET", + "meta-type": "event", + "arg-type": "17" + }, + { + "name": "RESUME", + "meta-type": "event", + "arg-type": "17" + }, + { + "name": "RTC_CHANGE", + "meta-type": "event", + "arg-type": "20" + }, + { + "name": "SHUTDOWN", + "meta-type": "event", + "arg-type": "17" + }, + { + "name": "SPICE_CONNECTED", + "meta-type": "event", + "arg-type": "21" + }, + { + "name": "SPICE_DISCONNECTED", + "meta-type": "event", + "arg-type": "22" + }, + { + "name": "SPICE_INITIALIZED", + "meta-type": "event", + "arg-type": "23" + }, + { + "name": "SPICE_MIGRATE_COMPLETED", + "meta-type": "event", + "arg-type": "17" + }, + { + "name": "STOP", + "meta-type": "event", + "arg-type": "17" + }, + { + "name": "SUSPEND", + "meta-type": "event", + "arg-type": "17" + }, + { + "name": "SUSPEND_DISK", + "meta-type": "event", + "arg-type": "17" + }, + { + "name": "VNC_CONNECTED", + "meta-type": "event", + "arg-type": "24" + }, + { + "name": "VNC_DISCONNECTED", + "meta-type": "event", + "arg-type": "25" + }, + { + "name": "VNC_INITIALIZED", + "meta-type": "event", + "arg-type": "26" + }, + { + "name": "VSERPORT_CHANGE", + "meta-type": "event", + "arg-type": "27" + }, + { + "name": "WAKEUP", + "meta-type": "event", + "arg-type": "17" + }, + { + "name": "WATCHDOG", + "meta-type": "event", + "arg-type": "28" + }, + { + "name": "add-fd", + "ret-type": "30", + "meta-type": "command", + "arg-type": "29" + }, + { + "name": "add_client", + "ret-type": "17", + "meta-type": "command", + "arg-type": "31" + }, + { + "name": "balloon", + "ret-type": "17", + "meta-type": "command", + "arg-type": "32" + }, + { + "name": "block-commit", + "ret-type": "17", + "meta-type": "command", + "arg-type": "33" + }, + { + "name": "block-dirty-bitmap-add", + "ret-type": "17", + "meta-type": "command", + "arg-type": "34" + }, + { + "name": "block-dirty-bitmap-clear", + "ret-type": "17", + "meta-type": "command", + "arg-type": "35" + }, + { + "name": "block-dirty-bitmap-remove", + "ret-type": "17", + "meta-type": "command", + "arg-type": "35" + }, + { + "name": "block-job-cancel", + "ret-type": "17", + "meta-type": "command", + "arg-type": "36" + }, + { + "name": "block-job-complete", + "ret-type": "17", + "meta-type": "command", + "arg-type": "37" + }, + { + "name": "block-job-pause", + "ret-type": "17", + "meta-type": "command", + "arg-type": "38" + }, + { + "name": "block-job-resume", + "ret-type": "17", + "meta-type": "command", + "arg-type": "39" + }, + { + "name": "block-job-set-speed", + "ret-type": "17", + "meta-type": "command", + "arg-type": "40" + }, + { + "name": "block-set-write-threshold", + "ret-type": "17", + "meta-type": "command", + "arg-type": "41" + }, + { + "name": "block-stream", + "ret-type": "17", + "meta-type": "command", + "arg-type": "42" + }, + { + "name": "block_passwd", + "ret-type": "17", + "meta-type": "command", + "arg-type": "43" + }, + { + "name": "block_resize", + "ret-type": "17", + "meta-type": "command", + "arg-type": "44" + }, + { + "name": "block_set_io_throttle", + "ret-type": "17", + "meta-type": "command", + "arg-type": "45" + }, + { + "name": "blockdev-add", + "ret-type": "17", + "meta-type": "command", + "arg-type": "46" + }, + { + "name": "blockdev-backup", + "ret-type": "17", + "meta-type": "command", + "arg-type": "47" + }, + { + "name": "blockdev-change-medium", + "ret-type": "17", + "meta-type": "command", + "arg-type": "48" + }, + { + "name": "blockdev-close-tray", + "ret-type": "17", + "meta-type": "command", + "arg-type": "49" + }, + { + "name": "blockdev-mirror", + "ret-type": "17", + "meta-type": "command", + "arg-type": "50" + }, + { + "name": "blockdev-open-tray", + "ret-type": "17", + "meta-type": "command", + "arg-type": "51" + }, + { + "name": "blockdev-snapshot", + "ret-type": "17", + "meta-type": "command", + "arg-type": "52" + }, + { + "name": "blockdev-snapshot-delete-internal-sync", + "ret-type": "54", + "meta-type": "command", + "arg-type": "53" + }, + { + "name": "blockdev-snapshot-internal-sync", + "ret-type": "17", + "meta-type": "command", + "arg-type": "55" + }, + { + "name": "blockdev-snapshot-sync", + "ret-type": "17", + "meta-type": "command", + "arg-type": "56" + }, + { + "name": "change", + "ret-type": "17", + "meta-type": "command", + "arg-type": "57" + }, + { + "name": "change-backing-file", + "ret-type": "17", + "meta-type": "command", + "arg-type": "58" + }, + { + "name": "change-vnc-password", + "ret-type": "17", + "meta-type": "command", + "arg-type": "59" + }, + { + "name": "chardev-add", + "ret-type": "61", + "meta-type": "command", + "arg-type": "60" + }, + { + "name": "chardev-remove", + "ret-type": "17", + "meta-type": "command", + "arg-type": "62" + }, + { + "name": "client_migrate_info", + "ret-type": "17", + "meta-type": "command", + "arg-type": "63" + }, + { + "name": "closefd", + "ret-type": "17", + "meta-type": "command", + "arg-type": "64" + }, + { + "name": "cont", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "cpu", + "ret-type": "17", + "meta-type": "command", + "arg-type": "65" + }, + { + "name": "cpu-add", + "ret-type": "17", + "meta-type": "command", + "arg-type": "66" + }, + { + "name": "device-list-properties", + "ret-type": "[68]", + "meta-type": "command", + "arg-type": "67" + }, + { + "name": "device_del", + "ret-type": "17", + "meta-type": "command", + "arg-type": "69" + }, + { + "name": "drive-backup", + "ret-type": "17", + "meta-type": "command", + "arg-type": "70" + }, + { + "name": "drive-mirror", + "ret-type": "17", + "meta-type": "command", + "arg-type": "71" + }, + { + "name": "dump-guest-memory", + "ret-type": "17", + "meta-type": "command", + "arg-type": "72" + }, + { + "name": "dump-skeys", + "ret-type": "17", + "meta-type": "command", + "arg-type": "73" + }, + { + "name": "eject", + "ret-type": "17", + "meta-type": "command", + "arg-type": "74" + }, + { + "name": "expire_password", + "ret-type": "17", + "meta-type": "command", + "arg-type": "75" + }, + { + "name": "getfd", + "ret-type": "17", + "meta-type": "command", + "arg-type": "76" + }, + { + "name": "human-monitor-command", + "ret-type": "str", + "meta-type": "command", + "arg-type": "77" + }, + { + "name": "inject-nmi", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "input-send-event", + "ret-type": "17", + "meta-type": "command", + "arg-type": "78" + }, + { + "name": "memsave", + "ret-type": "17", + "meta-type": "command", + "arg-type": "79" + }, + { + "name": "migrate", + "ret-type": "17", + "meta-type": "command", + "arg-type": "80" + }, + { + "name": "migrate-incoming", + "ret-type": "17", + "meta-type": "command", + "arg-type": "81" + }, + { + "name": "migrate-set-cache-size", + "ret-type": "17", + "meta-type": "command", + "arg-type": "82" + }, + { + "name": "migrate-set-capabilities", + "ret-type": "17", + "meta-type": "command", + "arg-type": "83" + }, + { + "name": "migrate-set-parameters", + "ret-type": "17", + "meta-type": "command", + "arg-type": "84" + }, + { + "name": "migrate-start-postcopy", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "migrate_cancel", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "migrate_set_downtime", + "ret-type": "17", + "meta-type": "command", + "arg-type": "85" + }, + { + "name": "migrate_set_speed", + "ret-type": "17", + "meta-type": "command", + "arg-type": "86" + }, + { + "name": "nbd-server-add", + "ret-type": "17", + "meta-type": "command", + "arg-type": "87" + }, + { + "name": "nbd-server-start", + "ret-type": "17", + "meta-type": "command", + "arg-type": "88" + }, + { + "name": "nbd-server-stop", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "netdev_add", + "ret-type": "17", + "meta-type": "command", + "arg-type": "89" + }, + { + "name": "netdev_del", + "ret-type": "17", + "meta-type": "command", + "arg-type": "90" + }, + { + "name": "object-add", + "ret-type": "17", + "meta-type": "command", + "arg-type": "91" + }, + { + "name": "object-del", + "ret-type": "17", + "meta-type": "command", + "arg-type": "92" + }, + { + "name": "pmemsave", + "ret-type": "17", + "meta-type": "command", + "arg-type": "93" + }, + { + "name": "qom-get", + "ret-type": "any", + "meta-type": "command", + "arg-type": "94" + }, + { + "name": "qom-list", + "ret-type": "[96]", + "meta-type": "command", + "arg-type": "95" + }, + { + "name": "qom-list-types", + "ret-type": "[98]", + "meta-type": "command", + "arg-type": "97" + }, + { + "name": "qom-set", + "ret-type": "17", + "meta-type": "command", + "arg-type": "99" + }, + { + "name": "query-acpi-ospm-status", + "ret-type": "[100]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-balloon", + "ret-type": "101", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-block", + "ret-type": "[102]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-block-jobs", + "ret-type": "[103]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-blockstats", + "ret-type": "[105]", + "meta-type": "command", + "arg-type": "104" + }, + { + "name": "query-chardev", + "ret-type": "[106]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-chardev-backends", + "ret-type": "[107]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-command-line-options", + "ret-type": "[109]", + "meta-type": "command", + "arg-type": "108" + }, + { + "name": "query-commands", + "ret-type": "[110]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-cpu-definitions", + "ret-type": "[111]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-cpus", + "ret-type": "[112]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-dump", + "ret-type": "113", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-dump-guest-memory-capability", + "ret-type": "114", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-events", + "ret-type": "[115]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-fdsets", + "ret-type": "[116]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-gic-capabilities", + "ret-type": "[117]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-hotpluggable-cpus", + "ret-type": "[118]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-iothreads", + "ret-type": "[119]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-kvm", + "ret-type": "120", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-machines", + "ret-type": "[121]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-memdev", + "ret-type": "[122]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-memory-devices", + "ret-type": "[123]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-mice", + "ret-type": "[124]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-migrate", + "ret-type": "125", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-migrate-cache-size", + "ret-type": "int", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-migrate-capabilities", + "ret-type": "[126]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-migrate-parameters", + "ret-type": "127", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-name", + "ret-type": "128", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-named-block-nodes", + "ret-type": "[129]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-pci", + "ret-type": "[130]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-qmp-schema", + "ret-type": "[131]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-rocker", + "ret-type": "133", + "meta-type": "command", + "arg-type": "132" + }, + { + "name": "query-rocker-of-dpa-flows", + "ret-type": "[135]", + "meta-type": "command", + "arg-type": "134" + }, + { + "name": "query-rocker-of-dpa-groups", + "ret-type": "[137]", + "meta-type": "command", + "arg-type": "136" + }, + { + "name": "query-rocker-ports", + "ret-type": "[139]", + "meta-type": "command", + "arg-type": "138" + }, + { + "name": "query-rx-filter", + "ret-type": "[141]", + "meta-type": "command", + "arg-type": "140" + }, + { + "name": "query-spice", + "ret-type": "142", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-status", + "ret-type": "143", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-target", + "ret-type": "144", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-tpm", + "ret-type": "[145]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-tpm-models", + "ret-type": "[146]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-tpm-types", + "ret-type": "[147]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-uuid", + "ret-type": "148", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-version", + "ret-type": "149", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-vnc", + "ret-type": "150", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-vnc-servers", + "ret-type": "[151]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "quit", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "remove-fd", + "ret-type": "17", + "meta-type": "command", + "arg-type": "152" + }, + { + "name": "ringbuf-read", + "ret-type": "str", + "meta-type": "command", + "arg-type": "153" + }, + { + "name": "ringbuf-write", + "ret-type": "17", + "meta-type": "command", + "arg-type": "154" + }, + { + "name": "rtc-reset-reinjection", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "screendump", + "ret-type": "17", + "meta-type": "command", + "arg-type": "155" + }, + { + "name": "send-key", + "ret-type": "17", + "meta-type": "command", + "arg-type": "156" + }, + { + "name": "set_link", + "ret-type": "17", + "meta-type": "command", + "arg-type": "157" + }, + { + "name": "set_password", + "ret-type": "17", + "meta-type": "command", + "arg-type": "158" + }, + { + "name": "stop", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "system_powerdown", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "system_reset", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "system_wakeup", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "trace-event-get-state", + "ret-type": "[160]", + "meta-type": "command", + "arg-type": "159" + }, + { + "name": "trace-event-set-state", + "ret-type": "17", + "meta-type": "command", + "arg-type": "161" + }, + { + "name": "transaction", + "ret-type": "17", + "meta-type": "command", + "arg-type": "162" + }, + { + "name": "x-blockdev-change", + "ret-type": "17", + "meta-type": "command", + "arg-type": "163" + }, + { + "name": "x-blockdev-del", + "ret-type": "17", + "meta-type": "command", + "arg-type": "164" + }, + { + "name": "x-blockdev-insert-medium", + "ret-type": "17", + "meta-type": "command", + "arg-type": "165" + }, + { + "name": "x-blockdev-remove-medium", + "ret-type": "17", + "meta-type": "command", + "arg-type": "166" + }, + { + "name": "xen-load-devices-state", + "ret-type": "17", + "meta-type": "command", + "arg-type": "167" + }, + { + "name": "xen-save-devices-state", + "ret-type": "17", + "meta-type": "command", + "arg-type": "168" + }, + { + "name": "xen-set-global-dirty-log", + "ret-type": "17", + "meta-type": "command", + "arg-type": "169" + }, + { + "name": "0", + "members": [ + { + "name": "info", + "type": "100" + } + ], + "meta-type": "object" + }, + { + "name": "1", + "members": [ + { + "name": "actual", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "2", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "node-name", + "default": null, + "type": "str" + }, + { + "name": "msg", + "type": "str" + }, + { + "name": "offset", + "default": null, + "type": "int" + }, + { + "name": "size", + "default": null, + "type": "int" + }, + { + "name": "fatal", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "3", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "operation", + "type": "170" + }, + { + "name": "action", + "type": "171" + }, + { + "name": "nospace", + "default": null, + "type": "bool" + }, + { + "name": "reason", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "4", + "members": [ + { + "name": "type", + "type": "172" + }, + { + "name": "device", + "type": "str" + }, + { + "name": "len", + "type": "int" + }, + { + "name": "offset", + "type": "int" + }, + { + "name": "speed", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "5", + "members": [ + { + "name": "type", + "type": "172" + }, + { + "name": "device", + "type": "str" + }, + { + "name": "len", + "type": "int" + }, + { + "name": "offset", + "type": "int" + }, + { + "name": "speed", + "type": "int" + }, + { + "name": "error", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "6", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "operation", + "type": "170" + }, + { + "name": "action", + "type": "171" + } + ], + "meta-type": "object" + }, + { + "name": "7", + "members": [ + { + "name": "type", + "type": "172" + }, + { + "name": "device", + "type": "str" + }, + { + "name": "len", + "type": "int" + }, + { + "name": "offset", + "type": "int" + }, + { + "name": "speed", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "8", + "members": [ + { + "name": "node-name", + "type": "str" + }, + { + "name": "amount-exceeded", + "type": "int" + }, + { + "name": "write-threshold", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "9", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "path", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "10", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "tray-open", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "11", + "members": [ + { + "name": "result", + "type": "113" + }, + { + "name": "error", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "12", + "members": [ + { + "name": "action", + "type": "173" + } + ], + "meta-type": "object" + }, + { + "name": "13", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "msg", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "14", + "members": [ + { + "name": "status", + "type": "174" + } + ], + "meta-type": "object" + }, + { + "name": "15", + "members": [ + { + "name": "pass", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "16", + "members": [ + { + "name": "name", + "default": null, + "type": "str" + }, + { + "name": "path", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "17", + "members": [ + ], + "meta-type": "object" + }, + { + "name": "18", + "members": [ + { + "name": "reference", + "type": "str" + }, + { + "name": "sector-num", + "type": "int" + }, + { + "name": "sectors-count", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "19", + "members": [ + { + "name": "type", + "type": "175" + }, + { + "name": "error", + "default": null, + "type": "str" + }, + { + "name": "node-name", + "type": "str" + }, + { + "name": "sector-num", + "type": "int" + }, + { + "name": "sectors-count", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "20", + "members": [ + { + "name": "offset", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "21", + "members": [ + { + "name": "server", + "type": "176" + }, + { + "name": "client", + "type": "176" + } + ], + "meta-type": "object" + }, + { + "name": "22", + "members": [ + { + "name": "server", + "type": "176" + }, + { + "name": "client", + "type": "176" + } + ], + "meta-type": "object" + }, + { + "name": "23", + "members": [ + { + "name": "server", + "type": "177" + }, + { + "name": "client", + "type": "178" + } + ], + "meta-type": "object" + }, + { + "name": "24", + "members": [ + { + "name": "server", + "type": "179" + }, + { + "name": "client", + "type": "180" + } + ], + "meta-type": "object" + }, + { + "name": "25", + "members": [ + { + "name": "server", + "type": "179" + }, + { + "name": "client", + "type": "181" + } + ], + "meta-type": "object" + }, + { + "name": "26", + "members": [ + { + "name": "server", + "type": "179" + }, + { + "name": "client", + "type": "181" + } + ], + "meta-type": "object" + }, + { + "name": "27", + "members": [ + { + "name": "id", + "type": "str" + }, + { + "name": "open", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "28", + "members": [ + { + "name": "action", + "type": "182" + } + ], + "meta-type": "object" + }, + { + "name": "29", + "members": [ + { + "name": "fdset-id", + "default": null, + "type": "int" + }, + { + "name": "opaque", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "30", + "members": [ + { + "name": "fdset-id", + "type": "int" + }, + { + "name": "fd", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "31", + "members": [ + { + "name": "protocol", + "type": "str" + }, + { + "name": "fdname", + "type": "str" + }, + { + "name": "skipauth", + "default": null, + "type": "bool" + }, + { + "name": "tls", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "32", + "members": [ + { + "name": "value", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "33", + "members": [ + { + "name": "job-id", + "default": null, + "type": "str" + }, + { + "name": "device", + "type": "str" + }, + { + "name": "base", + "default": null, + "type": "str" + }, + { + "name": "top", + "default": null, + "type": "str" + }, + { + "name": "backing-file", + "default": null, + "type": "str" + }, + { + "name": "speed", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "34", + "members": [ + { + "name": "node", + "type": "str" + }, + { + "name": "name", + "type": "str" + }, + { + "name": "granularity", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "35", + "members": [ + { + "name": "node", + "type": "str" + }, + { + "name": "name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "36", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "force", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "37", + "members": [ + { + "name": "device", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "38", + "members": [ + { + "name": "device", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "39", + "members": [ + { + "name": "device", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "40", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "speed", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "41", + "members": [ + { + "name": "node-name", + "type": "str" + }, + { + "name": "write-threshold", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "42", + "members": [ + { + "name": "job-id", + "default": null, + "type": "str" + }, + { + "name": "device", + "type": "str" + }, + { + "name": "base", + "default": null, + "type": "str" + }, + { + "name": "backing-file", + "default": null, + "type": "str" + }, + { + "name": "speed", + "default": null, + "type": "int" + }, + { + "name": "on-error", + "default": null, + "type": "183" + } + ], + "meta-type": "object" + }, + { + "name": "43", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "node-name", + "default": null, + "type": "str" + }, + { + "name": "password", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "44", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "node-name", + "default": null, + "type": "str" + }, + { + "name": "size", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "45", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "bps", + "type": "int" + }, + { + "name": "bps_rd", + "type": "int" + }, + { + "name": "bps_wr", + "type": "int" + }, + { + "name": "iops", + "type": "int" + }, + { + "name": "iops_rd", + "type": "int" + }, + { + "name": "iops_wr", + "type": "int" + }, + { + "name": "bps_max", + "default": null, + "type": "int" + }, + { + "name": "bps_rd_max", + "default": null, + "type": "int" + }, + { + "name": "bps_wr_max", + "default": null, + "type": "int" + }, + { + "name": "iops_max", + "default": null, + "type": "int" + }, + { + "name": "iops_rd_max", + "default": null, + "type": "int" + }, + { + "name": "iops_wr_max", + "default": null, + "type": "int" + }, + { + "name": "bps_max_length", + "default": null, + "type": "int" + }, + { + "name": "bps_rd_max_length", + "default": null, + "type": "int" + }, + { + "name": "bps_wr_max_length", + "default": null, + "type": "int" + }, + { + "name": "iops_max_length", + "default": null, + "type": "int" + }, + { + "name": "iops_rd_max_length", + "default": null, + "type": "int" + }, + { + "name": "iops_wr_max_length", + "default": null, + "type": "int" + }, + { + "name": "iops_size", + "default": null, + "type": "int" + }, + { + "name": "group", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "46", + "members": [ + { + "name": "options", + "type": "184" + } + ], + "meta-type": "object" + }, + { + "name": "47", + "members": [ + { + "name": "job-id", + "default": null, + "type": "str" + }, + { + "name": "device", + "type": "str" + }, + { + "name": "target", + "type": "str" + }, + { + "name": "sync", + "type": "185" + }, + { + "name": "speed", + "default": null, + "type": "int" + }, + { + "name": "on-source-error", + "default": null, + "type": "183" + }, + { + "name": "on-target-error", + "default": null, + "type": "183" + } + ], + "meta-type": "object" + }, + { + "name": "48", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "filename", + "type": "str" + }, + { + "name": "format", + "default": null, + "type": "str" + }, + { + "name": "read-only-mode", + "default": null, + "type": "186" + } + ], + "meta-type": "object" + }, + { + "name": "49", + "members": [ + { + "name": "device", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "50", + "members": [ + { + "name": "job-id", + "default": null, + "type": "str" + }, + { + "name": "device", + "type": "str" + }, + { + "name": "target", + "type": "str" + }, + { + "name": "replaces", + "default": null, + "type": "str" + }, + { + "name": "sync", + "type": "185" + }, + { + "name": "speed", + "default": null, + "type": "int" + }, + { + "name": "granularity", + "default": null, + "type": "int" + }, + { + "name": "buf-size", + "default": null, + "type": "int" + }, + { + "name": "on-source-error", + "default": null, + "type": "183" + }, + { + "name": "on-target-error", + "default": null, + "type": "183" + } + ], + "meta-type": "object" + }, + { + "name": "51", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "force", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "52", + "members": [ + { + "name": "node", + "type": "str" + }, + { + "name": "overlay", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "53", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "id", + "default": null, + "type": "str" + }, + { + "name": "name", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "54", + "members": [ + { + "name": "id", + "type": "str" + }, + { + "name": "name", + "type": "str" + }, + { + "name": "vm-state-size", + "type": "int" + }, + { + "name": "date-sec", + "type": "int" + }, + { + "name": "date-nsec", + "type": "int" + }, + { + "name": "vm-clock-sec", + "type": "int" + }, + { + "name": "vm-clock-nsec", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "55", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "56", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "node-name", + "default": null, + "type": "str" + }, + { + "name": "snapshot-file", + "type": "str" + }, + { + "name": "snapshot-node-name", + "default": null, + "type": "str" + }, + { + "name": "format", + "default": null, + "type": "str" + }, + { + "name": "mode", + "default": null, + "type": "187" + } + ], + "meta-type": "object" + }, + { + "name": "57", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "target", + "type": "str" + }, + { + "name": "arg", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "58", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "image-node-name", + "type": "str" + }, + { + "name": "backing-file", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "59", + "members": [ + { + "name": "password", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "60", + "members": [ + { + "name": "id", + "type": "str" + }, + { + "name": "backend", + "type": "188" + } + ], + "meta-type": "object" + }, + { + "name": "61", + "members": [ + { + "name": "pty", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "62", + "members": [ + { + "name": "id", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "63", + "members": [ + { + "name": "protocol", + "type": "str" + }, + { + "name": "hostname", + "type": "str" + }, + { + "name": "port", + "default": null, + "type": "int" + }, + { + "name": "tls-port", + "default": null, + "type": "int" + }, + { + "name": "cert-subject", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "64", + "members": [ + { + "name": "fdname", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "65", + "members": [ + { + "name": "index", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "66", + "members": [ + { + "name": "id", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "67", + "members": [ + { + "name": "typename", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[68]", + "element-type": "68", + "meta-type": "array" + }, + { + "name": "68", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "type", + "type": "str" + }, + { + "name": "description", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "69", + "members": [ + { + "name": "id", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "70", + "members": [ + { + "name": "job-id", + "default": null, + "type": "str" + }, + { + "name": "device", + "type": "str" + }, + { + "name": "target", + "type": "str" + }, + { + "name": "format", + "default": null, + "type": "str" + }, + { + "name": "sync", + "type": "185" + }, + { + "name": "mode", + "default": null, + "type": "187" + }, + { + "name": "speed", + "default": null, + "type": "int" + }, + { + "name": "bitmap", + "default": null, + "type": "str" + }, + { + "name": "on-source-error", + "default": null, + "type": "183" + }, + { + "name": "on-target-error", + "default": null, + "type": "183" + } + ], + "meta-type": "object" + }, + { + "name": "71", + "members": [ + { + "name": "job-id", + "default": null, + "type": "str" + }, + { + "name": "device", + "type": "str" + }, + { + "name": "target", + "type": "str" + }, + { + "name": "format", + "default": null, + "type": "str" + }, + { + "name": "node-name", + "default": null, + "type": "str" + }, + { + "name": "replaces", + "default": null, + "type": "str" + }, + { + "name": "sync", + "type": "185" + }, + { + "name": "mode", + "default": null, + "type": "187" + }, + { + "name": "speed", + "default": null, + "type": "int" + }, + { + "name": "granularity", + "default": null, + "type": "int" + }, + { + "name": "buf-size", + "default": null, + "type": "int" + }, + { + "name": "on-source-error", + "default": null, + "type": "183" + }, + { + "name": "on-target-error", + "default": null, + "type": "183" + }, + { + "name": "unmap", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "72", + "members": [ + { + "name": "paging", + "type": "bool" + }, + { + "name": "protocol", + "type": "str" + }, + { + "name": "detach", + "default": null, + "type": "bool" + }, + { + "name": "begin", + "default": null, + "type": "int" + }, + { + "name": "length", + "default": null, + "type": "int" + }, + { + "name": "format", + "default": null, + "type": "189" + } + ], + "meta-type": "object" + }, + { + "name": "73", + "members": [ + { + "name": "filename", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "74", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "force", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "75", + "members": [ + { + "name": "protocol", + "type": "str" + }, + { + "name": "time", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "76", + "members": [ + { + "name": "fdname", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "77", + "members": [ + { + "name": "command-line", + "type": "str" + }, + { + "name": "cpu-index", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "str", + "json-type": "string", + "meta-type": "builtin" + }, + { + "name": "78", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "head", + "default": null, + "type": "int" + }, + { + "name": "events", + "type": "[190]" + } + ], + "meta-type": "object" + }, + { + "name": "79", + "members": [ + { + "name": "val", + "type": "int" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "filename", + "type": "str" + }, + { + "name": "cpu-index", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "80", + "members": [ + { + "name": "uri", + "type": "str" + }, + { + "name": "blk", + "default": null, + "type": "bool" + }, + { + "name": "inc", + "default": null, + "type": "bool" + }, + { + "name": "detach", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "81", + "members": [ + { + "name": "uri", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "82", + "members": [ + { + "name": "value", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "83", + "members": [ + { + "name": "capabilities", + "type": "[126]" + } + ], + "meta-type": "object" + }, + { + "name": "84", + "members": [ + { + "name": "compress-level", + "default": null, + "type": "int" + }, + { + "name": "compress-threads", + "default": null, + "type": "int" + }, + { + "name": "decompress-threads", + "default": null, + "type": "int" + }, + { + "name": "cpu-throttle-initial", + "default": null, + "type": "int" + }, + { + "name": "cpu-throttle-increment", + "default": null, + "type": "int" + }, + { + "name": "tls-creds", + "default": null, + "type": "str" + }, + { + "name": "tls-hostname", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "85", + "members": [ + { + "name": "value", + "type": "number" + } + ], + "meta-type": "object" + }, + { + "name": "86", + "members": [ + { + "name": "value", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "87", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "writable", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "88", + "members": [ + { + "name": "addr", + "type": "191" + }, + { + "name": "tls-creds", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "89", + "members": [ + { + "name": "type", + "type": "str" + }, + { + "name": "id", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "90", + "members": [ + { + "name": "id", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "91", + "members": [ + { + "name": "qom-type", + "type": "str" + }, + { + "name": "id", + "type": "str" + }, + { + "name": "props", + "default": null, + "type": "any" + } + ], + "meta-type": "object" + }, + { + "name": "92", + "members": [ + { + "name": "id", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "93", + "members": [ + { + "name": "val", + "type": "int" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "filename", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "94", + "members": [ + { + "name": "path", + "type": "str" + }, + { + "name": "property", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "any", + "json-type": "value", + "meta-type": "builtin" + }, + { + "name": "95", + "members": [ + { + "name": "path", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[96]", + "element-type": "96", + "meta-type": "array" + }, + { + "name": "96", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "type", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "97", + "members": [ + { + "name": "implements", + "default": null, + "type": "str" + }, + { + "name": "abstract", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "[98]", + "element-type": "98", + "meta-type": "array" + }, + { + "name": "98", + "members": [ + { + "name": "name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "99", + "members": [ + { + "name": "path", + "type": "str" + }, + { + "name": "property", + "type": "str" + }, + { + "name": "value", + "type": "any" + } + ], + "meta-type": "object" + }, + { + "name": "[100]", + "element-type": "100", + "meta-type": "array" + }, + { + "name": "100", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "slot", + "type": "str" + }, + { + "name": "slot-type", + "type": "192" + }, + { + "name": "source", + "type": "int" + }, + { + "name": "status", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "101", + "members": [ + { + "name": "actual", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "[102]", + "element-type": "102", + "meta-type": "array" + }, + { + "name": "102", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "type", + "type": "str" + }, + { + "name": "removable", + "type": "bool" + }, + { + "name": "locked", + "type": "bool" + }, + { + "name": "inserted", + "default": null, + "type": "129" + }, + { + "name": "tray_open", + "default": null, + "type": "bool" + }, + { + "name": "io-status", + "default": null, + "type": "193" + }, + { + "name": "dirty-bitmaps", + "default": null, + "type": "[194]" + } + ], + "meta-type": "object" + }, + { + "name": "[103]", + "element-type": "103", + "meta-type": "array" + }, + { + "name": "103", + "members": [ + { + "name": "type", + "type": "str" + }, + { + "name": "device", + "type": "str" + }, + { + "name": "len", + "type": "int" + }, + { + "name": "offset", + "type": "int" + }, + { + "name": "busy", + "type": "bool" + }, + { + "name": "paused", + "type": "bool" + }, + { + "name": "speed", + "type": "int" + }, + { + "name": "io-status", + "type": "193" + }, + { + "name": "ready", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "104", + "members": [ + { + "name": "query-nodes", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "[105]", + "element-type": "105", + "meta-type": "array" + }, + { + "name": "105", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "node-name", + "default": null, + "type": "str" + }, + { + "name": "stats", + "type": "195" + }, + { + "name": "parent", + "default": null, + "type": "105" + }, + { + "name": "backing", + "default": null, + "type": "105" + } + ], + "meta-type": "object" + }, + { + "name": "[106]", + "element-type": "106", + "meta-type": "array" + }, + { + "name": "106", + "members": [ + { + "name": "label", + "type": "str" + }, + { + "name": "filename", + "type": "str" + }, + { + "name": "frontend-open", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "[107]", + "element-type": "107", + "meta-type": "array" + }, + { + "name": "107", + "members": [ + { + "name": "name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "108", + "members": [ + { + "name": "option", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[109]", + "element-type": "109", + "meta-type": "array" + }, + { + "name": "109", + "members": [ + { + "name": "option", + "type": "str" + }, + { + "name": "parameters", + "type": "[196]" + } + ], + "meta-type": "object" + }, + { + "name": "[110]", + "element-type": "110", + "meta-type": "array" + }, + { + "name": "110", + "members": [ + { + "name": "name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[111]", + "element-type": "111", + "meta-type": "array" + }, + { + "name": "111", + "members": [ + { + "name": "name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[112]", + "element-type": "112", + "meta-type": "array" + }, + { + "name": "112", + "tag": "arch", + "variants": [ + { + "case": "x86", + "type": "198" + }, + { + "case": "sparc", + "type": "199" + }, + { + "case": "ppc", + "type": "200" + }, + { + "case": "mips", + "type": "201" + }, + { + "case": "tricore", + "type": "202" + }, + { + "case": "other", + "type": "203" + } + ], + "members": [ + { + "name": "CPU", + "type": "int" + }, + { + "name": "current", + "type": "bool" + }, + { + "name": "halted", + "type": "bool" + }, + { + "name": "qom_path", + "type": "str" + }, + { + "name": "thread_id", + "type": "int" + }, + { + "name": "arch", + "type": "197" + } + ], + "meta-type": "object" + }, + { + "name": "113", + "members": [ + { + "name": "status", + "type": "204" + }, + { + "name": "completed", + "type": "int" + }, + { + "name": "total", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "114", + "members": [ + { + "name": "formats", + "type": "[189]" + } + ], + "meta-type": "object" + }, + { + "name": "[115]", + "element-type": "115", + "meta-type": "array" + }, + { + "name": "115", + "members": [ + { + "name": "name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[116]", + "element-type": "116", + "meta-type": "array" + }, + { + "name": "116", + "members": [ + { + "name": "fdset-id", + "type": "int" + }, + { + "name": "fds", + "type": "[205]" + } + ], + "meta-type": "object" + }, + { + "name": "[117]", + "element-type": "117", + "meta-type": "array" + }, + { + "name": "117", + "members": [ + { + "name": "version", + "type": "int" + }, + { + "name": "emulated", + "type": "bool" + }, + { + "name": "kernel", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "[118]", + "element-type": "118", + "meta-type": "array" + }, + { + "name": "118", + "members": [ + { + "name": "type", + "type": "str" + }, + { + "name": "vcpus-count", + "type": "int" + }, + { + "name": "props", + "type": "206" + }, + { + "name": "qom-path", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[119]", + "element-type": "119", + "meta-type": "array" + }, + { + "name": "119", + "members": [ + { + "name": "id", + "type": "str" + }, + { + "name": "thread-id", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "120", + "members": [ + { + "name": "enabled", + "type": "bool" + }, + { + "name": "present", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "[121]", + "element-type": "121", + "meta-type": "array" + }, + { + "name": "121", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "alias", + "default": null, + "type": "str" + }, + { + "name": "is-default", + "default": null, + "type": "bool" + }, + { + "name": "cpu-max", + "type": "int" + }, + { + "name": "hotpluggable-cpus", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "[122]", + "element-type": "122", + "meta-type": "array" + }, + { + "name": "122", + "members": [ + { + "name": "size", + "type": "int" + }, + { + "name": "merge", + "type": "bool" + }, + { + "name": "dump", + "type": "bool" + }, + { + "name": "prealloc", + "type": "bool" + }, + { + "name": "host-nodes", + "type": "[int]" + }, + { + "name": "policy", + "type": "207" + } + ], + "meta-type": "object" + }, + { + "name": "[123]", + "element-type": "123", + "meta-type": "array" + }, + { + "name": "123", + "tag": "type", + "variants": [ + { + "case": "dimm", + "type": "209" + } + ], + "members": [ + { + "name": "type", + "type": "208" + } + ], + "meta-type": "object" + }, + { + "name": "[124]", + "element-type": "124", + "meta-type": "array" + }, + { + "name": "124", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "index", + "type": "int" + }, + { + "name": "current", + "type": "bool" + }, + { + "name": "absolute", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "125", + "members": [ + { + "name": "status", + "default": null, + "type": "174" + }, + { + "name": "ram", + "default": null, + "type": "210" + }, + { + "name": "disk", + "default": null, + "type": "210" + }, + { + "name": "xbzrle-cache", + "default": null, + "type": "211" + }, + { + "name": "total-time", + "default": null, + "type": "int" + }, + { + "name": "expected-downtime", + "default": null, + "type": "int" + }, + { + "name": "downtime", + "default": null, + "type": "int" + }, + { + "name": "setup-time", + "default": null, + "type": "int" + }, + { + "name": "cpu-throttle-percentage", + "default": null, + "type": "int" + }, + { + "name": "error-desc", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "int", + "json-type": "int", + "meta-type": "builtin" + }, + { + "name": "[126]", + "element-type": "126", + "meta-type": "array" + }, + { + "name": "126", + "members": [ + { + "name": "capability", + "type": "212" + }, + { + "name": "state", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "127", + "members": [ + { + "name": "compress-level", + "type": "int" + }, + { + "name": "compress-threads", + "type": "int" + }, + { + "name": "decompress-threads", + "type": "int" + }, + { + "name": "cpu-throttle-initial", + "type": "int" + }, + { + "name": "cpu-throttle-increment", + "type": "int" + }, + { + "name": "tls-creds", + "type": "str" + }, + { + "name": "tls-hostname", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "128", + "members": [ + { + "name": "name", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[129]", + "element-type": "129", + "meta-type": "array" + }, + { + "name": "129", + "members": [ + { + "name": "file", + "type": "str" + }, + { + "name": "node-name", + "default": null, + "type": "str" + }, + { + "name": "ro", + "type": "bool" + }, + { + "name": "drv", + "type": "str" + }, + { + "name": "backing_file", + "default": null, + "type": "str" + }, + { + "name": "backing_file_depth", + "type": "int" + }, + { + "name": "encrypted", + "type": "bool" + }, + { + "name": "encryption_key_missing", + "type": "bool" + }, + { + "name": "detect_zeroes", + "type": "213" + }, + { + "name": "bps", + "type": "int" + }, + { + "name": "bps_rd", + "type": "int" + }, + { + "name": "bps_wr", + "type": "int" + }, + { + "name": "iops", + "type": "int" + }, + { + "name": "iops_rd", + "type": "int" + }, + { + "name": "iops_wr", + "type": "int" + }, + { + "name": "image", + "type": "214" + }, + { + "name": "bps_max", + "default": null, + "type": "int" + }, + { + "name": "bps_rd_max", + "default": null, + "type": "int" + }, + { + "name": "bps_wr_max", + "default": null, + "type": "int" + }, + { + "name": "iops_max", + "default": null, + "type": "int" + }, + { + "name": "iops_rd_max", + "default": null, + "type": "int" + }, + { + "name": "iops_wr_max", + "default": null, + "type": "int" + }, + { + "name": "bps_max_length", + "default": null, + "type": "int" + }, + { + "name": "bps_rd_max_length", + "default": null, + "type": "int" + }, + { + "name": "bps_wr_max_length", + "default": null, + "type": "int" + }, + { + "name": "iops_max_length", + "default": null, + "type": "int" + }, + { + "name": "iops_rd_max_length", + "default": null, + "type": "int" + }, + { + "name": "iops_wr_max_length", + "default": null, + "type": "int" + }, + { + "name": "iops_size", + "default": null, + "type": "int" + }, + { + "name": "group", + "default": null, + "type": "str" + }, + { + "name": "cache", + "type": "215" + }, + { + "name": "write_threshold", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "[130]", + "element-type": "130", + "meta-type": "array" + }, + { + "name": "130", + "members": [ + { + "name": "bus", + "type": "int" + }, + { + "name": "devices", + "type": "[216]" + } + ], + "meta-type": "object" + }, + { + "name": "[131]", + "element-type": "131", + "meta-type": "array" + }, + { + "name": "131", + "tag": "meta-type", + "variants": [ + { + "case": "builtin", + "type": "218" + }, + { + "case": "enum", + "type": "219" + }, + { + "case": "array", + "type": "220" + }, + { + "case": "object", + "type": "221" + }, + { + "case": "alternate", + "type": "222" + }, + { + "case": "command", + "type": "223" + }, + { + "case": "event", + "type": "224" + } + ], + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "meta-type", + "type": "217" + } + ], + "meta-type": "object" + }, + { + "name": "132", + "members": [ + { + "name": "name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "133", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "id", + "type": "int" + }, + { + "name": "ports", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "134", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "tbl-id", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "[135]", + "element-type": "135", + "meta-type": "array" + }, + { + "name": "135", + "members": [ + { + "name": "cookie", + "type": "int" + }, + { + "name": "hits", + "type": "int" + }, + { + "name": "key", + "type": "225" + }, + { + "name": "mask", + "type": "226" + }, + { + "name": "action", + "type": "227" + } + ], + "meta-type": "object" + }, + { + "name": "136", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "type", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "[137]", + "element-type": "137", + "meta-type": "array" + }, + { + "name": "137", + "members": [ + { + "name": "id", + "type": "int" + }, + { + "name": "type", + "type": "int" + }, + { + "name": "vlan-id", + "default": null, + "type": "int" + }, + { + "name": "pport", + "default": null, + "type": "int" + }, + { + "name": "index", + "default": null, + "type": "int" + }, + { + "name": "out-pport", + "default": null, + "type": "int" + }, + { + "name": "group-id", + "default": null, + "type": "int" + }, + { + "name": "set-vlan-id", + "default": null, + "type": "int" + }, + { + "name": "pop-vlan", + "default": null, + "type": "int" + }, + { + "name": "group-ids", + "default": null, + "type": "[int]" + }, + { + "name": "set-eth-src", + "default": null, + "type": "str" + }, + { + "name": "set-eth-dst", + "default": null, + "type": "str" + }, + { + "name": "ttl-check", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "138", + "members": [ + { + "name": "name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[139]", + "element-type": "139", + "meta-type": "array" + }, + { + "name": "139", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "enabled", + "type": "bool" + }, + { + "name": "link-up", + "type": "bool" + }, + { + "name": "speed", + "type": "int" + }, + { + "name": "duplex", + "type": "228" + }, + { + "name": "autoneg", + "type": "229" + } + ], + "meta-type": "object" + }, + { + "name": "140", + "members": [ + { + "name": "name", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[141]", + "element-type": "141", + "meta-type": "array" + }, + { + "name": "141", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "promiscuous", + "type": "bool" + }, + { + "name": "multicast", + "type": "230" + }, + { + "name": "unicast", + "type": "230" + }, + { + "name": "vlan", + "type": "230" + }, + { + "name": "broadcast-allowed", + "type": "bool" + }, + { + "name": "multicast-overflow", + "type": "bool" + }, + { + "name": "unicast-overflow", + "type": "bool" + }, + { + "name": "main-mac", + "type": "str" + }, + { + "name": "vlan-table", + "type": "[int]" + }, + { + "name": "unicast-table", + "type": "[str]" + }, + { + "name": "multicast-table", + "type": "[str]" + } + ], + "meta-type": "object" + }, + { + "name": "142", + "members": [ + { + "name": "enabled", + "type": "bool" + }, + { + "name": "migrated", + "type": "bool" + }, + { + "name": "host", + "default": null, + "type": "str" + }, + { + "name": "port", + "default": null, + "type": "int" + }, + { + "name": "tls-port", + "default": null, + "type": "int" + }, + { + "name": "auth", + "default": null, + "type": "str" + }, + { + "name": "compiled-version", + "default": null, + "type": "str" + }, + { + "name": "mouse-mode", + "type": "231" + }, + { + "name": "channels", + "default": null, + "type": "[178]" + } + ], + "meta-type": "object" + }, + { + "name": "143", + "members": [ + { + "name": "running", + "type": "bool" + }, + { + "name": "singlestep", + "type": "bool" + }, + { + "name": "status", + "type": "232" + } + ], + "meta-type": "object" + }, + { + "name": "144", + "members": [ + { + "name": "arch", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[145]", + "element-type": "145", + "meta-type": "array" + }, + { + "name": "145", + "members": [ + { + "name": "id", + "type": "str" + }, + { + "name": "model", + "type": "146" + }, + { + "name": "options", + "type": "233" + } + ], + "meta-type": "object" + }, + { + "name": "[146]", + "element-type": "146", + "meta-type": "array" + }, + { + "name": "146", + "meta-type": "enum", + "values": [ + "tpm-tis" + ] + }, + { + "name": "[147]", + "element-type": "147", + "meta-type": "array" + }, + { + "name": "147", + "meta-type": "enum", + "values": [ + "passthrough" + ] + }, + { + "name": "148", + "members": [ + { + "name": "UUID", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "149", + "members": [ + { + "name": "qemu", + "type": "234" + }, + { + "name": "package", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "150", + "members": [ + { + "name": "enabled", + "type": "bool" + }, + { + "name": "host", + "default": null, + "type": "str" + }, + { + "name": "family", + "default": null, + "type": "235" + }, + { + "name": "service", + "default": null, + "type": "str" + }, + { + "name": "auth", + "default": null, + "type": "str" + }, + { + "name": "clients", + "default": null, + "type": "[181]" + } + ], + "meta-type": "object" + }, + { + "name": "[151]", + "element-type": "151", + "meta-type": "array" + }, + { + "name": "151", + "members": [ + { + "name": "id", + "type": "str" + }, + { + "name": "server", + "type": "[180]" + }, + { + "name": "clients", + "type": "[181]" + }, + { + "name": "auth", + "type": "236" + }, + { + "name": "vencrypt", + "default": null, + "type": "237" + }, + { + "name": "display", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "152", + "members": [ + { + "name": "fdset-id", + "type": "int" + }, + { + "name": "fd", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "153", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "format", + "default": null, + "type": "238" + } + ], + "meta-type": "object" + }, + { + "name": "154", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "data", + "type": "str" + }, + { + "name": "format", + "default": null, + "type": "238" + } + ], + "meta-type": "object" + }, + { + "name": "155", + "members": [ + { + "name": "filename", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "156", + "members": [ + { + "name": "keys", + "type": "[239]" + }, + { + "name": "hold-time", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "157", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "up", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "158", + "members": [ + { + "name": "protocol", + "type": "str" + }, + { + "name": "password", + "type": "str" + }, + { + "name": "connected", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "159", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "vcpu", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "[160]", + "element-type": "160", + "meta-type": "array" + }, + { + "name": "160", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "state", + "type": "240" + }, + { + "name": "vcpu", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "161", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "enable", + "type": "bool" + }, + { + "name": "ignore-unavailable", + "default": null, + "type": "bool" + }, + { + "name": "vcpu", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "162", + "members": [ + { + "name": "actions", + "type": "[241]" + }, + { + "name": "properties", + "default": null, + "type": "242" + } + ], + "meta-type": "object" + }, + { + "name": "163", + "members": [ + { + "name": "parent", + "type": "str" + }, + { + "name": "child", + "default": null, + "type": "str" + }, + { + "name": "node", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "164", + "members": [ + { + "name": "id", + "default": null, + "type": "str" + }, + { + "name": "node-name", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "165", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "node-name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "166", + "members": [ + { + "name": "device", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "167", + "members": [ + { + "name": "filename", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "168", + "members": [ + { + "name": "filename", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "169", + "members": [ + { + "name": "enable", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "bool", + "json-type": "boolean", + "meta-type": "builtin" + }, + { + "name": "170", + "meta-type": "enum", + "values": [ + "read", + "write" + ] + }, + { + "name": "171", + "meta-type": "enum", + "values": [ + "ignore", + "report", + "stop" + ] + }, + { + "name": "172", + "meta-type": "enum", + "values": [ + "commit", + "stream", + "mirror", + "backup" + ] + }, + { + "name": "173", + "meta-type": "enum", + "values": [ + "pause" + ] + }, + { + "name": "174", + "meta-type": "enum", + "values": [ + "none", + "setup", + "cancelling", + "cancelled", + "active", + "postcopy-active", + "completed", + "failed" + ] + }, + { + "name": "175", + "meta-type": "enum", + "values": [ + "read", + "write", + "flush" + ] + }, + { + "name": "176", + "members": [ + { + "name": "host", + "type": "str" + }, + { + "name": "port", + "type": "str" + }, + { + "name": "family", + "type": "235" + } + ], + "meta-type": "object" + }, + { + "name": "177", + "members": [ + { + "name": "host", + "type": "str" + }, + { + "name": "port", + "type": "str" + }, + { + "name": "family", + "type": "235" + }, + { + "name": "auth", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "178", + "members": [ + { + "name": "host", + "type": "str" + }, + { + "name": "port", + "type": "str" + }, + { + "name": "family", + "type": "235" + }, + { + "name": "connection-id", + "type": "int" + }, + { + "name": "channel-type", + "type": "int" + }, + { + "name": "channel-id", + "type": "int" + }, + { + "name": "tls", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "179", + "members": [ + { + "name": "host", + "type": "str" + }, + { + "name": "service", + "type": "str" + }, + { + "name": "family", + "type": "235" + }, + { + "name": "websocket", + "type": "bool" + }, + { + "name": "auth", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "180", + "members": [ + { + "name": "host", + "type": "str" + }, + { + "name": "service", + "type": "str" + }, + { + "name": "family", + "type": "235" + }, + { + "name": "websocket", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "181", + "members": [ + { + "name": "host", + "type": "str" + }, + { + "name": "service", + "type": "str" + }, + { + "name": "family", + "type": "235" + }, + { + "name": "websocket", + "type": "bool" + }, + { + "name": "x509_dname", + "default": null, + "type": "str" + }, + { + "name": "sasl_username", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "182", + "meta-type": "enum", + "values": [ + "reset", + "shutdown", + "poweroff", + "pause", + "debug", + "none", + "inject-nmi" + ] + }, + { + "name": "183", + "meta-type": "enum", + "values": [ + "report", + "ignore", + "enospc", + "stop", + "auto" + ] + }, + { + "name": "184", + "tag": "driver", + "variants": [ + { + "case": "archipelago", + "type": "247" + }, + { + "case": "blkdebug", + "type": "248" + }, + { + "case": "blkverify", + "type": "249" + }, + { + "case": "bochs", + "type": "250" + }, + { + "case": "cloop", + "type": "250" + }, + { + "case": "dmg", + "type": "250" + }, + { + "case": "file", + "type": "251" + }, + { + "case": "ftp", + "type": "251" + }, + { + "case": "ftps", + "type": "251" + }, + { + "case": "gluster", + "type": "252" + }, + { + "case": "host_cdrom", + "type": "251" + }, + { + "case": "host_device", + "type": "251" + }, + { + "case": "http", + "type": "251" + }, + { + "case": "https", + "type": "251" + }, + { + "case": "luks", + "type": "253" + }, + { + "case": "null-aio", + "type": "254" + }, + { + "case": "null-co", + "type": "254" + }, + { + "case": "parallels", + "type": "250" + }, + { + "case": "qcow2", + "type": "255" + }, + { + "case": "qcow", + "type": "256" + }, + { + "case": "qed", + "type": "256" + }, + { + "case": "quorum", + "type": "257" + }, + { + "case": "raw", + "type": "250" + }, + { + "case": "tftp", + "type": "251" + }, + { + "case": "vdi", + "type": "250" + }, + { + "case": "vhdx", + "type": "250" + }, + { + "case": "vmdk", + "type": "256" + }, + { + "case": "vpc", + "type": "250" + }, + { + "case": "vvfat", + "type": "258" + } + ], + "members": [ + { + "name": "driver", + "type": "243" + }, + { + "name": "id", + "default": null, + "type": "str" + }, + { + "name": "node-name", + "default": null, + "type": "str" + }, + { + "name": "discard", + "default": null, + "type": "244" + }, + { + "name": "cache", + "default": null, + "type": "245" + }, + { + "name": "aio", + "default": null, + "type": "246" + }, + { + "name": "read-only", + "default": null, + "type": "bool" + }, + { + "name": "detect-zeroes", + "default": null, + "type": "213" + } + ], + "meta-type": "object" + }, + { + "name": "185", + "meta-type": "enum", + "values": [ + "top", + "full", + "none", + "incremental" + ] + }, + { + "name": "186", + "meta-type": "enum", + "values": [ + "retain", + "read-only", + "read-write" + ] + }, + { + "name": "187", + "meta-type": "enum", + "values": [ + "existing", + "absolute-paths" + ] + }, + { + "name": "188", + "tag": "type", + "variants": [ + { + "case": "file", + "type": "260" + }, + { + "case": "serial", + "type": "261" + }, + { + "case": "parallel", + "type": "261" + }, + { + "case": "pipe", + "type": "261" + }, + { + "case": "socket", + "type": "262" + }, + { + "case": "udp", + "type": "263" + }, + { + "case": "pty", + "type": "264" + }, + { + "case": "null", + "type": "264" + }, + { + "case": "mux", + "type": "265" + }, + { + "case": "msmouse", + "type": "264" + }, + { + "case": "braille", + "type": "264" + }, + { + "case": "testdev", + "type": "264" + }, + { + "case": "stdio", + "type": "266" + }, + { + "case": "console", + "type": "264" + }, + { + "case": "spicevmc", + "type": "267" + }, + { + "case": "spiceport", + "type": "268" + }, + { + "case": "vc", + "type": "269" + }, + { + "case": "ringbuf", + "type": "270" + }, + { + "case": "memory", + "type": "270" + } + ], + "members": [ + { + "name": "type", + "type": "259" + } + ], + "meta-type": "object" + }, + { + "name": "189", + "meta-type": "enum", + "values": [ + "elf", + "kdump-zlib", + "kdump-lzo", + "kdump-snappy" + ] + }, + { + "name": "[190]", + "element-type": "190", + "meta-type": "array" + }, + { + "name": "190", + "tag": "type", + "variants": [ + { + "case": "key", + "type": "272" + }, + { + "case": "btn", + "type": "273" + }, + { + "case": "rel", + "type": "274" + }, + { + "case": "abs", + "type": "274" + } + ], + "members": [ + { + "name": "type", + "type": "271" + } + ], + "meta-type": "object" + }, + { + "name": "number", + "json-type": "number", + "meta-type": "builtin" + }, + { + "name": "191", + "tag": "type", + "variants": [ + { + "case": "inet", + "type": "276" + }, + { + "case": "unix", + "type": "277" + }, + { + "case": "fd", + "type": "278" + } + ], + "members": [ + { + "name": "type", + "type": "275" + } + ], + "meta-type": "object" + }, + { + "name": "192", + "meta-type": "enum", + "values": [ + "DIMM", + "CPU" + ] + }, + { + "name": "193", + "meta-type": "enum", + "values": [ + "ok", + "failed", + "nospace" + ] + }, + { + "name": "[194]", + "element-type": "194", + "meta-type": "array" + }, + { + "name": "194", + "members": [ + { + "name": "name", + "default": null, + "type": "str" + }, + { + "name": "count", + "type": "int" + }, + { + "name": "granularity", + "type": "int" + }, + { + "name": "status", + "type": "279" + } + ], + "meta-type": "object" + }, + { + "name": "195", + "members": [ + { + "name": "rd_bytes", + "type": "int" + }, + { + "name": "wr_bytes", + "type": "int" + }, + { + "name": "rd_operations", + "type": "int" + }, + { + "name": "wr_operations", + "type": "int" + }, + { + "name": "flush_operations", + "type": "int" + }, + { + "name": "flush_total_time_ns", + "type": "int" + }, + { + "name": "wr_total_time_ns", + "type": "int" + }, + { + "name": "rd_total_time_ns", + "type": "int" + }, + { + "name": "wr_highest_offset", + "type": "int" + }, + { + "name": "rd_merged", + "type": "int" + }, + { + "name": "wr_merged", + "type": "int" + }, + { + "name": "idle_time_ns", + "default": null, + "type": "int" + }, + { + "name": "failed_rd_operations", + "type": "int" + }, + { + "name": "failed_wr_operations", + "type": "int" + }, + { + "name": "failed_flush_operations", + "type": "int" + }, + { + "name": "invalid_rd_operations", + "type": "int" + }, + { + "name": "invalid_wr_operations", + "type": "int" + }, + { + "name": "invalid_flush_operations", + "type": "int" + }, + { + "name": "account_invalid", + "type": "bool" + }, + { + "name": "account_failed", + "type": "bool" + }, + { + "name": "timed_stats", + "type": "[280]" + } + ], + "meta-type": "object" + }, + { + "name": "[196]", + "element-type": "196", + "meta-type": "array" + }, + { + "name": "196", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "type", + "type": "281" + }, + { + "name": "help", + "default": null, + "type": "str" + }, + { + "name": "default", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "197", + "meta-type": "enum", + "values": [ + "x86", + "sparc", + "ppc", + "mips", + "tricore", + "other" + ] + }, + { + "name": "198", + "members": [ + { + "name": "pc", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "199", + "members": [ + { + "name": "pc", + "type": "int" + }, + { + "name": "npc", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "200", + "members": [ + { + "name": "nip", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "201", + "members": [ + { + "name": "PC", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "202", + "members": [ + { + "name": "PC", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "203", + "members": [ + ], + "meta-type": "object" + }, + { + "name": "204", + "meta-type": "enum", + "values": [ + "none", + "active", + "completed", + "failed" + ] + }, + { + "name": "[189]", + "element-type": "189", + "meta-type": "array" + }, + { + "name": "[205]", + "element-type": "205", + "meta-type": "array" + }, + { + "name": "205", + "members": [ + { + "name": "fd", + "type": "int" + }, + { + "name": "opaque", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "206", + "members": [ + { + "name": "node-id", + "default": null, + "type": "int" + }, + { + "name": "socket-id", + "default": null, + "type": "int" + }, + { + "name": "core-id", + "default": null, + "type": "int" + }, + { + "name": "thread-id", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "[int]", + "element-type": "int", + "meta-type": "array" + }, + { + "name": "207", + "meta-type": "enum", + "values": [ + "default", + "preferred", + "bind", + "interleave" + ] + }, + { + "name": "208", + "meta-type": "enum", + "values": [ + "dimm" + ] + }, + { + "name": "209", + "members": [ + { + "name": "data", + "type": "282" + } + ], + "meta-type": "object" + }, + { + "name": "210", + "members": [ + { + "name": "transferred", + "type": "int" + }, + { + "name": "remaining", + "type": "int" + }, + { + "name": "total", + "type": "int" + }, + { + "name": "duplicate", + "type": "int" + }, + { + "name": "skipped", + "type": "int" + }, + { + "name": "normal", + "type": "int" + }, + { + "name": "normal-bytes", + "type": "int" + }, + { + "name": "dirty-pages-rate", + "type": "int" + }, + { + "name": "mbps", + "type": "number" + }, + { + "name": "dirty-sync-count", + "type": "int" + }, + { + "name": "postcopy-requests", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "211", + "members": [ + { + "name": "cache-size", + "type": "int" + }, + { + "name": "bytes", + "type": "int" + }, + { + "name": "pages", + "type": "int" + }, + { + "name": "cache-miss", + "type": "int" + }, + { + "name": "cache-miss-rate", + "type": "number" + }, + { + "name": "overflow", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "212", + "meta-type": "enum", + "values": [ + "xbzrle", + "rdma-pin-all", + "auto-converge", + "zero-blocks", + "compress", + "events", + "postcopy-ram" + ] + }, + { + "name": "213", + "meta-type": "enum", + "values": [ + "off", + "on", + "unmap" + ] + }, + { + "name": "214", + "members": [ + { + "name": "filename", + "type": "str" + }, + { + "name": "format", + "type": "str" + }, + { + "name": "dirty-flag", + "default": null, + "type": "bool" + }, + { + "name": "actual-size", + "default": null, + "type": "int" + }, + { + "name": "virtual-size", + "type": "int" + }, + { + "name": "cluster-size", + "default": null, + "type": "int" + }, + { + "name": "encrypted", + "default": null, + "type": "bool" + }, + { + "name": "compressed", + "default": null, + "type": "bool" + }, + { + "name": "backing-filename", + "default": null, + "type": "str" + }, + { + "name": "full-backing-filename", + "default": null, + "type": "str" + }, + { + "name": "backing-filename-format", + "default": null, + "type": "str" + }, + { + "name": "snapshots", + "default": null, + "type": "[54]" + }, + { + "name": "backing-image", + "default": null, + "type": "214" + }, + { + "name": "format-specific", + "default": null, + "type": "283" + } + ], + "meta-type": "object" + }, + { + "name": "215", + "members": [ + { + "name": "writeback", + "type": "bool" + }, + { + "name": "direct", + "type": "bool" + }, + { + "name": "no-flush", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "[216]", + "element-type": "216", + "meta-type": "array" + }, + { + "name": "216", + "members": [ + { + "name": "bus", + "type": "int" + }, + { + "name": "slot", + "type": "int" + }, + { + "name": "function", + "type": "int" + }, + { + "name": "class_info", + "type": "284" + }, + { + "name": "id", + "type": "285" + }, + { + "name": "irq", + "default": null, + "type": "int" + }, + { + "name": "qdev_id", + "type": "str" + }, + { + "name": "pci_bridge", + "default": null, + "type": "286" + }, + { + "name": "regions", + "type": "[287]" + } + ], + "meta-type": "object" + }, + { + "name": "217", + "meta-type": "enum", + "values": [ + "builtin", + "enum", + "array", + "object", + "alternate", + "command", + "event" + ] + }, + { + "name": "218", + "members": [ + { + "name": "json-type", + "type": "288" + } + ], + "meta-type": "object" + }, + { + "name": "219", + "members": [ + { + "name": "values", + "type": "[str]" + } + ], + "meta-type": "object" + }, + { + "name": "220", + "members": [ + { + "name": "element-type", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "221", + "members": [ + { + "name": "members", + "type": "[289]" + }, + { + "name": "tag", + "default": null, + "type": "str" + }, + { + "name": "variants", + "default": null, + "type": "[290]" + } + ], + "meta-type": "object" + }, + { + "name": "222", + "members": [ + { + "name": "members", + "type": "[291]" + } + ], + "meta-type": "object" + }, + { + "name": "223", + "members": [ + { + "name": "arg-type", + "type": "str" + }, + { + "name": "ret-type", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "224", + "members": [ + { + "name": "arg-type", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "225", + "members": [ + { + "name": "priority", + "type": "int" + }, + { + "name": "tbl-id", + "type": "int" + }, + { + "name": "in-pport", + "default": null, + "type": "int" + }, + { + "name": "tunnel-id", + "default": null, + "type": "int" + }, + { + "name": "vlan-id", + "default": null, + "type": "int" + }, + { + "name": "eth-type", + "default": null, + "type": "int" + }, + { + "name": "eth-src", + "default": null, + "type": "str" + }, + { + "name": "eth-dst", + "default": null, + "type": "str" + }, + { + "name": "ip-proto", + "default": null, + "type": "int" + }, + { + "name": "ip-tos", + "default": null, + "type": "int" + }, + { + "name": "ip-dst", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "226", + "members": [ + { + "name": "in-pport", + "default": null, + "type": "int" + }, + { + "name": "tunnel-id", + "default": null, + "type": "int" + }, + { + "name": "vlan-id", + "default": null, + "type": "int" + }, + { + "name": "eth-src", + "default": null, + "type": "str" + }, + { + "name": "eth-dst", + "default": null, + "type": "str" + }, + { + "name": "ip-proto", + "default": null, + "type": "int" + }, + { + "name": "ip-tos", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "227", + "members": [ + { + "name": "goto-tbl", + "default": null, + "type": "int" + }, + { + "name": "group-id", + "default": null, + "type": "int" + }, + { + "name": "tunnel-lport", + "default": null, + "type": "int" + }, + { + "name": "vlan-id", + "default": null, + "type": "int" + }, + { + "name": "new-vlan-id", + "default": null, + "type": "int" + }, + { + "name": "out-pport", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "228", + "meta-type": "enum", + "values": [ + "half", + "full" + ] + }, + { + "name": "229", + "meta-type": "enum", + "values": [ + "off", + "on" + ] + }, + { + "name": "230", + "meta-type": "enum", + "values": [ + "normal", + "none", + "all" + ] + }, + { + "name": "[str]", + "element-type": "str", + "meta-type": "array" + }, + { + "name": "231", + "meta-type": "enum", + "values": [ + "client", + "server", + "unknown" + ] + }, + { + "name": "[178]", + "element-type": "178", + "meta-type": "array" + }, + { + "name": "232", + "meta-type": "enum", + "values": [ + "debug", + "inmigrate", + "internal-error", + "io-error", + "paused", + "postmigrate", + "prelaunch", + "finish-migrate", + "restore-vm", + "running", + "save-vm", + "shutdown", + "suspended", + "watchdog", + "guest-panicked" + ] + }, + { + "name": "233", + "tag": "type", + "variants": [ + { + "case": "passthrough", + "type": "293" + } + ], + "members": [ + { + "name": "type", + "type": "292" + } + ], + "meta-type": "object" + }, + { + "name": "234", + "members": [ + { + "name": "major", + "type": "int" + }, + { + "name": "minor", + "type": "int" + }, + { + "name": "micro", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "235", + "meta-type": "enum", + "values": [ + "ipv4", + "ipv6", + "unix", + "unknown" + ] + }, + { + "name": "[181]", + "element-type": "181", + "meta-type": "array" + }, + { + "name": "[180]", + "element-type": "180", + "meta-type": "array" + }, + { + "name": "236", + "meta-type": "enum", + "values": [ + "none", + "vnc", + "ra2", + "ra2ne", + "tight", + "ultra", + "tls", + "vencrypt", + "sasl" + ] + }, + { + "name": "237", + "meta-type": "enum", + "values": [ + "plain", + "tls-none", + "x509-none", + "tls-vnc", + "x509-vnc", + "tls-plain", + "x509-plain", + "tls-sasl", + "x509-sasl" + ] + }, + { + "name": "238", + "meta-type": "enum", + "values": [ + "utf8", + "base64" + ] + }, + { + "name": "[239]", + "element-type": "239", + "meta-type": "array" + }, + { + "name": "239", + "tag": "type", + "variants": [ + { + "case": "number", + "type": "295" + }, + { + "case": "qcode", + "type": "296" + } + ], + "members": [ + { + "name": "type", + "type": "294" + } + ], + "meta-type": "object" + }, + { + "name": "240", + "meta-type": "enum", + "values": [ + "unavailable", + "disabled", + "enabled" + ] + }, + { + "name": "[241]", + "element-type": "241", + "meta-type": "array" + }, + { + "name": "241", + "tag": "type", + "variants": [ + { + "case": "blockdev-snapshot", + "type": "298" + }, + { + "case": "blockdev-snapshot-sync", + "type": "299" + }, + { + "case": "drive-backup", + "type": "300" + }, + { + "case": "blockdev-backup", + "type": "301" + }, + { + "case": "abort", + "type": "302" + }, + { + "case": "blockdev-snapshot-internal-sync", + "type": "303" + }, + { + "case": "block-dirty-bitmap-add", + "type": "304" + }, + { + "case": "block-dirty-bitmap-clear", + "type": "305" + } + ], + "members": [ + { + "name": "type", + "type": "297" + } + ], + "meta-type": "object" + }, + { + "name": "242", + "members": [ + { + "name": "completion-mode", + "default": null, + "type": "306" + } + ], + "meta-type": "object" + }, + { + "name": "243", + "meta-type": "enum", + "values": [ + "archipelago", + "blkdebug", + "blkverify", + "bochs", + "cloop", + "dmg", + "file", + "ftp", + "ftps", + "gluster", + "host_cdrom", + "host_device", + "http", + "https", + "luks", + "null-aio", + "null-co", + "parallels", + "qcow", + "qcow2", + "qed", + "quorum", + "raw", + "tftp", + "vdi", + "vhdx", + "vmdk", + "vpc", + "vvfat" + ] + }, + { + "name": "244", + "meta-type": "enum", + "values": [ + "ignore", + "unmap" + ] + }, + { + "name": "245", + "members": [ + { + "name": "direct", + "default": null, + "type": "bool" + }, + { + "name": "no-flush", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "246", + "meta-type": "enum", + "values": [ + "threads", + "native" + ] + }, + { + "name": "247", + "members": [ + { + "name": "volume", + "type": "str" + }, + { + "name": "mport", + "default": null, + "type": "int" + }, + { + "name": "vport", + "default": null, + "type": "int" + }, + { + "name": "segment", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "248", + "members": [ + { + "name": "image", + "type": "307" + }, + { + "name": "config", + "default": null, + "type": "str" + }, + { + "name": "align", + "default": null, + "type": "int" + }, + { + "name": "inject-error", + "default": null, + "type": "[308]" + }, + { + "name": "set-state", + "default": null, + "type": "[309]" + } + ], + "meta-type": "object" + }, + { + "name": "249", + "members": [ + { + "name": "test", + "type": "307" + }, + { + "name": "raw", + "type": "307" + } + ], + "meta-type": "object" + }, + { + "name": "250", + "members": [ + { + "name": "file", + "type": "307" + } + ], + "meta-type": "object" + }, + { + "name": "251", + "members": [ + { + "name": "filename", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "252", + "members": [ + { + "name": "volume", + "type": "str" + }, + { + "name": "path", + "type": "str" + }, + { + "name": "server", + "type": "[310]" + }, + { + "name": "debug-level", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "253", + "members": [ + { + "name": "file", + "type": "307" + }, + { + "name": "key-secret", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "254", + "members": [ + { + "name": "size", + "default": null, + "type": "int" + }, + { + "name": "latency-ns", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "255", + "members": [ + { + "name": "file", + "type": "307" + }, + { + "name": "backing", + "default": null, + "type": "307" + }, + { + "name": "lazy-refcounts", + "default": null, + "type": "bool" + }, + { + "name": "pass-discard-request", + "default": null, + "type": "bool" + }, + { + "name": "pass-discard-snapshot", + "default": null, + "type": "bool" + }, + { + "name": "pass-discard-other", + "default": null, + "type": "bool" + }, + { + "name": "overlap-check", + "default": null, + "type": "311" + }, + { + "name": "cache-size", + "default": null, + "type": "int" + }, + { + "name": "l2-cache-size", + "default": null, + "type": "int" + }, + { + "name": "refcount-cache-size", + "default": null, + "type": "int" + }, + { + "name": "cache-clean-interval", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "256", + "members": [ + { + "name": "file", + "type": "307" + }, + { + "name": "backing", + "default": null, + "type": "307" + } + ], + "meta-type": "object" + }, + { + "name": "257", + "members": [ + { + "name": "blkverify", + "default": null, + "type": "bool" + }, + { + "name": "children", + "type": "[307]" + }, + { + "name": "vote-threshold", + "type": "int" + }, + { + "name": "rewrite-corrupted", + "default": null, + "type": "bool" + }, + { + "name": "read-pattern", + "default": null, + "type": "312" + } + ], + "meta-type": "object" + }, + { + "name": "258", + "members": [ + { + "name": "dir", + "type": "str" + }, + { + "name": "fat-type", + "default": null, + "type": "int" + }, + { + "name": "floppy", + "default": null, + "type": "bool" + }, + { + "name": "label", + "default": null, + "type": "str" + }, + { + "name": "rw", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "259", + "meta-type": "enum", + "values": [ + "file", + "serial", + "parallel", + "pipe", + "socket", + "udp", + "pty", + "null", + "mux", + "msmouse", + "braille", + "testdev", + "stdio", + "console", + "spicevmc", + "spiceport", + "vc", + "ringbuf", + "memory" + ] + }, + { + "name": "260", + "members": [ + { + "name": "data", + "type": "313" + } + ], + "meta-type": "object" + }, + { + "name": "261", + "members": [ + { + "name": "data", + "type": "314" + } + ], + "meta-type": "object" + }, + { + "name": "262", + "members": [ + { + "name": "data", + "type": "315" + } + ], + "meta-type": "object" + }, + { + "name": "263", + "members": [ + { + "name": "data", + "type": "316" + } + ], + "meta-type": "object" + }, + { + "name": "264", + "members": [ + { + "name": "data", + "type": "317" + } + ], + "meta-type": "object" + }, + { + "name": "265", + "members": [ + { + "name": "data", + "type": "318" + } + ], + "meta-type": "object" + }, + { + "name": "266", + "members": [ + { + "name": "data", + "type": "319" + } + ], + "meta-type": "object" + }, + { + "name": "267", + "members": [ + { + "name": "data", + "type": "320" + } + ], + "meta-type": "object" + }, + { + "name": "268", + "members": [ + { + "name": "data", + "type": "321" + } + ], + "meta-type": "object" + }, + { + "name": "269", + "members": [ + { + "name": "data", + "type": "322" + } + ], + "meta-type": "object" + }, + { + "name": "270", + "members": [ + { + "name": "data", + "type": "323" + } + ], + "meta-type": "object" + }, + { + "name": "271", + "meta-type": "enum", + "values": [ + "key", + "btn", + "rel", + "abs" + ] + }, + { + "name": "272", + "members": [ + { + "name": "data", + "type": "324" + } + ], + "meta-type": "object" + }, + { + "name": "273", + "members": [ + { + "name": "data", + "type": "325" + } + ], + "meta-type": "object" + }, + { + "name": "274", + "members": [ + { + "name": "data", + "type": "326" + } + ], + "meta-type": "object" + }, + { + "name": "275", + "meta-type": "enum", + "values": [ + "inet", + "unix", + "fd" + ] + }, + { + "name": "276", + "members": [ + { + "name": "data", + "type": "327" + } + ], + "meta-type": "object" + }, + { + "name": "277", + "members": [ + { + "name": "data", + "type": "328" + } + ], + "meta-type": "object" + }, + { + "name": "278", + "members": [ + { + "name": "data", + "type": "329" + } + ], + "meta-type": "object" + }, + { + "name": "279", + "meta-type": "enum", + "values": [ + "active", + "disabled", + "frozen" + ] + }, + { + "name": "[280]", + "element-type": "280", + "meta-type": "array" + }, + { + "name": "280", + "members": [ + { + "name": "interval_length", + "type": "int" + }, + { + "name": "min_rd_latency_ns", + "type": "int" + }, + { + "name": "max_rd_latency_ns", + "type": "int" + }, + { + "name": "avg_rd_latency_ns", + "type": "int" + }, + { + "name": "min_wr_latency_ns", + "type": "int" + }, + { + "name": "max_wr_latency_ns", + "type": "int" + }, + { + "name": "avg_wr_latency_ns", + "type": "int" + }, + { + "name": "min_flush_latency_ns", + "type": "int" + }, + { + "name": "max_flush_latency_ns", + "type": "int" + }, + { + "name": "avg_flush_latency_ns", + "type": "int" + }, + { + "name": "avg_rd_queue_depth", + "type": "number" + }, + { + "name": "avg_wr_queue_depth", + "type": "number" + } + ], + "meta-type": "object" + }, + { + "name": "281", + "meta-type": "enum", + "values": [ + "string", + "boolean", + "number", + "size" + ] + }, + { + "name": "282", + "members": [ + { + "name": "id", + "default": null, + "type": "str" + }, + { + "name": "addr", + "type": "int" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "slot", + "type": "int" + }, + { + "name": "node", + "type": "int" + }, + { + "name": "memdev", + "type": "str" + }, + { + "name": "hotplugged", + "type": "bool" + }, + { + "name": "hotpluggable", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "[54]", + "element-type": "54", + "meta-type": "array" + }, + { + "name": "283", + "tag": "type", + "variants": [ + { + "case": "qcow2", + "type": "331" + }, + { + "case": "vmdk", + "type": "332" + }, + { + "case": "luks", + "type": "333" + } + ], + "members": [ + { + "name": "type", + "type": "330" + } + ], + "meta-type": "object" + }, + { + "name": "284", + "members": [ + { + "name": "desc", + "default": null, + "type": "str" + }, + { + "name": "class", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "285", + "members": [ + { + "name": "device", + "type": "int" + }, + { + "name": "vendor", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "286", + "members": [ + { + "name": "bus", + "type": "334" + }, + { + "name": "devices", + "default": null, + "type": "[216]" + } + ], + "meta-type": "object" + }, + { + "name": "[287]", + "element-type": "287", + "meta-type": "array" + }, + { + "name": "287", + "members": [ + { + "name": "bar", + "type": "int" + }, + { + "name": "type", + "type": "str" + }, + { + "name": "address", + "type": "int" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "prefetch", + "default": null, + "type": "bool" + }, + { + "name": "mem_type_64", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "288", + "meta-type": "enum", + "values": [ + "string", + "number", + "int", + "boolean", + "null", + "object", + "array", + "value" + ] + }, + { + "name": "[289]", + "element-type": "289", + "meta-type": "array" + }, + { + "name": "289", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "type", + "type": "str" + }, + { + "name": "default", + "default": null, + "type": "any" + } + ], + "meta-type": "object" + }, + { + "name": "[290]", + "element-type": "290", + "meta-type": "array" + }, + { + "name": "290", + "members": [ + { + "name": "case", + "type": "str" + }, + { + "name": "type", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[291]", + "element-type": "291", + "meta-type": "array" + }, + { + "name": "291", + "members": [ + { + "name": "type", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "292", + "meta-type": "enum", + "values": [ + "passthrough" + ] + }, + { + "name": "293", + "members": [ + { + "name": "data", + "type": "335" + } + ], + "meta-type": "object" + }, + { + "name": "294", + "meta-type": "enum", + "values": [ + "number", + "qcode" + ] + }, + { + "name": "295", + "members": [ + { + "name": "data", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "296", + "members": [ + { + "name": "data", + "type": "336" + } + ], + "meta-type": "object" + }, + { + "name": "297", + "meta-type": "enum", + "values": [ + "blockdev-snapshot", + "blockdev-snapshot-sync", + "drive-backup", + "blockdev-backup", + "abort", + "blockdev-snapshot-internal-sync", + "block-dirty-bitmap-add", + "block-dirty-bitmap-clear" + ] + }, + { + "name": "298", + "members": [ + { + "name": "data", + "type": "52" + } + ], + "meta-type": "object" + }, + { + "name": "299", + "members": [ + { + "name": "data", + "type": "56" + } + ], + "meta-type": "object" + }, + { + "name": "300", + "members": [ + { + "name": "data", + "type": "70" + } + ], + "meta-type": "object" + }, + { + "name": "301", + "members": [ + { + "name": "data", + "type": "47" + } + ], + "meta-type": "object" + }, + { + "name": "302", + "members": [ + { + "name": "data", + "type": "337" + } + ], + "meta-type": "object" + }, + { + "name": "303", + "members": [ + { + "name": "data", + "type": "55" + } + ], + "meta-type": "object" + }, + { + "name": "304", + "members": [ + { + "name": "data", + "type": "34" + } + ], + "meta-type": "object" + }, + { + "name": "305", + "members": [ + { + "name": "data", + "type": "35" + } + ], + "meta-type": "object" + }, + { + "name": "306", + "meta-type": "enum", + "values": [ + "individual", + "grouped" + ] + }, + { + "name": "307", + "members": [ + { + "type": "184" + }, + { + "type": "str" + } + ], + "meta-type": "alternate" + }, + { + "name": "[308]", + "element-type": "308", + "meta-type": "array" + }, + { + "name": "308", + "members": [ + { + "name": "event", + "type": "338" + }, + { + "name": "state", + "default": null, + "type": "int" + }, + { + "name": "errno", + "default": null, + "type": "int" + }, + { + "name": "sector", + "default": null, + "type": "int" + }, + { + "name": "once", + "default": null, + "type": "bool" + }, + { + "name": "immediately", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "[309]", + "element-type": "309", + "meta-type": "array" + }, + { + "name": "309", + "members": [ + { + "name": "event", + "type": "338" + }, + { + "name": "state", + "default": null, + "type": "int" + }, + { + "name": "new_state", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "[310]", + "element-type": "310", + "meta-type": "array" + }, + { + "name": "310", + "tag": "type", + "variants": [ + { + "case": "unix", + "type": "328" + }, + { + "case": "tcp", + "type": "327" + } + ], + "members": [ + { + "name": "type", + "type": "339" + } + ], + "meta-type": "object" + }, + { + "name": "311", + "members": [ + { + "type": "340" + }, + { + "type": "341" + } + ], + "meta-type": "alternate" + }, + { + "name": "[307]", + "element-type": "307", + "meta-type": "array" + }, + { + "name": "312", + "meta-type": "enum", + "values": [ + "quorum", + "fifo" + ] + }, + { + "name": "313", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "in", + "default": null, + "type": "str" + }, + { + "name": "out", + "type": "str" + }, + { + "name": "append", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "314", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "device", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "315", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "addr", + "type": "191" + }, + { + "name": "tls-creds", + "default": null, + "type": "str" + }, + { + "name": "server", + "default": null, + "type": "bool" + }, + { + "name": "wait", + "default": null, + "type": "bool" + }, + { + "name": "nodelay", + "default": null, + "type": "bool" + }, + { + "name": "telnet", + "default": null, + "type": "bool" + }, + { + "name": "reconnect", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "316", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "remote", + "type": "191" + }, + { + "name": "local", + "default": null, + "type": "191" + } + ], + "meta-type": "object" + }, + { + "name": "317", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "318", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "chardev", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "319", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "signal", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "320", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "type", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "321", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "fqdn", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "322", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "width", + "default": null, + "type": "int" + }, + { + "name": "height", + "default": null, + "type": "int" + }, + { + "name": "cols", + "default": null, + "type": "int" + }, + { + "name": "rows", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "323", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "size", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "324", + "members": [ + { + "name": "key", + "type": "239" + }, + { + "name": "down", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "325", + "members": [ + { + "name": "button", + "type": "342" + }, + { + "name": "down", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "326", + "members": [ + { + "name": "axis", + "type": "343" + }, + { + "name": "value", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "327", + "members": [ + { + "name": "host", + "type": "str" + }, + { + "name": "port", + "type": "str" + }, + { + "name": "to", + "default": null, + "type": "int" + }, + { + "name": "ipv4", + "default": null, + "type": "bool" + }, + { + "name": "ipv6", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "328", + "members": [ + { + "name": "path", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "329", + "members": [ + { + "name": "str", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "330", + "meta-type": "enum", + "values": [ + "qcow2", + "vmdk", + "luks" + ] + }, + { + "name": "331", + "members": [ + { + "name": "data", + "type": "344" + } + ], + "meta-type": "object" + }, + { + "name": "332", + "members": [ + { + "name": "data", + "type": "345" + } + ], + "meta-type": "object" + }, + { + "name": "333", + "members": [ + { + "name": "data", + "type": "346" + } + ], + "meta-type": "object" + }, + { + "name": "334", + "members": [ + { + "name": "number", + "type": "int" + }, + { + "name": "secondary", + "type": "int" + }, + { + "name": "subordinate", + "type": "int" + }, + { + "name": "io_range", + "type": "347" + }, + { + "name": "memory_range", + "type": "347" + }, + { + "name": "prefetchable_range", + "type": "347" + } + ], + "meta-type": "object" + }, + { + "name": "335", + "members": [ + { + "name": "path", + "default": null, + "type": "str" + }, + { + "name": "cancel-path", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "336", + "meta-type": "enum", + "values": [ + "unmapped", + "shift", + "shift_r", + "alt", + "alt_r", + "altgr", + "altgr_r", + "ctrl", + "ctrl_r", + "menu", + "esc", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "0", + "minus", + "equal", + "backspace", + "tab", + "q", + "w", + "e", + "r", + "t", + "y", + "u", + "i", + "o", + "p", + "bracket_left", + "bracket_right", + "ret", + "a", + "s", + "d", + "f", + "g", + "h", + "j", + "k", + "l", + "semicolon", + "apostrophe", + "grave_accent", + "backslash", + "z", + "x", + "c", + "v", + "b", + "n", + "m", + "comma", + "dot", + "slash", + "asterisk", + "spc", + "caps_lock", + "f1", + "f2", + "f3", + "f4", + "f5", + "f6", + "f7", + "f8", + "f9", + "f10", + "num_lock", + "scroll_lock", + "kp_divide", + "kp_multiply", + "kp_subtract", + "kp_add", + "kp_enter", + "kp_decimal", + "sysrq", + "kp_0", + "kp_1", + "kp_2", + "kp_3", + "kp_4", + "kp_5", + "kp_6", + "kp_7", + "kp_8", + "kp_9", + "less", + "f11", + "f12", + "print", + "home", + "pgup", + "pgdn", + "end", + "left", + "up", + "down", + "right", + "insert", + "delete", + "stop", + "again", + "props", + "undo", + "front", + "copy", + "open", + "paste", + "find", + "cut", + "lf", + "help", + "meta_l", + "meta_r", + "compose", + "pause", + "ro", + "kp_comma", + "kp_equals", + "power" + ] + }, + { + "name": "337", + "members": [ + ], + "meta-type": "object" + }, + { + "name": "338", + "meta-type": "enum", + "values": [ + "l1_update", + "l1_grow_alloc_table", + "l1_grow_write_table", + "l1_grow_activate_table", + "l2_load", + "l2_update", + "l2_update_compressed", + "l2_alloc_cow_read", + "l2_alloc_write", + "read_aio", + "read_backing_aio", + "read_compressed", + "write_aio", + "write_compressed", + "vmstate_load", + "vmstate_save", + "cow_read", + "cow_write", + "reftable_load", + "reftable_grow", + "reftable_update", + "refblock_load", + "refblock_update", + "refblock_update_part", + "refblock_alloc", + "refblock_alloc_hookup", + "refblock_alloc_write", + "refblock_alloc_write_blocks", + "refblock_alloc_write_table", + "refblock_alloc_switch_table", + "cluster_alloc", + "cluster_alloc_bytes", + "cluster_free", + "flush_to_os", + "flush_to_disk", + "pwritev_rmw_head", + "pwritev_rmw_after_head", + "pwritev_rmw_tail", + "pwritev_rmw_after_tail", + "pwritev", + "pwritev_zero", + "pwritev_done", + "empty_image_prepare" + ] + }, + { + "name": "339", + "meta-type": "enum", + "values": [ + "unix", + "tcp" + ] + }, + { + "name": "340", + "members": [ + { + "name": "template", + "default": null, + "type": "341" + }, + { + "name": "main-header", + "default": null, + "type": "bool" + }, + { + "name": "active-l1", + "default": null, + "type": "bool" + }, + { + "name": "active-l2", + "default": null, + "type": "bool" + }, + { + "name": "refcount-table", + "default": null, + "type": "bool" + }, + { + "name": "refcount-block", + "default": null, + "type": "bool" + }, + { + "name": "snapshot-table", + "default": null, + "type": "bool" + }, + { + "name": "inactive-l1", + "default": null, + "type": "bool" + }, + { + "name": "inactive-l2", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "341", + "meta-type": "enum", + "values": [ + "none", + "constant", + "cached", + "all" + ] + }, + { + "name": "342", + "meta-type": "enum", + "values": [ + "left", + "middle", + "right", + "wheel-up", + "wheel-down" + ] + }, + { + "name": "343", + "meta-type": "enum", + "values": [ + "x", + "y" + ] + }, + { + "name": "344", + "members": [ + { + "name": "compat", + "type": "str" + }, + { + "name": "lazy-refcounts", + "default": null, + "type": "bool" + }, + { + "name": "corrupt", + "default": null, + "type": "bool" + }, + { + "name": "refcount-bits", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "345", + "members": [ + { + "name": "create-type", + "type": "str" + }, + { + "name": "cid", + "type": "int" + }, + { + "name": "parent-cid", + "type": "int" + }, + { + "name": "extents", + "type": "[214]" + } + ], + "meta-type": "object" + }, + { + "name": "346", + "members": [ + { + "name": "cipher-alg", + "type": "348" + }, + { + "name": "cipher-mode", + "type": "349" + }, + { + "name": "ivgen-alg", + "type": "350" + }, + { + "name": "ivgen-hash-alg", + "default": null, + "type": "351" + }, + { + "name": "hash-alg", + "type": "351" + }, + { + "name": "payload-offset", + "type": "int" + }, + { + "name": "master-key-iters", + "type": "int" + }, + { + "name": "uuid", + "type": "str" + }, + { + "name": "slots", + "type": "[352]" + } + ], + "meta-type": "object" + }, + { + "name": "347", + "members": [ + { + "name": "base", + "type": "int" + }, + { + "name": "limit", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "[214]", + "element-type": "214", + "meta-type": "array" + }, + { + "name": "348", + "meta-type": "enum", + "values": [ + "aes-128", + "aes-192", + "aes-256", + "des-rfb", + "cast5-128", + "serpent-128", + "serpent-192", + "serpent-256", + "twofish-128", + "twofish-192", + "twofish-256" + ] + }, + { + "name": "349", + "meta-type": "enum", + "values": [ + "ecb", + "cbc", + "xts" + ] + }, + { + "name": "350", + "meta-type": "enum", + "values": [ + "plain", + "plain64", + "essiv" + ] + }, + { + "name": "351", + "meta-type": "enum", + "values": [ + "md5", + "sha1", + "sha224", + "sha256", + "sha384", + "sha512", + "ripemd160" + ] + }, + { + "name": "[352]", + "element-type": "352", + "meta-type": "array" + }, + { + "name": "352", + "members": [ + { + "name": "active", + "type": "bool" + }, + { + "name": "iters", + "default": null, + "type": "int" + }, + { + "name": "stripes", + "default": null, + "type": "int" + }, + { + "name": "key-offset", + "type": "int" + } + ], + "meta-type": "object" + } + ], + "id": "libvirt-47" +} + +{ + "return": { + }, + "id": "libvirt-1" +} + +{ + "return": [ + { + "name": "host" + } + ], + "id": "libvirt-2" +} diff --git a/tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml new file mode 100644 index 0000000..af21017 --- /dev/null +++ b/tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml @@ -0,0 +1,140 @@ +<qemuCaps> + <qemuctime>0</qemuctime> + <selfctime>0</selfctime> + <selfvers>0</selfvers> + <usedQMP/> + <flag name='kvm'/> + <flag name='mem-path'/> + <flag name='drive-serial'/> + <flag name='chardev'/> + <flag name='monitor-json'/> + <flag name='sdl'/> + <flag name='netdev'/> + <flag name='rtc'/> + <flag name='vhost-net'/> + <flag name='nodefconfig'/> + <flag name='boot-menu'/> + <flag name='fsdev'/> + <flag name='name-process'/> + <flag name='smbios-type'/> + <flag name='vga-none'/> + <flag name='boot-index'/> + <flag name='drive-aio'/> + <flag name='chardev-spicevmc'/> + <flag name='virtio-tx-alg'/> + <flag name='pci-multifunction'/> + <flag name='virtio-blk-pci.ioeventfd'/> + <flag name='virtio-blk-pci.event_idx'/> + <flag name='virtio-net-pci.event_idx'/> + <flag name='cache-directsync'/> + <flag name='no-shutdown'/> + <flag name='cache-unsafe'/> + <flag name='fsdev-readonly'/> + <flag name='virtio-blk-pci.scsi'/> + <flag name='drive-copy-on-read'/> + <flag name='fsdev-writeout'/> + <flag name='drive-iotune'/> + <flag name='system_wakeup'/> + <flag name='scsi-disk.channel'/> + <flag name='scsi-block'/> + <flag name='transaction'/> + <flag name='block-job-async'/> + <flag name='scsi-cd'/> + <flag name='no-user-config'/> + <flag name='dump-guest-memory'/> + <flag name='balloon-event'/> + <flag name='bridge'/> + <flag name='virtio-scsi-pci'/> + <flag name='blockio'/> + <flag name='scsi-disk.wwn'/> + <flag name='seccomp-sandbox'/> + <flag name='reboot-timeout'/> + <flag name='dump-guest-core'/> + <flag name='seamless-migration'/> + <flag name='block-commit'/> + <flag name='vnc'/> + <flag name='drive-mirror'/> + <flag name='blockdev-snapshot-sync'/> + <flag name='device-video-primary'/> + <flag name='s390-sclp'/> + <flag name='add-fd'/> + <flag name='nbd-server'/> + <flag name='virtio-rng'/> + <flag name='rng-random'/> + <flag name='rng-egd'/> + <flag name='virtio-ccw'/> + <flag name='dtb'/> + <flag name='ipv6-migration'/> + <flag name='machine-opt'/> + <flag name='machine-usb-opt'/> + <flag name='pci-bridge'/> + <flag name='vfio-pci'/> + <flag name='vfio-pci.bootindex'/> + <flag name='scsi-generic'/> + <flag name='scsi-generic.bootindex'/> + <flag name='mem-merge'/> + <flag name='vnc-websocket'/> + <flag name='drive-discard'/> + <flag name='mlock'/> + <flag name='vnc-share-policy'/> + <flag name='device-del-event'/> + <flag name='virtio-mmio'/> + <flag name='boot-strict'/> + <flag name='spiceport'/> + <flag name='host-pci-multidomain'/> + <flag name='msg-timestamp'/> + <flag name='active-commit'/> + <flag name='change-backing-file'/> + <flag name='memory-backend-ram'/> + <flag name='numa'/> + <flag name='memory-backend-file'/> + <flag name='splash-timeout'/> + <flag name='iothread'/> + <flag name='migrate-rdma'/> + <flag name='drive-iotune-max'/> + <flag name='machine-vmport-opt'/> + <flag name='aes-key-wrap'/> + <flag name='dea-key-wrap'/> + <flag name='vhost-user-multiqueue'/> + <flag name='migration-event'/> + <flag name='virtio-net'/> + <flag name='gic-version'/> + <flag name='incoming-defer'/> + <flag name='virtio-gpu'/> + <flag name='virtio-keyboard'/> + <flag name='virtio-mouse'/> + <flag name='virtio-tablet'/> + <flag name='virtio-input-host'/> + <flag name='chardev-file-append'/> + <flag name='vserport-change-event'/> + <flag name='virtio-balloon-pci.deflate-on-oom'/> + <flag name='chardev-logfile'/> + <flag name='debug-threads'/> + <flag name='secret'/> + <flag name='pxb'/> + <flag name='pxb-pcie'/> + <flag name='device-tray-moved-event'/> + <flag name='virtio-scsi-pci.iothread'/> + <flag name='name-guest'/> + <flag name='drive-detect-zeroes'/> + <flag name='tls-creds-x509'/> + <flag name='display'/> + <flag name='smm'/> + <flag name='virtio-pci-disable-legacy'/> + <flag name='query-hotpluggable-cpus'/> + <flag name='drive-iotune-max-length'/> + <flag name='query-qmp-schema'/> + <flag name='gluster.debug_level'/> + <flag name='vhost-scsi'/> + <flag name='drive-iotune-group'/> + <version>2007000</version> + <kvmVersion>0</kvmVersion> + <package></package> + <arch>s390x</arch> + <cpu type='kvm' name='host'/> + <cpu type='tcg' name='host'/> + <machine name='s390-ccw-virtio-2.7' alias='s390-ccw-virtio' maxCpus='248'/> + <machine name='s390-ccw-virtio-2.5' maxCpus='248'/> + <machine name='s390-ccw-virtio-2.4' maxCpus='248'/> + <machine name='s390-ccw-virtio-2.6' maxCpus='248'/> +</qemuCaps> diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.replies b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.replies new file mode 100644 index 0000000..3ccad4f --- /dev/null +++ b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.replies @@ -0,0 +1,13354 @@ +{ + "QMP": { + "version": { + "qemu": { + "micro": 93, + "minor": 7, + "major": 2 + }, + "package": "" + }, + "capabilities": [ + ] + } +} + +{ + "return": { + }, + "id": "libvirt-1" +} + +{ + "return": { + "qemu": { + "micro": 93, + "minor": 7, + "major": 2 + }, + "package": "" + }, + "id": "libvirt-2" +} + +{ + "return": { + "arch": "s390x" + }, + "id": "libvirt-3" +} + +{ + "return": [ + { + "name": "xen-set-global-dirty-log" + }, + { + "name": "xen-save-devices-state" + }, + { + "name": "xen-load-devices-state" + }, + { + "name": "x-colo-lost-heartbeat" + }, + { + "name": "x-blockdev-remove-medium" + }, + { + "name": "x-blockdev-insert-medium" + }, + { + "name": "x-blockdev-del" + }, + { + "name": "x-blockdev-change" + }, + { + "name": "transaction" + }, + { + "name": "trace-event-set-state" + }, + { + "name": "trace-event-get-state" + }, + { + "name": "system_wakeup" + }, + { + "name": "system_reset" + }, + { + "name": "system_powerdown" + }, + { + "name": "stop" + }, + { + "name": "set_password" + }, + { + "name": "set_link" + }, + { + "name": "send-key" + }, + { + "name": "screendump" + }, + { + "name": "ringbuf-write" + }, + { + "name": "ringbuf-read" + }, + { + "name": "remove-fd" + }, + { + "name": "quit" + }, + { + "name": "query-vnc-servers" + }, + { + "name": "query-vnc" + }, + { + "name": "query-version" + }, + { + "name": "query-uuid" + }, + { + "name": "query-tpm-types" + }, + { + "name": "query-tpm-models" + }, + { + "name": "query-tpm" + }, + { + "name": "query-target" + }, + { + "name": "query-status" + }, + { + "name": "query-rx-filter" + }, + { + "name": "query-rocker-ports" + }, + { + "name": "query-rocker-of-dpa-groups" + }, + { + "name": "query-rocker-of-dpa-flows" + }, + { + "name": "query-rocker" + }, + { + "name": "query-pci" + }, + { + "name": "query-named-block-nodes" + }, + { + "name": "query-name" + }, + { + "name": "query-migrate-parameters" + }, + { + "name": "query-migrate-capabilities" + }, + { + "name": "query-migrate-cache-size" + }, + { + "name": "query-migrate" + }, + { + "name": "query-mice" + }, + { + "name": "query-memory-devices" + }, + { + "name": "query-memdev" + }, + { + "name": "query-machines" + }, + { + "name": "query-kvm" + }, + { + "name": "query-iothreads" + }, + { + "name": "query-hotpluggable-cpus" + }, + { + "name": "query-fdsets" + }, + { + "name": "query-events" + }, + { + "name": "query-dump-guest-memory-capability" + }, + { + "name": "query-dump" + }, + { + "name": "query-cpus" + }, + { + "name": "query-cpu-model-expansion" + }, + { + "name": "query-cpu-model-comparison" + }, + { + "name": "query-cpu-model-baseline" + }, + { + "name": "query-cpu-definitions" + }, + { + "name": "query-commands" + }, + { + "name": "query-command-line-options" + }, + { + "name": "query-chardev-backends" + }, + { + "name": "query-chardev" + }, + { + "name": "query-blockstats" + }, + { + "name": "query-block-jobs" + }, + { + "name": "query-block" + }, + { + "name": "query-balloon" + }, + { + "name": "query-acpi-ospm-status" + }, + { + "name": "qom-set" + }, + { + "name": "qom-list-types" + }, + { + "name": "qom-list" + }, + { + "name": "qom-get" + }, + { + "name": "qmp_capabilities" + }, + { + "name": "pmemsave" + }, + { + "name": "object-del" + }, + { + "name": "object-add" + }, + { + "name": "netdev_del" + }, + { + "name": "nbd-server-stop" + }, + { + "name": "nbd-server-start" + }, + { + "name": "nbd-server-add" + }, + { + "name": "migrate_set_speed" + }, + { + "name": "migrate_set_downtime" + }, + { + "name": "migrate_cancel" + }, + { + "name": "migrate-start-postcopy" + }, + { + "name": "migrate-set-parameters" + }, + { + "name": "migrate-set-capabilities" + }, + { + "name": "migrate-set-cache-size" + }, + { + "name": "migrate-incoming" + }, + { + "name": "migrate" + }, + { + "name": "memsave" + }, + { + "name": "input-send-event" + }, + { + "name": "inject-nmi" + }, + { + "name": "human-monitor-command" + }, + { + "name": "getfd" + }, + { + "name": "expire_password" + }, + { + "name": "eject" + }, + { + "name": "dump-skeys" + }, + { + "name": "dump-guest-memory" + }, + { + "name": "drive-mirror" + }, + { + "name": "drive-backup" + }, + { + "name": "device_del" + }, + { + "name": "device-list-properties" + }, + { + "name": "cpu-add" + }, + { + "name": "cpu" + }, + { + "name": "cont" + }, + { + "name": "closefd" + }, + { + "name": "client_migrate_info" + }, + { + "name": "chardev-remove" + }, + { + "name": "chardev-add" + }, + { + "name": "change-vnc-password" + }, + { + "name": "change-backing-file" + }, + { + "name": "change" + }, + { + "name": "blockdev-snapshot-sync" + }, + { + "name": "blockdev-snapshot-internal-sync" + }, + { + "name": "blockdev-snapshot-delete-internal-sync" + }, + { + "name": "blockdev-snapshot" + }, + { + "name": "blockdev-open-tray" + }, + { + "name": "blockdev-mirror" + }, + { + "name": "blockdev-close-tray" + }, + { + "name": "blockdev-change-medium" + }, + { + "name": "blockdev-backup" + }, + { + "name": "blockdev-add" + }, + { + "name": "block_set_io_throttle" + }, + { + "name": "block_resize" + }, + { + "name": "block_passwd" + }, + { + "name": "block-stream" + }, + { + "name": "block-set-write-threshold" + }, + { + "name": "block-job-set-speed" + }, + { + "name": "block-job-resume" + }, + { + "name": "block-job-pause" + }, + { + "name": "block-job-complete" + }, + { + "name": "block-job-cancel" + }, + { + "name": "block-dirty-bitmap-remove" + }, + { + "name": "block-dirty-bitmap-clear" + }, + { + "name": "block-dirty-bitmap-add" + }, + { + "name": "block-commit" + }, + { + "name": "balloon" + }, + { + "name": "add_client" + }, + { + "name": "add-fd" + }, + { + "name": "netdev_add" + }, + { + "name": "device_add" + }, + { + "name": "query-qmp-schema" + } + ], + "id": "libvirt-4" +} + +{ + "return": { + "fd": 16, + "fdset-id": 0 + }, + "id": "libvirt-5" +} + +{ + "id": "libvirt-6", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'bogus' not found" + } +} + +{ + "return": { + "enabled": true, + "present": true + }, + "id": "libvirt-7" +} + +{ + "return": [ + { + "name": "WATCHDOG" + }, + { + "name": "WAKEUP" + }, + { + "name": "VSERPORT_CHANGE" + }, + { + "name": "VNC_INITIALIZED" + }, + { + "name": "VNC_DISCONNECTED" + }, + { + "name": "VNC_CONNECTED" + }, + { + "name": "SUSPEND_DISK" + }, + { + "name": "SUSPEND" + }, + { + "name": "STOP" + }, + { + "name": "SPICE_MIGRATE_COMPLETED" + }, + { + "name": "SPICE_INITIALIZED" + }, + { + "name": "SPICE_DISCONNECTED" + }, + { + "name": "SPICE_CONNECTED" + }, + { + "name": "SHUTDOWN" + }, + { + "name": "RTC_CHANGE" + }, + { + "name": "RESUME" + }, + { + "name": "RESET" + }, + { + "name": "QUORUM_REPORT_BAD" + }, + { + "name": "QUORUM_FAILURE" + }, + { + "name": "POWERDOWN" + }, + { + "name": "NIC_RX_FILTER_CHANGED" + }, + { + "name": "MIGRATION_PASS" + }, + { + "name": "MIGRATION" + }, + { + "name": "MEM_UNPLUG_ERROR" + }, + { + "name": "GUEST_PANICKED" + }, + { + "name": "DUMP_COMPLETED" + }, + { + "name": "DEVICE_TRAY_MOVED" + }, + { + "name": "DEVICE_DELETED" + }, + { + "name": "BLOCK_WRITE_THRESHOLD" + }, + { + "name": "BLOCK_JOB_READY" + }, + { + "name": "BLOCK_JOB_ERROR" + }, + { + "name": "BLOCK_JOB_COMPLETED" + }, + { + "name": "BLOCK_JOB_CANCELLED" + }, + { + "name": "BLOCK_IO_ERROR" + }, + { + "name": "BLOCK_IMAGE_CORRUPTED" + }, + { + "name": "BALLOON_CHANGE" + }, + { + "name": "ACPI_DEVICE_OST" + } + ], + "id": "libvirt-8" +} + +{ + "return": [ + { + "name": "vhost-vsock-pci" + }, + { + "name": "z10EC-base-s390-cpu" + }, + { + "name": "s390-pcihost" + }, + { + "name": "virtio-tablet-pci" + }, + { + "name": "z9EC-base-s390-cpu" + }, + { + "name": "cryptodev-backend" + }, + { + "name": "virtio-rng-ccw" + }, + { + "name": "iothread" + }, + { + "name": "z196.2-base-s390-cpu" + }, + { + "name": "z900-base-s390-cpu" + }, + { + "name": "virtio-gpu-device" + }, + { + "name": "z990-s390-cpu" + }, + { + "name": "z900.2-base-s390-cpu" + }, + { + "name": "host-s390-cpu" + }, + { + "name": "z900.3-s390-cpu" + }, + { + "name": "z114-s390-cpu" + }, + { + "name": "vhost-scsi-ccw" + }, + { + "name": "i2c-bus" + }, + { + "name": "s390-flic" + }, + { + "name": "vhost-vsock-device" + }, + { + "name": "z890-base-s390-cpu" + }, + { + "name": "sclplmconsole" + }, + { + "name": "z13.2-base-s390-cpu" + }, + { + "name": "zEC12.2-s390-cpu" + }, + { + "name": "z900.2-s390-cpu" + }, + { + "name": "z10BC-s390-cpu" + }, + { + "name": "scsi-cd" + }, + { + "name": "z10BC.2-s390-cpu" + }, + { + "name": "container" + }, + { + "name": "user-creatable" + }, + { + "name": "z196-s390-cpu" + }, + { + "name": "s390-pcibus" + }, + { + "name": "scsi-generic" + }, + { + "name": "z9EC-s390-cpu" + }, + { + "name": "virtio-net-pci" + }, + { + "name": "virtio-mouse-device" + }, + { + "name": "virtio-mouse-pci" + }, + { + "name": "rng-egd" + }, + { + "name": "z990-base-s390-cpu" + }, + { + "name": "virtio-blk-ccw" + }, + { + "name": "s390-ipl" + }, + { + "name": "s390-sclp-events-bus" + }, + { + "name": "pxb-host" + }, + { + "name": "irq" + }, + { + "name": "z10EC.3-s390-cpu" + }, + { + "name": "s390-ccw-virtio-2.8-machine" + }, + { + "name": "filter-buffer" + }, + { + "name": "virtconsole" + }, + { + "name": "virtio-rng-pci" + }, + { + "name": "PCIE" + }, + { + "name": "vfio-amd-xgbe" + }, + { + "name": "z900-s390-cpu" + }, + { + "name": "z9EC.3-base-s390-cpu" + }, + { + "name": "z990.5-base-s390-cpu" + }, + { + "name": "sclp-cpu-hotplug" + }, + { + "name": "s390-skeys-kvm" + }, + { + "name": "z10EC.2-s390-cpu" + }, + { + "name": "usb-bus" + }, + { + "name": "vhost-scsi-pci" + }, + { + "name": "z9BC.2-s390-cpu" + }, + { + "name": "filter-rewriter" + }, + { + "name": "z10EC-s390-cpu" + }, + { + "name": "z990.3-base-s390-cpu" + }, + { + "name": "sclp" + }, + { + "name": "or-irq" + }, + { + "name": "z13s-s390-cpu" + }, + { + "name": "virtual-css-bus" + }, + { + "name": "filter-redirector" + }, + { + "name": "virtio-tablet-device" + }, + { + "name": "z10EC.3-base-s390-cpu" + }, + { + "name": "zEC12.2-base-s390-cpu" + }, + { + "name": "z890.3-base-s390-cpu" + }, + { + "name": "sclpquiesce" + }, + { + "name": "scsi-disk" + }, + { + "name": "z9EC.3-s390-cpu" + }, + { + "name": "vfio-pci-igd-lpc-bridge" + }, + { + "name": "z990.5-s390-cpu" + }, + { + "name": "z13-s390-cpu" + }, + { + "name": "vfio-calxeda-xgmac" + }, + { + "name": "virtio-scsi-device" + }, + { + "name": "z13s-base-s390-cpu" + }, + { + "name": "virtio-blk-pci" + }, + { + "name": "filter-dump" + }, + { + "name": "s390-ccw-virtio-2.4-machine" + }, + { + "name": "z9EC.2-s390-cpu" + }, + { + "name": "qio-channel-buffer" + }, + { + "name": "virtio-mmio" + }, + { + "name": "z990.4-s390-cpu" + }, + { + "name": "intctrl" + }, + { + "name": "System" + }, + { + "name": "filter-mirror" + }, + { + "name": "virtio-net-device" + }, + { + "name": "qemu-console" + }, + { + "name": "zEC12-base-s390-cpu" + }, + { + "name": "colo-compare" + }, + { + "name": "z9EC.2-base-s390-cpu" + }, + { + "name": "sclp-memory-hotplug-dev" + }, + { + "name": "s390-ccw-virtio-2.5-machine" + }, + { + "name": "virtio-keyboard-device" + }, + { + "name": "virtio-keyboard-pci" + }, + { + "name": "zBC12-s390-cpu" + }, + { + "name": "input-linux" + }, + { + "name": "z196.2-s390-cpu" + }, + { + "name": "virtual-css-bridge" + }, + { + "name": "diag288" + }, + { + "name": "z990.3-s390-cpu" + }, + { + "name": "tls-creds-anon" + }, + { + "name": "isabus-bridge" + }, + { + "name": "memory-backend-file" + }, + { + "name": "z990.2-base-s390-cpu" + }, + { + "name": "qemu:memory-region" + }, + { + "name": "virtio-crypto-pci" + }, + { + "name": "z900.3-base-s390-cpu" + }, + { + "name": "rng-random" + }, + { + "name": "hotplug-handler" + }, + { + "name": "z890.3-s390-cpu" + }, + { + "name": "z10EC.2-base-s390-cpu" + }, + { + "name": "z990.2-s390-cpu" + }, + { + "name": "virtio-ccw-bus" + }, + { + "name": "virtio-balloon-ccw" + }, + { + "name": "virtio-scsi-ccw" + }, + { + "name": "pxb-bus" + }, + { + "name": "z890.2-s390-cpu" + }, + { + "name": "fw_cfg_io" + }, + { + "name": "virtio-crypto-device" + }, + { + "name": "zBC12-base-s390-cpu" + }, + { + "name": "z800-base-s390-cpu" + }, + { + "name": "fw-path-provider" + }, + { + "name": "zEC12-s390-cpu" + }, + { + "name": "pci-bridge-seat" + }, + { + "name": "z9BC.2-base-s390-cpu" + }, + { + "name": "vhost-scsi" + }, + { + "name": "isa-dma" + }, + { + "name": "tcg-accel" + }, + { + "name": "virtio-mmio-bus" + }, + { + "name": "qio-channel-command" + }, + { + "name": "accel" + }, + { + "name": "pxb-pcie-bus" + }, + { + "name": "z9BC-s390-cpu" + }, + { + "name": "loader" + }, + { + "name": "virtio-serial-bus" + }, + { + "name": "virtio-balloon-device" + }, + { + "name": "virtio-serial-ccw" + }, + { + "name": "virtio-serial-device" + }, + { + "name": "s390-flic-kvm" + }, + { + "name": "pxb-pcie" + }, + { + "name": "qio-channel-file" + }, + { + "name": "virtio-input-host-device" + }, + { + "name": "s390-sclp-event-facility" + }, + { + "name": "z10BC.2-base-s390-cpu" + }, + { + "name": "none-machine" + }, + { + "name": "pci-bridge" + }, + { + "name": "SCSI" + }, + { + "name": "tls-creds-x509" + }, + { + "name": "vhost-vsock-ccw" + }, + { + "name": "z990.4-base-s390-cpu" + }, + { + "name": "ISA" + }, + { + "name": "qemu-s390-cpu" + }, + { + "name": "kvm-accel" + }, + { + "name": "secret" + }, + { + "name": "scsi-hd" + }, + { + "name": "qtest-accel" + }, + { + "name": "virtio-balloon-pci" + }, + { + "name": "scsi-block" + }, + { + "name": "virtio-scsi-pci" + }, + { + "name": "fw_cfg_mem" + }, + { + "name": "s390-ccw-virtio-2.6-machine" + }, + { + "name": "PCI" + }, + { + "name": "sclpconsole" + }, + { + "name": "z10BC-base-s390-cpu" + }, + { + "name": "qio-channel-websock" + }, + { + "name": "z9BC-base-s390-cpu" + }, + { + "name": "z800-s390-cpu" + }, + { + "name": "virtio-input-host-pci" + }, + { + "name": "nmi" + }, + { + "name": "cryptodev-backend-builtin" + }, + { + "name": "s390-skeys-qemu" + }, + { + "name": "qemu,register" + }, + { + "name": "zpci" + }, + { + "name": "s390-ccw-virtio-2.7-machine" + }, + { + "name": "pxb" + }, + { + "name": "virtio-pci-bus" + }, + { + "name": "s390-flic-qemu" + }, + { + "name": "z890.2-base-s390-cpu" + }, + { + "name": "z13.2-s390-cpu" + }, + { + "name": "qio-channel-tls" + }, + { + "name": "z114-base-s390-cpu" + }, + { + "name": "memory-backend-ram" + }, + { + "name": "virtio-serial-pci" + }, + { + "name": "virtserialport" + }, + { + "name": "smbus-eeprom" + }, + { + "name": "virtio-net-ccw" + }, + { + "name": "z196-base-s390-cpu" + }, + { + "name": "z13-base-s390-cpu" + }, + { + "name": "virtio-rng-device" + }, + { + "name": "vfio-pci" + }, + { + "name": "virtio-gpu-pci" + }, + { + "name": "z890-s390-cpu" + }, + { + "name": "qio-channel-socket" + }, + { + "name": "virtio-blk-device" + } + ], + "id": "libvirt-9" +} + +{ + "return": [ + { + "name": "secs", + "type": "uint32" + }, + { + "name": "request-merging", + "description": "on/off", + "type": "bool" + }, + { + "name": "min_io_size", + "type": "uint16" + }, + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "serial", + "type": "str" + }, + { + "name": "heads", + "type": "uint32" + }, + { + "name": "ioeventfd", + "description": "on/off", + "type": "bool" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "scsi", + "description": "on/off", + "type": "bool" + }, + { + "name": "cyls", + "type": "uint32" + }, + { + "name": "x-disable-pcie", + "description": "on/off", + "type": "bool" + }, + { + "name": "logical_block_size", + "description": "A power of two between 512 and 32768", + "type": "uint16" + }, + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "iothread", + "type": "link<iothread>" + }, + { + "name": "disable-modern", + "type": "bool" + }, + { + "name": "drive", + "description": "Node name or ID of a block device to use as a backend", + "type": "str" + }, + { + "name": "disable-legacy", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "werror", + "description": "Error handling policy, report/ignore/enospc/stop/auto", + "type": "BlockdevOnError" + }, + { + "name": "discard_granularity", + "type": "uint32" + }, + { + "name": "rerror", + "description": "Error handling policy, report/ignore/enospc/stop/auto", + "type": "BlockdevOnError" + }, + { + "name": "page-per-vq", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "class", + "type": "uint32" + }, + { + "name": "migrate-extra", + "description": "on/off", + "type": "bool" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or 06", + "type": "int32" + }, + { + "name": "modern-pio-notify", + "description": "on/off", + "type": "bool" + }, + { + "name": "vectors", + "type": "uint32" + }, + { + "name": "physical_block_size", + "description": "A power of two between 512 and 32768", + "type": "uint16" + }, + { + "name": "bootindex", + "type": "int32" + }, + { + "name": "virtio-backend", + "type": "child<virtio-blk-device>" + }, + { + "name": "config-wce", + "description": "on/off", + "type": "bool" + }, + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "num-queues", + "type": "uint16" + }, + { + "name": "virtio-pci-bus-master-bug-migration", + "description": "on/off", + "type": "bool" + }, + { + "name": "write-cache", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "opt_io_size", + "type": "uint32" + }, + { + "name": "romfile", + "type": "str" + } + ], + "id": "libvirt-10" +} + +{ + "return": [ + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-txtimer", + "type": "uint32" + }, + { + "name": "guest_ufo", + "description": "on/off", + "type": "bool" + }, + { + "name": "mq", + "description": "on/off", + "type": "bool" + }, + { + "name": "status", + "description": "on/off", + "type": "bool" + }, + { + "name": "host_ecn", + "description": "on/off", + "type": "bool" + }, + { + "name": "ioeventfd", + "description": "on/off", + "type": "bool" + }, + { + "name": "tx", + "type": "str" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "ctrl_rx_extra", + "description": "on/off", + "type": "bool" + }, + { + "name": "ctrl_vq", + "description": "on/off", + "type": "bool" + }, + { + "name": "mac", + "description": "Ethernet 6-byte MAC Address, example: 52:54:00:12:34:56", + "type": "str" + }, + { + "name": "rx_queue_size", + "type": "uint16" + }, + { + "name": "x-disable-pcie", + "description": "on/off", + "type": "bool" + }, + { + "name": "guest_tso6", + "description": "on/off", + "type": "bool" + }, + { + "name": "gso", + "description": "on/off", + "type": "bool" + }, + { + "name": "guest_ecn", + "description": "on/off", + "type": "bool" + }, + { + "name": "ctrl_rx", + "description": "on/off", + "type": "bool" + }, + { + "name": "guest_tso4", + "description": "on/off", + "type": "bool" + }, + { + "name": "disable-modern", + "type": "bool" + }, + { + "name": "guest_csum", + "description": "on/off", + "type": "bool" + }, + { + "name": "guest_announce", + "description": "on/off", + "type": "bool" + }, + { + "name": "disable-legacy", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-txburst", + "type": "int32" + }, + { + "name": "ctrl_vlan", + "description": "on/off", + "type": "bool" + }, + { + "name": "csum", + "description": "on/off", + "type": "bool" + }, + { + "name": "mrg_rxbuf", + "description": "on/off", + "type": "bool" + }, + { + "name": "page-per-vq", + "description": "on/off", + "type": "bool" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "ctrl_guest_offloads", + "description": "on/off", + "type": "bool" + }, + { + "name": "host_tso6", + "description": "on/off", + "type": "bool" + }, + { + "name": "bootindex", + "type": "int32" + }, + { + "name": "ctrl_mac_addr", + "description": "on/off", + "type": "bool" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or 06", + "type": "int32" + }, + { + "name": "migrate-extra", + "description": "on/off", + "type": "bool" + }, + { + "name": "modern-pio-notify", + "description": "on/off", + "type": "bool" + }, + { + "name": "vectors", + "type": "uint32" + }, + { + "name": "vlan", + "description": "Integer VLAN id to connect to", + "type": "int32" + }, + { + "name": "host_tso4", + "description": "on/off", + "type": "bool" + }, + { + "name": "host_ufo", + "description": "on/off", + "type": "bool" + }, + { + "name": "virtio-backend", + "type": "child<virtio-net-device>" + }, + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "netdev", + "description": "ID of a netdev to use as a backend", + "type": "str" + }, + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "virtio-pci-bus-master-bug-migration", + "description": "on/off", + "type": "bool" + }, + { + "name": "romfile", + "type": "str" + } + ], + "id": "libvirt-11" +} + +{ + "return": [ + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "ioeventfd", + "description": "on/off", + "type": "bool" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "x-disable-pcie", + "description": "on/off", + "type": "bool" + }, + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "disable-modern", + "type": "bool" + }, + { + "name": "cmd_per_lun", + "type": "uint32" + }, + { + "name": "disable-legacy", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "num_queues", + "type": "uint32" + }, + { + "name": "page-per-vq", + "description": "on/off", + "type": "bool" + }, + { + "name": "hotplug", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "max_sectors", + "type": "uint32" + }, + { + "name": "param_change", + "description": "on/off", + "type": "bool" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "iothread", + "type": "link<iothread>" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or 06", + "type": "int32" + }, + { + "name": "migrate-extra", + "description": "on/off", + "type": "bool" + }, + { + "name": "modern-pio-notify", + "description": "on/off", + "type": "bool" + }, + { + "name": "vectors", + "type": "uint32" + }, + { + "name": "virtio-backend", + "type": "child<virtio-scsi-device>" + }, + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "virtio-pci-bus-master-bug-migration", + "description": "on/off", + "type": "bool" + }, + { + "name": "romfile", + "type": "str" + } + ], + "id": "libvirt-12" +} + +{ + "return": [ + { + "name": "request-merging", + "description": "on/off", + "type": "bool" + }, + { + "name": "secs", + "type": "uint32" + }, + { + "name": "min_io_size", + "type": "uint16" + }, + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "heads", + "type": "uint32" + }, + { + "name": "serial", + "type": "str" + }, + { + "name": "ioeventfd", + "description": "on/off", + "type": "bool" + }, + { + "name": "devno", + "description": "Identifier of an I/O device in the channel subsystem, example: fe.1.23ab", + "type": "str" + }, + { + "name": "cyls", + "type": "uint32" + }, + { + "name": "logical_block_size", + "description": "A power of two between 512 and 32768", + "type": "uint16" + }, + { + "name": "scsi", + "description": "on/off", + "type": "bool" + }, + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "drive", + "description": "Node name or ID of a block device to use as a backend", + "type": "str" + }, + { + "name": "max_revision", + "type": "uint32" + }, + { + "name": "werror", + "description": "Error handling policy, report/ignore/enospc/stop/auto", + "type": "BlockdevOnError" + }, + { + "name": "discard_granularity", + "type": "uint32" + }, + { + "name": "rerror", + "description": "Error handling policy, report/ignore/enospc/stop/auto", + "type": "BlockdevOnError" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "iothread", + "type": "link<iothread>" + }, + { + "name": "physical_block_size", + "description": "A power of two between 512 and 32768", + "type": "uint16" + }, + { + "name": "bootindex", + "type": "int32" + }, + { + "name": "virtio-backend", + "type": "child<virtio-blk-device>" + }, + { + "name": "config-wce", + "description": "on/off", + "type": "bool" + }, + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "num-queues", + "type": "uint16" + }, + { + "name": "write-cache", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "opt_io_size", + "type": "uint32" + } + ], + "id": "libvirt-13" +} + +{ + "return": [ + { + "name": "x-txtimer", + "type": "uint32" + }, + { + "name": "guest_ufo", + "description": "on/off", + "type": "bool" + }, + { + "name": "mq", + "description": "on/off", + "type": "bool" + }, + { + "name": "host_ecn", + "description": "on/off", + "type": "bool" + }, + { + "name": "status", + "description": "on/off", + "type": "bool" + }, + { + "name": "ioeventfd", + "description": "on/off", + "type": "bool" + }, + { + "name": "devno", + "description": "Identifier of an I/O device in the channel subsystem, example: fe.1.23ab", + "type": "str" + }, + { + "name": "tx", + "type": "str" + }, + { + "name": "ctrl_rx_extra", + "description": "on/off", + "type": "bool" + }, + { + "name": "guest_ecn", + "description": "on/off", + "type": "bool" + }, + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "mac", + "description": "Ethernet 6-byte MAC Address, example: 52:54:00:12:34:56", + "type": "str" + }, + { + "name": "rx_queue_size", + "type": "uint16" + }, + { + "name": "guest_tso6", + "description": "on/off", + "type": "bool" + }, + { + "name": "guest_tso4", + "description": "on/off", + "type": "bool" + }, + { + "name": "guest_csum", + "description": "on/off", + "type": "bool" + }, + { + "name": "max_revision", + "type": "uint32" + }, + { + "name": "guest_announce", + "description": "on/off", + "type": "bool" + }, + { + "name": "gso", + "description": "on/off", + "type": "bool" + }, + { + "name": "ctrl_vq", + "description": "on/off", + "type": "bool" + }, + { + "name": "ctrl_rx", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-txburst", + "type": "int32" + }, + { + "name": "ctrl_vlan", + "description": "on/off", + "type": "bool" + }, + { + "name": "csum", + "description": "on/off", + "type": "bool" + }, + { + "name": "mrg_rxbuf", + "description": "on/off", + "type": "bool" + }, + { + "name": "ctrl_guest_offloads", + "description": "on/off", + "type": "bool" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "ctrl_mac_addr", + "description": "on/off", + "type": "bool" + }, + { + "name": "host_tso6", + "description": "on/off", + "type": "bool" + }, + { + "name": "vlan", + "description": "Integer VLAN id to connect to", + "type": "int32" + }, + { + "name": "host_tso4", + "description": "on/off", + "type": "bool" + }, + { + "name": "host_ufo", + "description": "on/off", + "type": "bool" + }, + { + "name": "virtio-backend", + "type": "child<virtio-net-device>" + }, + { + "name": "bootindex", + "type": "int32" + }, + { + "name": "netdev", + "description": "ID of a netdev to use as a backend", + "type": "str" + }, + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + } + ], + "id": "libvirt-14" +} + +{ + "return": [ + { + "name": "max_sectors", + "type": "uint32" + }, + { + "name": "ioeventfd", + "description": "on/off", + "type": "bool" + }, + { + "name": "cmd_per_lun", + "type": "uint32" + }, + { + "name": "devno", + "description": "Identifier of an I/O device in the channel subsystem, example: fe.1.23ab", + "type": "str" + }, + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "iothread", + "type": "link<iothread>" + }, + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "hotplug", + "description": "on/off", + "type": "bool" + }, + { + "name": "virtio-backend", + "type": "child<virtio-scsi-device>" + }, + { + "name": "num_queues", + "type": "uint32" + }, + { + "name": "param_change", + "description": "on/off", + "type": "bool" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "max_revision", + "type": "uint32" + } + ], + "id": "libvirt-15" +} + +{ + "id": "libvirt-16", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'virtio-blk-s390' not found" + } +} + +{ + "id": "libvirt-17", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'virtio-net-s390' not found" + } +} + +{ + "id": "libvirt-18", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'pci-assign' not found" + } +} + +{ + "id": "libvirt-19", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'kvm-pci-assign' not found" + } +} + +{ + "return": [ + { + "name": "x-pci-sub-device-id", + "type": "uint32" + }, + { + "name": "x-no-kvm-msi", + "type": "bool" + }, + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-igd-opregion", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-vga", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-pci-vendor-id", + "type": "uint32" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "bootindex", + "type": "int32" + }, + { + "name": "x-req", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-igd-gms", + "type": "uint32" + }, + { + "name": "romfile", + "type": "str" + }, + { + "name": "x-no-kvm-intx", + "type": "bool" + }, + { + "name": "x-pci-device-id", + "type": "uint32" + }, + { + "name": "host", + "description": "Address (bus/device/function) of the host device, example: 04:10.0", + "type": "str" + }, + { + "name": "x-no-kvm-msix", + "type": "bool" + }, + { + "name": "x-intx-mmap-timeout-ms", + "type": "uint32" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or 06", + "type": "int32" + }, + { + "name": "x-pci-sub-vendor-id", + "type": "uint32" + }, + { + "name": "sysfsdev", + "type": "str" + }, + { + "name": "x-no-mmap", + "type": "bool" + } + ], + "id": "libvirt-20" +} + +{ + "return": [ + { + "name": "serial", + "type": "str" + }, + { + "name": "port_index", + "type": "uint16" + }, + { + "name": "dpofua", + "description": "on/off", + "type": "bool" + }, + { + "name": "bootindex", + "type": "int32" + }, + { + "name": "logical_block_size", + "description": "A power of two between 512 and 32768", + "type": "uint16" + }, + { + "name": "discard_granularity", + "type": "uint32" + }, + { + "name": "lun", + "type": "uint32" + }, + { + "name": "max_unmap_size", + "type": "uint64" + }, + { + "name": "drive", + "description": "Node name or ID of a block device to use as a backend", + "type": "str" + }, + { + "name": "port_wwn", + "type": "uint64" + }, + { + "name": "write-cache", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "opt_io_size", + "type": "uint32" + }, + { + "name": "min_io_size", + "type": "uint16" + }, + { + "name": "product", + "type": "str" + }, + { + "name": "scsi-id", + "type": "uint32" + }, + { + "name": "channel", + "type": "uint32" + }, + { + "name": "vendor", + "type": "str" + }, + { + "name": "wwn", + "type": "uint64" + }, + { + "name": "werror", + "description": "Error handling policy, report/ignore/enospc/stop/auto", + "type": "BlockdevOnError" + }, + { + "name": "removable", + "description": "on/off", + "type": "bool" + }, + { + "name": "rerror", + "description": "Error handling policy, report/ignore/enospc/stop/auto", + "type": "BlockdevOnError" + }, + { + "name": "ver", + "type": "str" + }, + { + "name": "physical_block_size", + "description": "A power of two between 512 and 32768", + "type": "uint16" + }, + { + "name": "max_io_size", + "type": "uint64" + } + ], + "id": "libvirt-21" +} + +{ + "id": "libvirt-22", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'ide-drive' not found" + } +} + +{ + "id": "libvirt-23", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'PIIX4_PM' not found" + } +} + +{ + "id": "libvirt-24", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'usb-redir' not found" + } +} + +{ + "id": "libvirt-25", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'usb-host' not found" + } +} + +{ + "return": [ + { + "name": "bootindex", + "type": "int32" + }, + { + "name": "drive", + "description": "Node name or ID of a block device to use as a backend", + "type": "str" + }, + { + "name": "lun", + "type": "uint32" + }, + { + "name": "channel", + "type": "uint32" + }, + { + "name": "scsi-id", + "type": "uint32" + } + ], + "id": "libvirt-26" +} + +{ + "id": "libvirt-27", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'i440FX-pcihost' not found" + } +} + +{ + "id": "libvirt-28", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'q35-pcihost' not found" + } +} + +{ + "id": "libvirt-29", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'usb-storage' not found" + } +} + +{ + "id": "libvirt-30", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'kvm-pit' not found" + } +} + +{ + "id": "libvirt-31", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'VGA' not found" + } +} + +{ + "id": "libvirt-32", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'vmware-svga' not found" + } +} + +{ + "id": "libvirt-33", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'qxl' not found" + } +} + +{ + "return": [ + { + "name": "disable-modern", + "type": "bool" + }, + { + "name": "ioeventfd", + "description": "on/off", + "type": "bool" + }, + { + "name": "virtio-pci-bus-master-bug-migration", + "description": "on/off", + "type": "bool" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "page-per-vq", + "description": "on/off", + "type": "bool" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "migrate-extra", + "description": "on/off", + "type": "bool" + }, + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "modern-pio-notify", + "description": "on/off", + "type": "bool" + }, + { + "name": "romfile", + "type": "str" + }, + { + "name": "virtio-backend", + "type": "child<virtio-gpu-device>" + }, + { + "name": "disable-legacy", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "vectors", + "type": "uint32" + }, + { + "name": "x-disable-pcie", + "description": "on/off", + "type": "bool" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or 06", + "type": "int32" + }, + { + "name": "max_outputs", + "type": "uint32" + }, + { + "name": "rombar", + "type": "uint32" + } + ], + "id": "libvirt-34" +} + +{ + "return": [ + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "max_outputs", + "type": "uint32" + } + ], + "id": "libvirt-35" +} + +{ + "id": "libvirt-36", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'ICH9-LPC' not found" + } +} + +{ + "return": [ + { + "name": "disable-modern", + "type": "bool" + }, + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "virtio-pci-bus-master-bug-migration", + "description": "on/off", + "type": "bool" + }, + { + "name": "class", + "type": "uint32" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "guest-stats", + "type": "guest statistics" + }, + { + "name": "page-per-vq", + "description": "on/off", + "type": "bool" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "migrate-extra", + "description": "on/off", + "type": "bool" + }, + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "modern-pio-notify", + "description": "on/off", + "type": "bool" + }, + { + "name": "romfile", + "type": "str" + }, + { + "name": "virtio-backend", + "type": "child<virtio-balloon-device>" + }, + { + "name": "disable-legacy", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "guest-stats-polling-interval", + "type": "int" + }, + { + "name": "x-disable-pcie", + "description": "on/off", + "type": "bool" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or 06", + "type": "int32" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "deflate-on-oom", + "description": "on/off", + "type": "bool" + } + ], + "id": "libvirt-37" +} + +{ + "return": [ + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "ioeventfd", + "description": "on/off", + "type": "bool" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "devno", + "description": "Identifier of an I/O device in the channel subsystem, example: fe.1.23ab", + "type": "str" + }, + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "guest-stats", + "type": "guest statistics" + }, + { + "name": "guest-stats-polling-interval", + "type": "int" + }, + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "virtio-backend", + "type": "child<virtio-balloon-device>" + }, + { + "name": "deflate-on-oom", + "description": "on/off", + "type": "bool" + }, + { + "name": "max_revision", + "type": "uint32" + } + ], + "id": "libvirt-38" +} + +{ + "return": [ + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "guest-stats", + "type": "guest statistics" + }, + { + "name": "guest-stats-polling-interval", + "type": "int" + }, + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "deflate-on-oom", + "description": "on/off", + "type": "bool" + } + ], + "id": "libvirt-39" +} + +{ + "id": "libvirt-40", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'nec-usb-xhci' not found" + } +} + +{ + "return": [ + { + "hotpluggable-cpus": false, + "name": "s390-ccw-virtio-2.7", + "cpu-max": 248 + }, + { + "hotpluggable-cpus": false, + "name": "s390-ccw-virtio-2.6", + "cpu-max": 248 + }, + { + "hotpluggable-cpus": false, + "name": "none", + "cpu-max": 1 + }, + { + "hotpluggable-cpus": false, + "name": "s390-ccw-virtio-2.5", + "cpu-max": 248 + }, + { + "hotpluggable-cpus": false, + "name": "s390-ccw-virtio-2.4", + "cpu-max": 248 + }, + { + "hotpluggable-cpus": false, + "name": "s390-ccw-virtio-2.8", + "is-default": true, + "cpu-max": 248, + "alias": "s390-ccw-virtio" + } + ], + "id": "libvirt-41" +} + +{ + "return": [ + { + "name": "z10EC-base", + "static": true, + "migration-safe": true + }, + { + "name": "z9EC-base", + "static": true, + "migration-safe": true + }, + { + "name": "z196.2-base", + "static": true, + "migration-safe": true + }, + { + "name": "z900-base", + "static": true, + "migration-safe": true + }, + { + "name": "z990", + "static": false, + "migration-safe": true + }, + { + "name": "z900.2-base", + "static": true, + "migration-safe": true + }, + { + "name": "host", + "static": false, + "migration-safe": false + }, + { + "name": "z900.3", + "static": false, + "migration-safe": true + }, + { + "name": "z114", + "static": false, + "migration-safe": true + }, + { + "name": "z890-base", + "static": true, + "migration-safe": true + }, + { + "name": "z13.2-base", + "static": true, + "migration-safe": true + }, + { + "name": "zEC12.2", + "static": false, + "migration-safe": true + }, + { + "name": "z900.2", + "static": false, + "migration-safe": true + }, + { + "name": "z10BC", + "static": false, + "migration-safe": true + }, + { + "name": "z10BC.2", + "static": false, + "migration-safe": true + }, + { + "name": "z196", + "static": false, + "migration-safe": true + }, + { + "name": "z9EC", + "static": false, + "migration-safe": true + }, + { + "name": "z990-base", + "static": true, + "migration-safe": true + }, + { + "name": "z10EC.3", + "static": false, + "migration-safe": true + }, + { + "name": "z900", + "static": false, + "migration-safe": true + }, + { + "name": "z9EC.3-base", + "static": true, + "migration-safe": true + }, + { + "name": "z990.5-base", + "static": true, + "migration-safe": true + }, + { + "name": "z10EC.2", + "static": false, + "migration-safe": true + }, + { + "name": "z9BC.2", + "static": false, + "migration-safe": true + }, + { + "name": "z10EC", + "static": false, + "migration-safe": true + }, + { + "name": "z990.3-base", + "static": true, + "migration-safe": true + }, + { + "name": "z13s", + "static": false, + "migration-safe": true + }, + { + "name": "z10EC.3-base", + "static": true, + "migration-safe": true + }, + { + "name": "zEC12.2-base", + "static": true, + "migration-safe": true + }, + { + "name": "z890.3-base", + "static": true, + "migration-safe": true + }, + { + "name": "z9EC.3", + "static": false, + "migration-safe": true + }, + { + "name": "z990.5", + "static": false, + "migration-safe": true + }, + { + "name": "z13", + "static": false, + "migration-safe": true + }, + { + "name": "z13s-base", + "static": true, + "migration-safe": true + }, + { + "name": "z9EC.2", + "static": false, + "migration-safe": true + }, + { + "name": "z990.4", + "static": false, + "migration-safe": true + }, + { + "name": "zEC12-base", + "static": true, + "migration-safe": true + }, + { + "name": "z9EC.2-base", + "static": true, + "migration-safe": true + }, + { + "name": "zBC12", + "static": false, + "migration-safe": true + }, + { + "name": "z196.2", + "static": false, + "migration-safe": true + }, + { + "name": "z990.3", + "static": false, + "migration-safe": true + }, + { + "name": "z990.2-base", + "static": true, + "migration-safe": true + }, + { + "name": "z900.3-base", + "static": true, + "migration-safe": true + }, + { + "name": "z890.3", + "static": false, + "migration-safe": true + }, + { + "name": "z10EC.2-base", + "static": true, + "migration-safe": true + }, + { + "name": "z990.2", + "static": false, + "migration-safe": true + }, + { + "name": "z890.2", + "static": false, + "migration-safe": true + }, + { + "name": "zBC12-base", + "static": true, + "migration-safe": true + }, + { + "name": "z800-base", + "static": true, + "migration-safe": true + }, + { + "name": "zEC12", + "static": false, + "migration-safe": true + }, + { + "name": "z9BC.2-base", + "static": true, + "migration-safe": true + }, + { + "name": "z9BC", + "static": false, + "migration-safe": true + }, + { + "name": "z10BC.2-base", + "static": true, + "migration-safe": true + }, + { + "name": "z990.4-base", + "static": true, + "migration-safe": true + }, + { + "name": "qemu", + "static": false, + "migration-safe": true + }, + { + "name": "z10BC-base", + "static": true, + "migration-safe": true + }, + { + "name": "z9BC-base", + "static": true, + "migration-safe": true + }, + { + "name": "z800", + "static": false, + "migration-safe": true + }, + { + "name": "z890.2-base", + "static": true, + "migration-safe": true + }, + { + "name": "z13.2", + "static": false, + "migration-safe": true + }, + { + "name": "z114-base", + "static": true, + "migration-safe": true + }, + { + "name": "z196-base", + "static": true, + "migration-safe": true + }, + { + "name": "z13-base", + "static": true, + "migration-safe": true + }, + { + "name": "z890", + "static": false, + "migration-safe": true + } + ], + "id": "libvirt-42" +} + +{ + "return": [ + ], + "id": "libvirt-43" +} + +{ + "return": [ + ], + "id": "libvirt-44" +} + +{ + "return": [ + { + "parameters": [ + { + "name": "non-adaptive", + "type": "boolean" + }, + { + "name": "lossy", + "type": "boolean" + }, + { + "name": "acl", + "type": "boolean" + }, + { + "name": "x509verify", + "type": "string" + }, + { + "name": "tls", + "type": "boolean" + }, + { + "name": "sasl", + "type": "boolean" + }, + { + "name": "key-delay-ms", + "type": "number" + }, + { + "name": "lock-key-sync", + "type": "boolean" + }, + { + "name": "reverse", + "type": "boolean" + }, + { + "name": "password", + "type": "boolean" + }, + { + "name": "ipv6", + "type": "boolean" + }, + { + "name": "ipv4", + "type": "boolean" + }, + { + "name": "to", + "type": "number" + }, + { + "name": "connections", + "type": "number" + }, + { + "name": "head", + "type": "number" + }, + { + "name": "display", + "type": "string" + }, + { + "name": "share", + "type": "string" + }, + { + "name": "x509", + "type": "string" + }, + { + "name": "tls-creds", + "type": "string" + }, + { + "name": "websocket", + "type": "string" + }, + { + "name": "vnc", + "type": "string" + } + ], + "option": "vnc" + }, + { + "parameters": [ + { + "name": "sock_fd", + "type": "number" + }, + { + "name": "socket", + "type": "string" + }, + { + "name": "readonly", + "type": "boolean" + }, + { + "name": "writeout", + "type": "string" + }, + { + "name": "security_model", + "type": "string" + }, + { + "name": "mount_tag", + "type": "string" + }, + { + "name": "path", + "type": "string" + }, + { + "name": "fsdriver", + "type": "string" + } + ], + "option": "virtfs" + }, + { + "parameters": [ + { + "name": "sock_fd", + "type": "number" + }, + { + "name": "socket", + "type": "string" + }, + { + "name": "readonly", + "type": "boolean" + }, + { + "name": "writeout", + "type": "string" + }, + { + "name": "security_model", + "type": "string" + }, + { + "name": "path", + "type": "string" + }, + { + "name": "fsdriver", + "type": "string" + } + ], + "option": "fsdev" + }, + { + "parameters": [ + { + "name": "string", + "help": "Sets content of the blob to be inserted from a string", + "type": "string" + }, + { + "name": "file", + "help": "Sets the name of the file from which\nthe fw_cfg blob will be loaded", + "type": "string" + }, + { + "name": "name", + "help": "Sets the fw_cfg name of the blob to be inserted", + "type": "string" + } + ], + "option": "fw_cfg" + }, + { + "parameters": [ + { + "name": "arg", + "type": "string" + }, + { + "name": "target", + "type": "string" + }, + { + "name": "enable", + "type": "boolean" + } + ], + "option": "semihosting-config" + }, + { + "parameters": [ + { + "name": "rrfile", + "type": "string" + }, + { + "name": "rr", + "type": "string" + }, + { + "name": "sleep", + "type": "boolean" + }, + { + "name": "align", + "type": "boolean" + }, + { + "name": "shift", + "type": "string" + } + ], + "option": "icount" + }, + { + "parameters": [ + ], + "option": "numa" + }, + { + "parameters": [ + { + "name": "debug-threads", + "help": "When enabled, name the individual threads; defaults off.\nNOTE: The thread names are for debugging and not a\nstable API.", + "type": "boolean" + }, + { + "name": "process", + "help": "Sets the name of the QEMU process, as shown in top etc", + "type": "string" + }, + { + "name": "guest", + "help": "Sets the name of the guest.\nThis name will be displayed in the SDL window caption.\nThe name will also be used for the VNC server", + "type": "string" + } + ], + "option": "name" + }, + { + "parameters": [ + { + "name": "timestamp", + "type": "boolean" + } + ], + "option": "msg" + }, + { + "parameters": [ + { + "name": "mlock", + "type": "boolean" + } + ], + "option": "realtime" + }, + { + "parameters": [ + ], + "option": "tpmdev" + }, + { + "parameters": [ + ], + "option": "object" + }, + { + "parameters": [ + { + "name": "opaque", + "help": "free-form string used to describe fd", + "type": "string" + }, + { + "name": "set", + "help": "ID of the fd set to add fd to", + "type": "number" + }, + { + "name": "fd", + "help": "file descriptor of which a duplicate is added to fd set", + "type": "number" + } + ], + "option": "add-fd" + }, + { + "parameters": [ + { + "name": "enable", + "type": "boolean" + } + ], + "option": "sandbox" + }, + { + "parameters": [ + { + "name": "strict", + "type": "boolean" + }, + { + "name": "reboot-timeout", + "type": "string" + }, + { + "name": "splash-time", + "type": "string" + }, + { + "name": "splash", + "type": "string" + }, + { + "name": "menu", + "type": "boolean" + }, + { + "name": "once", + "type": "string" + }, + { + "name": "order", + "type": "string" + } + ], + "option": "boot-opts" + }, + { + "parameters": [ + { + "name": "maxcpus", + "type": "number" + }, + { + "name": "threads", + "type": "number" + }, + { + "name": "cores", + "type": "number" + }, + { + "name": "sockets", + "type": "number" + }, + { + "name": "cpus", + "type": "number" + } + ], + "option": "smp-opts" + }, + { + "parameters": [ + { + "name": "maxmem", + "type": "size" + }, + { + "name": "slots", + "type": "number" + }, + { + "name": "size", + "type": "size" + } + ], + "option": "memory" + }, + { + "parameters": [ + { + "name": "dea-key-wrap", + "help": "enable/disable DEA key wrapping using the CPACF wrapping key", + "type": "boolean" + }, + { + "name": "aes-key-wrap", + "help": "enable/disable AES key wrapping using the CPACF wrapping key", + "type": "boolean" + }, + { + "name": "suppress-vmdesc", + "help": "Set on to disable self-describing migration", + "type": "boolean" + }, + { + "name": "iommu", + "help": "Set on/off to enable/disable Intel IOMMU (VT-d)", + "type": "boolean" + }, + { + "name": "firmware", + "help": "firmware image", + "type": "string" + }, + { + "name": "usb", + "help": "Set on/off to enable/disable usb", + "type": "boolean" + }, + { + "name": "mem-merge", + "help": "enable/disable memory merge support", + "type": "boolean" + }, + { + "name": "dump-guest-core", + "help": "Include guest memory in a core dump", + "type": "boolean" + }, + { + "name": "dt_compatible", + "help": "Overrides the \"compatible\" property of the dt root node", + "type": "string" + }, + { + "name": "phandle_start", + "help": "The first phandle ID we may generate dynamically", + "type": "number" + }, + { + "name": "dumpdtb", + "help": "Dump current dtb to a file and quit", + "type": "string" + }, + { + "name": "dtb", + "help": "Linux kernel device tree file", + "type": "string" + }, + { + "name": "append", + "help": "Linux kernel command line", + "type": "string" + }, + { + "name": "initrd", + "help": "Linux initial ramdisk file", + "type": "string" + }, + { + "name": "kernel", + "help": "Linux kernel image file", + "type": "string" + }, + { + "name": "kvm_shadow_mem", + "help": "KVM shadow MMU size", + "type": "size" + }, + { + "name": "kernel_irqchip", + "help": "use KVM in-kernel irqchip", + "type": "boolean" + }, + { + "name": "accel", + "help": "accelerator list", + "type": "string" + }, + { + "name": "type", + "help": "emulated machine", + "type": "string" + } + ], + "option": "machine" + }, + { + "parameters": [ + { + "name": "romfile", + "type": "string" + }, + { + "name": "bootindex", + "type": "number" + } + ], + "option": "option-rom" + }, + { + "parameters": [ + { + "name": "file", + "type": "string" + }, + { + "name": "events", + "type": "string" + }, + { + "name": "enable", + "type": "string" + } + ], + "option": "trace" + }, + { + "parameters": [ + { + "name": "pretty", + "type": "boolean" + }, + { + "name": "default", + "type": "boolean" + }, + { + "name": "chardev", + "type": "string" + }, + { + "name": "mode", + "type": "string" + } + ], + "option": "mon" + }, + { + "parameters": [ + { + "name": "value", + "type": "string" + }, + { + "name": "property", + "type": "string" + }, + { + "name": "driver", + "type": "string" + } + ], + "option": "global" + }, + { + "parameters": [ + { + "name": "driftfix", + "type": "string" + }, + { + "name": "clock", + "type": "string" + }, + { + "name": "base", + "type": "string" + } + ], + "option": "rtc" + }, + { + "parameters": [ + ], + "option": "net" + }, + { + "parameters": [ + ], + "option": "netdev" + }, + { + "parameters": [ + ], + "option": "device" + }, + { + "parameters": [ + { + "name": "logappend", + "type": "boolean" + }, + { + "name": "logfile", + "type": "string" + }, + { + "name": "append", + "type": "boolean" + }, + { + "name": "chardev", + "type": "string" + }, + { + "name": "size", + "type": "size" + }, + { + "name": "debug", + "type": "number" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "signal", + "type": "boolean" + }, + { + "name": "mux", + "type": "boolean" + }, + { + "name": "rows", + "type": "number" + }, + { + "name": "cols", + "type": "number" + }, + { + "name": "height", + "type": "number" + }, + { + "name": "width", + "type": "number" + }, + { + "name": "tls-creds", + "type": "string" + }, + { + "name": "telnet", + "type": "boolean" + }, + { + "name": "reconnect", + "type": "number" + }, + { + "name": "delay", + "type": "boolean" + }, + { + "name": "server", + "type": "boolean" + }, + { + "name": "wait", + "type": "boolean" + }, + { + "name": "ipv6", + "type": "boolean" + }, + { + "name": "ipv4", + "type": "boolean" + }, + { + "name": "to", + "type": "number" + }, + { + "name": "localport", + "type": "string" + }, + { + "name": "localaddr", + "type": "string" + }, + { + "name": "port", + "type": "string" + }, + { + "name": "host", + "type": "string" + }, + { + "name": "path", + "type": "string" + }, + { + "name": "backend", + "type": "string" + } + ], + "option": "chardev" + }, + { + "parameters": [ + { + "name": "copy-on-read", + "help": "copy read data from backing file into image file", + "type": "boolean" + }, + { + "name": "werror", + "help": "write error action", + "type": "string" + }, + { + "name": "rerror", + "help": "read error action", + "type": "string" + }, + { + "name": "read-only", + "help": "open drive file as read-only", + "type": "boolean" + }, + { + "name": "file", + "help": "file name", + "type": "string" + }, + { + "name": "serial", + "help": "disk serial number", + "type": "string" + }, + { + "name": "addr", + "help": "pci address (virtio only)", + "type": "string" + }, + { + "name": "boot", + "help": "(deprecated, ignored)", + "type": "boolean" + }, + { + "name": "trans", + "help": "chs translation (auto, lba, none)", + "type": "string" + }, + { + "name": "secs", + "help": "number of sectors (ide disk geometry)", + "type": "number" + }, + { + "name": "heads", + "help": "number of heads (ide disk geometry)", + "type": "number" + }, + { + "name": "cyls", + "help": "number of cylinders (ide disk geometry)", + "type": "number" + }, + { + "name": "if", + "help": "interface (ide, scsi, sd, mtd, floppy, pflash, virtio)", + "type": "string" + }, + { + "name": "media", + "help": "media type (disk, cdrom)", + "type": "string" + }, + { + "name": "index", + "help": "index number", + "type": "number" + }, + { + "name": "unit", + "help": "unit number (i.e. lun for scsi)", + "type": "number" + }, + { + "name": "bus", + "help": "bus number", + "type": "number" + }, + { + "name": "stats-account-failed", + "help": "whether to account for failed I/O operations in the statistics", + "type": "boolean" + }, + { + "name": "stats-account-invalid", + "help": "whether to account for invalid I/O operations in the statistics", + "type": "boolean" + }, + { + "name": "detect-zeroes", + "help": "try to optimize zero writes (off, on, unmap)", + "type": "string" + }, + { + "name": "throttling.group", + "help": "name of the block throttling group", + "type": "string" + }, + { + "name": "throttling.iops-size", + "help": "when limiting by iops max size of an I/O in bytes", + "type": "number" + }, + { + "name": "throttling.bps-write-max-length", + "help": "length of the bps-write-max burst period, in seconds", + "type": "number" + }, + { + "name": "throttling.bps-read-max-length", + "help": "length of the bps-read-max burst period, in seconds", + "type": "number" + }, + { + "name": "throttling.bps-total-max-length", + "help": "length of the bps-total-max burst period, in seconds", + "type": "number" + }, + { + "name": "throttling.iops-write-max-length", + "help": "length of the iops-write-max burst period, in seconds", + "type": "number" + }, + { + "name": "throttling.iops-read-max-length", + "help": "length of the iops-read-max burst period, in seconds", + "type": "number" + }, + { + "name": "throttling.iops-total-max-length", + "help": "length of the iops-total-max burst period, in seconds", + "type": "number" + }, + { + "name": "throttling.bps-write-max", + "help": "total bytes write burst", + "type": "number" + }, + { + "name": "throttling.bps-read-max", + "help": "total bytes read burst", + "type": "number" + }, + { + "name": "throttling.bps-total-max", + "help": "total bytes burst", + "type": "number" + }, + { + "name": "throttling.iops-write-max", + "help": "I/O operations write burst", + "type": "number" + }, + { + "name": "throttling.iops-read-max", + "help": "I/O operations read burst", + "type": "number" + }, + { + "name": "throttling.iops-total-max", + "help": "I/O operations burst", + "type": "number" + }, + { + "name": "throttling.bps-write", + "help": "limit write bytes per second", + "type": "number" + }, + { + "name": "throttling.bps-read", + "help": "limit read bytes per second", + "type": "number" + }, + { + "name": "throttling.bps-total", + "help": "limit total bytes per second", + "type": "number" + }, + { + "name": "throttling.iops-write", + "help": "limit write operations per second", + "type": "number" + }, + { + "name": "throttling.iops-read", + "help": "limit read operations per second", + "type": "number" + }, + { + "name": "throttling.iops-total", + "help": "limit total I/O operations per second", + "type": "number" + }, + { + "name": "werror", + "help": "write error action", + "type": "string" + }, + { + "name": "format", + "help": "disk format (raw, qcow2, ...)", + "type": "string" + }, + { + "name": "cache.writeback", + "help": "Enable writeback mode", + "type": "boolean" + }, + { + "name": "aio", + "help": "host AIO implementation (threads, native)", + "type": "string" + }, + { + "name": "snapshot", + "help": "enable/disable snapshot mode", + "type": "boolean" + }, + { + "name": "discard", + "help": "discard operation (ignore/off, unmap/on)", + "type": "string" + }, + { + "name": "read-only", + "help": "Node is opened in read-only mode", + "type": "boolean" + }, + { + "name": "cache.no-flush", + "help": "Ignore flush requests", + "type": "boolean" + }, + { + "name": "cache.direct", + "help": "Bypass software writeback cache on the host", + "type": "boolean" + }, + { + "name": "driver", + "help": "Block driver to use for the node", + "type": "string" + }, + { + "name": "node-name", + "help": "Node name of the block device node", + "type": "string" + } + ], + "option": "drive" + } + ], + "id": "libvirt-45" +} + +{ + "return": [ + { + "state": false, + "capability": "xbzrle" + }, + { + "state": false, + "capability": "rdma-pin-all" + }, + { + "state": false, + "capability": "auto-converge" + }, + { + "state": false, + "capability": "zero-blocks" + }, + { + "state": false, + "capability": "compress" + }, + { + "state": false, + "capability": "events" + }, + { + "state": false, + "capability": "postcopy-ram" + }, + { + "state": false, + "capability": "x-colo" + } + ], + "id": "libvirt-46" +} + +{ + "return": [ + { + "name": "ACPI_DEVICE_OST", + "meta-type": "event", + "arg-type": "0" + }, + { + "name": "BALLOON_CHANGE", + "meta-type": "event", + "arg-type": "1" + }, + { + "name": "BLOCK_IMAGE_CORRUPTED", + "meta-type": "event", + "arg-type": "2" + }, + { + "name": "BLOCK_IO_ERROR", + "meta-type": "event", + "arg-type": "3" + }, + { + "name": "BLOCK_JOB_CANCELLED", + "meta-type": "event", + "arg-type": "4" + }, + { + "name": "BLOCK_JOB_COMPLETED", + "meta-type": "event", + "arg-type": "5" + }, + { + "name": "BLOCK_JOB_ERROR", + "meta-type": "event", + "arg-type": "6" + }, + { + "name": "BLOCK_JOB_READY", + "meta-type": "event", + "arg-type": "7" + }, + { + "name": "BLOCK_WRITE_THRESHOLD", + "meta-type": "event", + "arg-type": "8" + }, + { + "name": "DEVICE_DELETED", + "meta-type": "event", + "arg-type": "9" + }, + { + "name": "DEVICE_TRAY_MOVED", + "meta-type": "event", + "arg-type": "10" + }, + { + "name": "DUMP_COMPLETED", + "meta-type": "event", + "arg-type": "11" + }, + { + "name": "GUEST_PANICKED", + "meta-type": "event", + "arg-type": "12" + }, + { + "name": "MEM_UNPLUG_ERROR", + "meta-type": "event", + "arg-type": "13" + }, + { + "name": "MIGRATION", + "meta-type": "event", + "arg-type": "14" + }, + { + "name": "MIGRATION_PASS", + "meta-type": "event", + "arg-type": "15" + }, + { + "name": "NIC_RX_FILTER_CHANGED", + "meta-type": "event", + "arg-type": "16" + }, + { + "name": "POWERDOWN", + "meta-type": "event", + "arg-type": "17" + }, + { + "name": "QUORUM_FAILURE", + "meta-type": "event", + "arg-type": "18" + }, + { + "name": "QUORUM_REPORT_BAD", + "meta-type": "event", + "arg-type": "19" + }, + { + "name": "RESET", + "meta-type": "event", + "arg-type": "17" + }, + { + "name": "RESUME", + "meta-type": "event", + "arg-type": "17" + }, + { + "name": "RTC_CHANGE", + "meta-type": "event", + "arg-type": "20" + }, + { + "name": "SHUTDOWN", + "meta-type": "event", + "arg-type": "17" + }, + { + "name": "SPICE_CONNECTED", + "meta-type": "event", + "arg-type": "21" + }, + { + "name": "SPICE_DISCONNECTED", + "meta-type": "event", + "arg-type": "22" + }, + { + "name": "SPICE_INITIALIZED", + "meta-type": "event", + "arg-type": "23" + }, + { + "name": "SPICE_MIGRATE_COMPLETED", + "meta-type": "event", + "arg-type": "17" + }, + { + "name": "STOP", + "meta-type": "event", + "arg-type": "17" + }, + { + "name": "SUSPEND", + "meta-type": "event", + "arg-type": "17" + }, + { + "name": "SUSPEND_DISK", + "meta-type": "event", + "arg-type": "17" + }, + { + "name": "VNC_CONNECTED", + "meta-type": "event", + "arg-type": "24" + }, + { + "name": "VNC_DISCONNECTED", + "meta-type": "event", + "arg-type": "25" + }, + { + "name": "VNC_INITIALIZED", + "meta-type": "event", + "arg-type": "26" + }, + { + "name": "VSERPORT_CHANGE", + "meta-type": "event", + "arg-type": "27" + }, + { + "name": "WAKEUP", + "meta-type": "event", + "arg-type": "17" + }, + { + "name": "WATCHDOG", + "meta-type": "event", + "arg-type": "28" + }, + { + "name": "add-fd", + "ret-type": "30", + "meta-type": "command", + "arg-type": "29" + }, + { + "name": "add_client", + "ret-type": "17", + "meta-type": "command", + "arg-type": "31" + }, + { + "name": "balloon", + "ret-type": "17", + "meta-type": "command", + "arg-type": "32" + }, + { + "name": "block-commit", + "ret-type": "17", + "meta-type": "command", + "arg-type": "33" + }, + { + "name": "block-dirty-bitmap-add", + "ret-type": "17", + "meta-type": "command", + "arg-type": "34" + }, + { + "name": "block-dirty-bitmap-clear", + "ret-type": "17", + "meta-type": "command", + "arg-type": "35" + }, + { + "name": "block-dirty-bitmap-remove", + "ret-type": "17", + "meta-type": "command", + "arg-type": "35" + }, + { + "name": "block-job-cancel", + "ret-type": "17", + "meta-type": "command", + "arg-type": "36" + }, + { + "name": "block-job-complete", + "ret-type": "17", + "meta-type": "command", + "arg-type": "37" + }, + { + "name": "block-job-pause", + "ret-type": "17", + "meta-type": "command", + "arg-type": "38" + }, + { + "name": "block-job-resume", + "ret-type": "17", + "meta-type": "command", + "arg-type": "39" + }, + { + "name": "block-job-set-speed", + "ret-type": "17", + "meta-type": "command", + "arg-type": "40" + }, + { + "name": "block-set-write-threshold", + "ret-type": "17", + "meta-type": "command", + "arg-type": "41" + }, + { + "name": "block-stream", + "ret-type": "17", + "meta-type": "command", + "arg-type": "42" + }, + { + "name": "block_passwd", + "ret-type": "17", + "meta-type": "command", + "arg-type": "43" + }, + { + "name": "block_resize", + "ret-type": "17", + "meta-type": "command", + "arg-type": "44" + }, + { + "name": "block_set_io_throttle", + "ret-type": "17", + "meta-type": "command", + "arg-type": "45" + }, + { + "name": "blockdev-add", + "ret-type": "17", + "meta-type": "command", + "arg-type": "46" + }, + { + "name": "blockdev-backup", + "ret-type": "17", + "meta-type": "command", + "arg-type": "47" + }, + { + "name": "blockdev-change-medium", + "ret-type": "17", + "meta-type": "command", + "arg-type": "48" + }, + { + "name": "blockdev-close-tray", + "ret-type": "17", + "meta-type": "command", + "arg-type": "49" + }, + { + "name": "blockdev-mirror", + "ret-type": "17", + "meta-type": "command", + "arg-type": "50" + }, + { + "name": "blockdev-open-tray", + "ret-type": "17", + "meta-type": "command", + "arg-type": "51" + }, + { + "name": "blockdev-snapshot", + "ret-type": "17", + "meta-type": "command", + "arg-type": "52" + }, + { + "name": "blockdev-snapshot-delete-internal-sync", + "ret-type": "54", + "meta-type": "command", + "arg-type": "53" + }, + { + "name": "blockdev-snapshot-internal-sync", + "ret-type": "17", + "meta-type": "command", + "arg-type": "55" + }, + { + "name": "blockdev-snapshot-sync", + "ret-type": "17", + "meta-type": "command", + "arg-type": "56" + }, + { + "name": "change", + "ret-type": "17", + "meta-type": "command", + "arg-type": "57" + }, + { + "name": "change-backing-file", + "ret-type": "17", + "meta-type": "command", + "arg-type": "58" + }, + { + "name": "change-vnc-password", + "ret-type": "17", + "meta-type": "command", + "arg-type": "59" + }, + { + "name": "chardev-add", + "ret-type": "61", + "meta-type": "command", + "arg-type": "60" + }, + { + "name": "chardev-remove", + "ret-type": "17", + "meta-type": "command", + "arg-type": "62" + }, + { + "name": "client_migrate_info", + "ret-type": "17", + "meta-type": "command", + "arg-type": "63" + }, + { + "name": "closefd", + "ret-type": "17", + "meta-type": "command", + "arg-type": "64" + }, + { + "name": "cont", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "cpu", + "ret-type": "17", + "meta-type": "command", + "arg-type": "65" + }, + { + "name": "cpu-add", + "ret-type": "17", + "meta-type": "command", + "arg-type": "66" + }, + { + "name": "device-list-properties", + "ret-type": "[68]", + "meta-type": "command", + "arg-type": "67" + }, + { + "name": "device_add", + "ret-type": "17", + "meta-type": "command", + "arg-type": "69" + }, + { + "name": "device_del", + "ret-type": "17", + "meta-type": "command", + "arg-type": "70" + }, + { + "name": "drive-backup", + "ret-type": "17", + "meta-type": "command", + "arg-type": "71" + }, + { + "name": "drive-mirror", + "ret-type": "17", + "meta-type": "command", + "arg-type": "72" + }, + { + "name": "dump-guest-memory", + "ret-type": "17", + "meta-type": "command", + "arg-type": "73" + }, + { + "name": "dump-skeys", + "ret-type": "17", + "meta-type": "command", + "arg-type": "74" + }, + { + "name": "eject", + "ret-type": "17", + "meta-type": "command", + "arg-type": "75" + }, + { + "name": "expire_password", + "ret-type": "17", + "meta-type": "command", + "arg-type": "76" + }, + { + "name": "getfd", + "ret-type": "17", + "meta-type": "command", + "arg-type": "77" + }, + { + "name": "human-monitor-command", + "ret-type": "str", + "meta-type": "command", + "arg-type": "78" + }, + { + "name": "inject-nmi", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "input-send-event", + "ret-type": "17", + "meta-type": "command", + "arg-type": "79" + }, + { + "name": "memsave", + "ret-type": "17", + "meta-type": "command", + "arg-type": "80" + }, + { + "name": "migrate", + "ret-type": "17", + "meta-type": "command", + "arg-type": "81" + }, + { + "name": "migrate-incoming", + "ret-type": "17", + "meta-type": "command", + "arg-type": "82" + }, + { + "name": "migrate-set-cache-size", + "ret-type": "17", + "meta-type": "command", + "arg-type": "83" + }, + { + "name": "migrate-set-capabilities", + "ret-type": "17", + "meta-type": "command", + "arg-type": "84" + }, + { + "name": "migrate-set-parameters", + "ret-type": "17", + "meta-type": "command", + "arg-type": "85" + }, + { + "name": "migrate-start-postcopy", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "migrate_cancel", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "migrate_set_downtime", + "ret-type": "17", + "meta-type": "command", + "arg-type": "86" + }, + { + "name": "migrate_set_speed", + "ret-type": "17", + "meta-type": "command", + "arg-type": "87" + }, + { + "name": "nbd-server-add", + "ret-type": "17", + "meta-type": "command", + "arg-type": "88" + }, + { + "name": "nbd-server-start", + "ret-type": "17", + "meta-type": "command", + "arg-type": "89" + }, + { + "name": "nbd-server-stop", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "netdev_add", + "ret-type": "17", + "meta-type": "command", + "arg-type": "90" + }, + { + "name": "netdev_del", + "ret-type": "17", + "meta-type": "command", + "arg-type": "91" + }, + { + "name": "object-add", + "ret-type": "17", + "meta-type": "command", + "arg-type": "92" + }, + { + "name": "object-del", + "ret-type": "17", + "meta-type": "command", + "arg-type": "93" + }, + { + "name": "pmemsave", + "ret-type": "17", + "meta-type": "command", + "arg-type": "94" + }, + { + "name": "qmp_capabilities", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "qom-get", + "ret-type": "any", + "meta-type": "command", + "arg-type": "95" + }, + { + "name": "qom-list", + "ret-type": "[97]", + "meta-type": "command", + "arg-type": "96" + }, + { + "name": "qom-list-types", + "ret-type": "[99]", + "meta-type": "command", + "arg-type": "98" + }, + { + "name": "qom-set", + "ret-type": "17", + "meta-type": "command", + "arg-type": "100" + }, + { + "name": "query-acpi-ospm-status", + "ret-type": "[101]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-balloon", + "ret-type": "102", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-block", + "ret-type": "[103]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-block-jobs", + "ret-type": "[104]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-blockstats", + "ret-type": "[106]", + "meta-type": "command", + "arg-type": "105" + }, + { + "name": "query-chardev", + "ret-type": "[107]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-chardev-backends", + "ret-type": "[108]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-command-line-options", + "ret-type": "[110]", + "meta-type": "command", + "arg-type": "109" + }, + { + "name": "query-commands", + "ret-type": "[111]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-cpu-definitions", + "ret-type": "[112]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-cpu-model-baseline", + "ret-type": "114", + "meta-type": "command", + "arg-type": "113" + }, + { + "name": "query-cpu-model-comparison", + "ret-type": "116", + "meta-type": "command", + "arg-type": "115" + }, + { + "name": "query-cpu-model-expansion", + "ret-type": "118", + "meta-type": "command", + "arg-type": "117" + }, + { + "name": "query-cpus", + "ret-type": "[119]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-dump", + "ret-type": "120", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-dump-guest-memory-capability", + "ret-type": "121", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-events", + "ret-type": "[122]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-fdsets", + "ret-type": "[123]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-gic-capabilities", + "ret-type": "[124]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-hotpluggable-cpus", + "ret-type": "[125]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-iothreads", + "ret-type": "[126]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-kvm", + "ret-type": "127", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-machines", + "ret-type": "[128]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-memdev", + "ret-type": "[129]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-memory-devices", + "ret-type": "[130]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-mice", + "ret-type": "[131]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-migrate", + "ret-type": "132", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-migrate-cache-size", + "ret-type": "int", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-migrate-capabilities", + "ret-type": "[133]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-migrate-parameters", + "ret-type": "85", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-name", + "ret-type": "134", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-named-block-nodes", + "ret-type": "[135]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-pci", + "ret-type": "[136]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-qmp-schema", + "ret-type": "[137]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-rocker", + "ret-type": "139", + "meta-type": "command", + "arg-type": "138" + }, + { + "name": "query-rocker-of-dpa-flows", + "ret-type": "[141]", + "meta-type": "command", + "arg-type": "140" + }, + { + "name": "query-rocker-of-dpa-groups", + "ret-type": "[143]", + "meta-type": "command", + "arg-type": "142" + }, + { + "name": "query-rocker-ports", + "ret-type": "[145]", + "meta-type": "command", + "arg-type": "144" + }, + { + "name": "query-rx-filter", + "ret-type": "[147]", + "meta-type": "command", + "arg-type": "146" + }, + { + "name": "query-spice", + "ret-type": "148", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-status", + "ret-type": "149", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-target", + "ret-type": "150", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-tpm", + "ret-type": "[151]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-tpm-models", + "ret-type": "[152]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-tpm-types", + "ret-type": "[153]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-uuid", + "ret-type": "154", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-version", + "ret-type": "155", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-vnc", + "ret-type": "156", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-vnc-servers", + "ret-type": "[157]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "quit", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "remove-fd", + "ret-type": "17", + "meta-type": "command", + "arg-type": "158" + }, + { + "name": "ringbuf-read", + "ret-type": "str", + "meta-type": "command", + "arg-type": "159" + }, + { + "name": "ringbuf-write", + "ret-type": "17", + "meta-type": "command", + "arg-type": "160" + }, + { + "name": "rtc-reset-reinjection", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "screendump", + "ret-type": "17", + "meta-type": "command", + "arg-type": "161" + }, + { + "name": "send-key", + "ret-type": "17", + "meta-type": "command", + "arg-type": "162" + }, + { + "name": "set_link", + "ret-type": "17", + "meta-type": "command", + "arg-type": "163" + }, + { + "name": "set_password", + "ret-type": "17", + "meta-type": "command", + "arg-type": "164" + }, + { + "name": "stop", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "system_powerdown", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "system_reset", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "system_wakeup", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "trace-event-get-state", + "ret-type": "[166]", + "meta-type": "command", + "arg-type": "165" + }, + { + "name": "trace-event-set-state", + "ret-type": "17", + "meta-type": "command", + "arg-type": "167" + }, + { + "name": "transaction", + "ret-type": "17", + "meta-type": "command", + "arg-type": "168" + }, + { + "name": "x-blockdev-change", + "ret-type": "17", + "meta-type": "command", + "arg-type": "169" + }, + { + "name": "x-blockdev-del", + "ret-type": "17", + "meta-type": "command", + "arg-type": "170" + }, + { + "name": "x-blockdev-insert-medium", + "ret-type": "17", + "meta-type": "command", + "arg-type": "171" + }, + { + "name": "x-blockdev-remove-medium", + "ret-type": "17", + "meta-type": "command", + "arg-type": "172" + }, + { + "name": "x-colo-lost-heartbeat", + "ret-type": "17", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "xen-load-devices-state", + "ret-type": "17", + "meta-type": "command", + "arg-type": "173" + }, + { + "name": "xen-save-devices-state", + "ret-type": "17", + "meta-type": "command", + "arg-type": "174" + }, + { + "name": "xen-set-global-dirty-log", + "ret-type": "17", + "meta-type": "command", + "arg-type": "175" + }, + { + "name": "0", + "members": [ + { + "name": "info", + "type": "101" + } + ], + "meta-type": "object" + }, + { + "name": "1", + "members": [ + { + "name": "actual", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "2", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "node-name", + "default": null, + "type": "str" + }, + { + "name": "msg", + "type": "str" + }, + { + "name": "offset", + "default": null, + "type": "int" + }, + { + "name": "size", + "default": null, + "type": "int" + }, + { + "name": "fatal", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "3", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "node-name", + "type": "str" + }, + { + "name": "operation", + "type": "176" + }, + { + "name": "action", + "type": "177" + }, + { + "name": "nospace", + "default": null, + "type": "bool" + }, + { + "name": "reason", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "4", + "members": [ + { + "name": "type", + "type": "178" + }, + { + "name": "device", + "type": "str" + }, + { + "name": "len", + "type": "int" + }, + { + "name": "offset", + "type": "int" + }, + { + "name": "speed", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "5", + "members": [ + { + "name": "type", + "type": "178" + }, + { + "name": "device", + "type": "str" + }, + { + "name": "len", + "type": "int" + }, + { + "name": "offset", + "type": "int" + }, + { + "name": "speed", + "type": "int" + }, + { + "name": "error", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "6", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "operation", + "type": "176" + }, + { + "name": "action", + "type": "177" + } + ], + "meta-type": "object" + }, + { + "name": "7", + "members": [ + { + "name": "type", + "type": "178" + }, + { + "name": "device", + "type": "str" + }, + { + "name": "len", + "type": "int" + }, + { + "name": "offset", + "type": "int" + }, + { + "name": "speed", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "8", + "members": [ + { + "name": "node-name", + "type": "str" + }, + { + "name": "amount-exceeded", + "type": "int" + }, + { + "name": "write-threshold", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "9", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "path", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "10", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "id", + "type": "str" + }, + { + "name": "tray-open", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "11", + "members": [ + { + "name": "result", + "type": "120" + }, + { + "name": "error", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "12", + "members": [ + { + "name": "action", + "type": "179" + } + ], + "meta-type": "object" + }, + { + "name": "13", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "msg", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "14", + "members": [ + { + "name": "status", + "type": "180" + } + ], + "meta-type": "object" + }, + { + "name": "15", + "members": [ + { + "name": "pass", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "16", + "members": [ + { + "name": "name", + "default": null, + "type": "str" + }, + { + "name": "path", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "17", + "members": [ + ], + "meta-type": "object" + }, + { + "name": "18", + "members": [ + { + "name": "reference", + "type": "str" + }, + { + "name": "sector-num", + "type": "int" + }, + { + "name": "sectors-count", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "19", + "members": [ + { + "name": "type", + "type": "181" + }, + { + "name": "error", + "default": null, + "type": "str" + }, + { + "name": "node-name", + "type": "str" + }, + { + "name": "sector-num", + "type": "int" + }, + { + "name": "sectors-count", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "20", + "members": [ + { + "name": "offset", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "21", + "members": [ + { + "name": "server", + "type": "182" + }, + { + "name": "client", + "type": "182" + } + ], + "meta-type": "object" + }, + { + "name": "22", + "members": [ + { + "name": "server", + "type": "182" + }, + { + "name": "client", + "type": "182" + } + ], + "meta-type": "object" + }, + { + "name": "23", + "members": [ + { + "name": "server", + "type": "183" + }, + { + "name": "client", + "type": "184" + } + ], + "meta-type": "object" + }, + { + "name": "24", + "members": [ + { + "name": "server", + "type": "185" + }, + { + "name": "client", + "type": "186" + } + ], + "meta-type": "object" + }, + { + "name": "25", + "members": [ + { + "name": "server", + "type": "185" + }, + { + "name": "client", + "type": "187" + } + ], + "meta-type": "object" + }, + { + "name": "26", + "members": [ + { + "name": "server", + "type": "185" + }, + { + "name": "client", + "type": "187" + } + ], + "meta-type": "object" + }, + { + "name": "27", + "members": [ + { + "name": "id", + "type": "str" + }, + { + "name": "open", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "28", + "members": [ + { + "name": "action", + "type": "188" + } + ], + "meta-type": "object" + }, + { + "name": "29", + "members": [ + { + "name": "fdset-id", + "default": null, + "type": "int" + }, + { + "name": "opaque", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "30", + "members": [ + { + "name": "fdset-id", + "type": "int" + }, + { + "name": "fd", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "31", + "members": [ + { + "name": "protocol", + "type": "str" + }, + { + "name": "fdname", + "type": "str" + }, + { + "name": "skipauth", + "default": null, + "type": "bool" + }, + { + "name": "tls", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "32", + "members": [ + { + "name": "value", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "33", + "members": [ + { + "name": "job-id", + "default": null, + "type": "str" + }, + { + "name": "device", + "type": "str" + }, + { + "name": "base", + "default": null, + "type": "str" + }, + { + "name": "top", + "default": null, + "type": "str" + }, + { + "name": "backing-file", + "default": null, + "type": "str" + }, + { + "name": "speed", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "34", + "members": [ + { + "name": "node", + "type": "str" + }, + { + "name": "name", + "type": "str" + }, + { + "name": "granularity", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "35", + "members": [ + { + "name": "node", + "type": "str" + }, + { + "name": "name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "36", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "force", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "37", + "members": [ + { + "name": "device", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "38", + "members": [ + { + "name": "device", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "39", + "members": [ + { + "name": "device", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "40", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "speed", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "41", + "members": [ + { + "name": "node-name", + "type": "str" + }, + { + "name": "write-threshold", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "42", + "members": [ + { + "name": "job-id", + "default": null, + "type": "str" + }, + { + "name": "device", + "type": "str" + }, + { + "name": "base", + "default": null, + "type": "str" + }, + { + "name": "base-node", + "default": null, + "type": "str" + }, + { + "name": "backing-file", + "default": null, + "type": "str" + }, + { + "name": "speed", + "default": null, + "type": "int" + }, + { + "name": "on-error", + "default": null, + "type": "189" + } + ], + "meta-type": "object" + }, + { + "name": "43", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "node-name", + "default": null, + "type": "str" + }, + { + "name": "password", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "44", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "node-name", + "default": null, + "type": "str" + }, + { + "name": "size", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "45", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "id", + "default": null, + "type": "str" + }, + { + "name": "bps", + "type": "int" + }, + { + "name": "bps_rd", + "type": "int" + }, + { + "name": "bps_wr", + "type": "int" + }, + { + "name": "iops", + "type": "int" + }, + { + "name": "iops_rd", + "type": "int" + }, + { + "name": "iops_wr", + "type": "int" + }, + { + "name": "bps_max", + "default": null, + "type": "int" + }, + { + "name": "bps_rd_max", + "default": null, + "type": "int" + }, + { + "name": "bps_wr_max", + "default": null, + "type": "int" + }, + { + "name": "iops_max", + "default": null, + "type": "int" + }, + { + "name": "iops_rd_max", + "default": null, + "type": "int" + }, + { + "name": "iops_wr_max", + "default": null, + "type": "int" + }, + { + "name": "bps_max_length", + "default": null, + "type": "int" + }, + { + "name": "bps_rd_max_length", + "default": null, + "type": "int" + }, + { + "name": "bps_wr_max_length", + "default": null, + "type": "int" + }, + { + "name": "iops_max_length", + "default": null, + "type": "int" + }, + { + "name": "iops_rd_max_length", + "default": null, + "type": "int" + }, + { + "name": "iops_wr_max_length", + "default": null, + "type": "int" + }, + { + "name": "iops_size", + "default": null, + "type": "int" + }, + { + "name": "group", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "46", + "tag": "driver", + "variants": [ + { + "case": "archipelago", + "type": "194" + }, + { + "case": "blkdebug", + "type": "195" + }, + { + "case": "blkverify", + "type": "196" + }, + { + "case": "bochs", + "type": "197" + }, + { + "case": "cloop", + "type": "197" + }, + { + "case": "dmg", + "type": "197" + }, + { + "case": "file", + "type": "198" + }, + { + "case": "ftp", + "type": "199" + }, + { + "case": "ftps", + "type": "199" + }, + { + "case": "gluster", + "type": "200" + }, + { + "case": "host_cdrom", + "type": "198" + }, + { + "case": "host_device", + "type": "198" + }, + { + "case": "http", + "type": "199" + }, + { + "case": "https", + "type": "199" + }, + { + "case": "luks", + "type": "201" + }, + { + "case": "nbd", + "type": "202" + }, + { + "case": "nfs", + "type": "203" + }, + { + "case": "null-aio", + "type": "204" + }, + { + "case": "null-co", + "type": "204" + }, + { + "case": "parallels", + "type": "197" + }, + { + "case": "qcow2", + "type": "205" + }, + { + "case": "qcow", + "type": "206" + }, + { + "case": "qed", + "type": "206" + }, + { + "case": "quorum", + "type": "207" + }, + { + "case": "raw", + "type": "208" + }, + { + "case": "replication", + "type": "209" + }, + { + "case": "ssh", + "type": "210" + }, + { + "case": "vdi", + "type": "197" + }, + { + "case": "vhdx", + "type": "197" + }, + { + "case": "vmdk", + "type": "206" + }, + { + "case": "vpc", + "type": "197" + }, + { + "case": "vvfat", + "type": "211" + } + ], + "members": [ + { + "name": "driver", + "type": "190" + }, + { + "name": "node-name", + "default": null, + "type": "str" + }, + { + "name": "discard", + "default": null, + "type": "191" + }, + { + "name": "cache", + "default": null, + "type": "192" + }, + { + "name": "read-only", + "default": null, + "type": "bool" + }, + { + "name": "detect-zeroes", + "default": null, + "type": "193" + } + ], + "meta-type": "object" + }, + { + "name": "47", + "members": [ + { + "name": "job-id", + "default": null, + "type": "str" + }, + { + "name": "device", + "type": "str" + }, + { + "name": "target", + "type": "str" + }, + { + "name": "sync", + "type": "212" + }, + { + "name": "speed", + "default": null, + "type": "int" + }, + { + "name": "compress", + "default": null, + "type": "bool" + }, + { + "name": "on-source-error", + "default": null, + "type": "189" + }, + { + "name": "on-target-error", + "default": null, + "type": "189" + } + ], + "meta-type": "object" + }, + { + "name": "48", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "id", + "default": null, + "type": "str" + }, + { + "name": "filename", + "type": "str" + }, + { + "name": "format", + "default": null, + "type": "str" + }, + { + "name": "read-only-mode", + "default": null, + "type": "213" + } + ], + "meta-type": "object" + }, + { + "name": "49", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "id", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "50", + "members": [ + { + "name": "job-id", + "default": null, + "type": "str" + }, + { + "name": "device", + "type": "str" + }, + { + "name": "target", + "type": "str" + }, + { + "name": "replaces", + "default": null, + "type": "str" + }, + { + "name": "sync", + "type": "212" + }, + { + "name": "speed", + "default": null, + "type": "int" + }, + { + "name": "granularity", + "default": null, + "type": "int" + }, + { + "name": "buf-size", + "default": null, + "type": "int" + }, + { + "name": "on-source-error", + "default": null, + "type": "189" + }, + { + "name": "on-target-error", + "default": null, + "type": "189" + } + ], + "meta-type": "object" + }, + { + "name": "51", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "id", + "default": null, + "type": "str" + }, + { + "name": "force", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "52", + "members": [ + { + "name": "node", + "type": "str" + }, + { + "name": "overlay", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "53", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "id", + "default": null, + "type": "str" + }, + { + "name": "name", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "54", + "members": [ + { + "name": "id", + "type": "str" + }, + { + "name": "name", + "type": "str" + }, + { + "name": "vm-state-size", + "type": "int" + }, + { + "name": "date-sec", + "type": "int" + }, + { + "name": "date-nsec", + "type": "int" + }, + { + "name": "vm-clock-sec", + "type": "int" + }, + { + "name": "vm-clock-nsec", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "55", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "56", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "node-name", + "default": null, + "type": "str" + }, + { + "name": "snapshot-file", + "type": "str" + }, + { + "name": "snapshot-node-name", + "default": null, + "type": "str" + }, + { + "name": "format", + "default": null, + "type": "str" + }, + { + "name": "mode", + "default": null, + "type": "214" + } + ], + "meta-type": "object" + }, + { + "name": "57", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "target", + "type": "str" + }, + { + "name": "arg", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "58", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "image-node-name", + "type": "str" + }, + { + "name": "backing-file", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "59", + "members": [ + { + "name": "password", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "60", + "members": [ + { + "name": "id", + "type": "str" + }, + { + "name": "backend", + "type": "215" + } + ], + "meta-type": "object" + }, + { + "name": "61", + "members": [ + { + "name": "pty", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "62", + "members": [ + { + "name": "id", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "63", + "members": [ + { + "name": "protocol", + "type": "str" + }, + { + "name": "hostname", + "type": "str" + }, + { + "name": "port", + "default": null, + "type": "int" + }, + { + "name": "tls-port", + "default": null, + "type": "int" + }, + { + "name": "cert-subject", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "64", + "members": [ + { + "name": "fdname", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "65", + "members": [ + { + "name": "index", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "66", + "members": [ + { + "name": "id", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "67", + "members": [ + { + "name": "typename", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[68]", + "element-type": "68", + "meta-type": "array" + }, + { + "name": "68", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "type", + "type": "str" + }, + { + "name": "description", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "69", + "members": [ + { + "name": "driver", + "type": "str" + }, + { + "name": "id", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "70", + "members": [ + { + "name": "id", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "71", + "members": [ + { + "name": "job-id", + "default": null, + "type": "str" + }, + { + "name": "device", + "type": "str" + }, + { + "name": "target", + "type": "str" + }, + { + "name": "format", + "default": null, + "type": "str" + }, + { + "name": "sync", + "type": "212" + }, + { + "name": "mode", + "default": null, + "type": "214" + }, + { + "name": "speed", + "default": null, + "type": "int" + }, + { + "name": "bitmap", + "default": null, + "type": "str" + }, + { + "name": "compress", + "default": null, + "type": "bool" + }, + { + "name": "on-source-error", + "default": null, + "type": "189" + }, + { + "name": "on-target-error", + "default": null, + "type": "189" + } + ], + "meta-type": "object" + }, + { + "name": "72", + "members": [ + { + "name": "job-id", + "default": null, + "type": "str" + }, + { + "name": "device", + "type": "str" + }, + { + "name": "target", + "type": "str" + }, + { + "name": "format", + "default": null, + "type": "str" + }, + { + "name": "node-name", + "default": null, + "type": "str" + }, + { + "name": "replaces", + "default": null, + "type": "str" + }, + { + "name": "sync", + "type": "212" + }, + { + "name": "mode", + "default": null, + "type": "214" + }, + { + "name": "speed", + "default": null, + "type": "int" + }, + { + "name": "granularity", + "default": null, + "type": "int" + }, + { + "name": "buf-size", + "default": null, + "type": "int" + }, + { + "name": "on-source-error", + "default": null, + "type": "189" + }, + { + "name": "on-target-error", + "default": null, + "type": "189" + }, + { + "name": "unmap", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "73", + "members": [ + { + "name": "paging", + "type": "bool" + }, + { + "name": "protocol", + "type": "str" + }, + { + "name": "detach", + "default": null, + "type": "bool" + }, + { + "name": "begin", + "default": null, + "type": "int" + }, + { + "name": "length", + "default": null, + "type": "int" + }, + { + "name": "format", + "default": null, + "type": "216" + } + ], + "meta-type": "object" + }, + { + "name": "74", + "members": [ + { + "name": "filename", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "75", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "id", + "default": null, + "type": "str" + }, + { + "name": "force", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "76", + "members": [ + { + "name": "protocol", + "type": "str" + }, + { + "name": "time", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "77", + "members": [ + { + "name": "fdname", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "78", + "members": [ + { + "name": "command-line", + "type": "str" + }, + { + "name": "cpu-index", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "str", + "json-type": "string", + "meta-type": "builtin" + }, + { + "name": "79", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "head", + "default": null, + "type": "int" + }, + { + "name": "events", + "type": "[217]" + } + ], + "meta-type": "object" + }, + { + "name": "80", + "members": [ + { + "name": "val", + "type": "int" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "filename", + "type": "str" + }, + { + "name": "cpu-index", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "81", + "members": [ + { + "name": "uri", + "type": "str" + }, + { + "name": "blk", + "default": null, + "type": "bool" + }, + { + "name": "inc", + "default": null, + "type": "bool" + }, + { + "name": "detach", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "82", + "members": [ + { + "name": "uri", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "83", + "members": [ + { + "name": "value", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "84", + "members": [ + { + "name": "capabilities", + "type": "[133]" + } + ], + "meta-type": "object" + }, + { + "name": "85", + "members": [ + { + "name": "compress-level", + "default": null, + "type": "int" + }, + { + "name": "compress-threads", + "default": null, + "type": "int" + }, + { + "name": "decompress-threads", + "default": null, + "type": "int" + }, + { + "name": "cpu-throttle-initial", + "default": null, + "type": "int" + }, + { + "name": "cpu-throttle-increment", + "default": null, + "type": "int" + }, + { + "name": "tls-creds", + "default": null, + "type": "str" + }, + { + "name": "tls-hostname", + "default": null, + "type": "str" + }, + { + "name": "max-bandwidth", + "default": null, + "type": "int" + }, + { + "name": "downtime-limit", + "default": null, + "type": "int" + }, + { + "name": "x-checkpoint-delay", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "86", + "members": [ + { + "name": "value", + "type": "number" + } + ], + "meta-type": "object" + }, + { + "name": "87", + "members": [ + { + "name": "value", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "88", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "writable", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "89", + "members": [ + { + "name": "addr", + "type": "218" + }, + { + "name": "tls-creds", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "90", + "members": [ + { + "name": "type", + "type": "str" + }, + { + "name": "id", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "91", + "members": [ + { + "name": "id", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "92", + "members": [ + { + "name": "qom-type", + "type": "str" + }, + { + "name": "id", + "type": "str" + }, + { + "name": "props", + "default": null, + "type": "any" + } + ], + "meta-type": "object" + }, + { + "name": "93", + "members": [ + { + "name": "id", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "94", + "members": [ + { + "name": "val", + "type": "int" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "filename", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "95", + "members": [ + { + "name": "path", + "type": "str" + }, + { + "name": "property", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "any", + "json-type": "value", + "meta-type": "builtin" + }, + { + "name": "96", + "members": [ + { + "name": "path", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[97]", + "element-type": "97", + "meta-type": "array" + }, + { + "name": "97", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "type", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "98", + "members": [ + { + "name": "implements", + "default": null, + "type": "str" + }, + { + "name": "abstract", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "[99]", + "element-type": "99", + "meta-type": "array" + }, + { + "name": "99", + "members": [ + { + "name": "name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "100", + "members": [ + { + "name": "path", + "type": "str" + }, + { + "name": "property", + "type": "str" + }, + { + "name": "value", + "type": "any" + } + ], + "meta-type": "object" + }, + { + "name": "[101]", + "element-type": "101", + "meta-type": "array" + }, + { + "name": "101", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "slot", + "type": "str" + }, + { + "name": "slot-type", + "type": "219" + }, + { + "name": "source", + "type": "int" + }, + { + "name": "status", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "102", + "members": [ + { + "name": "actual", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "[103]", + "element-type": "103", + "meta-type": "array" + }, + { + "name": "103", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "type", + "type": "str" + }, + { + "name": "removable", + "type": "bool" + }, + { + "name": "locked", + "type": "bool" + }, + { + "name": "inserted", + "default": null, + "type": "135" + }, + { + "name": "tray_open", + "default": null, + "type": "bool" + }, + { + "name": "io-status", + "default": null, + "type": "220" + }, + { + "name": "dirty-bitmaps", + "default": null, + "type": "[221]" + } + ], + "meta-type": "object" + }, + { + "name": "[104]", + "element-type": "104", + "meta-type": "array" + }, + { + "name": "104", + "members": [ + { + "name": "type", + "type": "str" + }, + { + "name": "device", + "type": "str" + }, + { + "name": "len", + "type": "int" + }, + { + "name": "offset", + "type": "int" + }, + { + "name": "busy", + "type": "bool" + }, + { + "name": "paused", + "type": "bool" + }, + { + "name": "speed", + "type": "int" + }, + { + "name": "io-status", + "type": "220" + }, + { + "name": "ready", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "105", + "members": [ + { + "name": "query-nodes", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "[106]", + "element-type": "106", + "meta-type": "array" + }, + { + "name": "106", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "node-name", + "default": null, + "type": "str" + }, + { + "name": "stats", + "type": "222" + }, + { + "name": "parent", + "default": null, + "type": "106" + }, + { + "name": "backing", + "default": null, + "type": "106" + } + ], + "meta-type": "object" + }, + { + "name": "[107]", + "element-type": "107", + "meta-type": "array" + }, + { + "name": "107", + "members": [ + { + "name": "label", + "type": "str" + }, + { + "name": "filename", + "type": "str" + }, + { + "name": "frontend-open", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "[108]", + "element-type": "108", + "meta-type": "array" + }, + { + "name": "108", + "members": [ + { + "name": "name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "109", + "members": [ + { + "name": "option", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[110]", + "element-type": "110", + "meta-type": "array" + }, + { + "name": "110", + "members": [ + { + "name": "option", + "type": "str" + }, + { + "name": "parameters", + "type": "[223]" + } + ], + "meta-type": "object" + }, + { + "name": "[111]", + "element-type": "111", + "meta-type": "array" + }, + { + "name": "111", + "members": [ + { + "name": "name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[112]", + "element-type": "112", + "meta-type": "array" + }, + { + "name": "112", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "migration-safe", + "default": null, + "type": "bool" + }, + { + "name": "static", + "type": "bool" + }, + { + "name": "unavailable-features", + "default": null, + "type": "[str]" + } + ], + "meta-type": "object" + }, + { + "name": "113", + "members": [ + { + "name": "modela", + "type": "224" + }, + { + "name": "modelb", + "type": "224" + } + ], + "meta-type": "object" + }, + { + "name": "114", + "members": [ + { + "name": "model", + "type": "224" + } + ], + "meta-type": "object" + }, + { + "name": "115", + "members": [ + { + "name": "modela", + "type": "224" + }, + { + "name": "modelb", + "type": "224" + } + ], + "meta-type": "object" + }, + { + "name": "116", + "members": [ + { + "name": "result", + "type": "225" + }, + { + "name": "responsible-properties", + "type": "[str]" + } + ], + "meta-type": "object" + }, + { + "name": "117", + "members": [ + { + "name": "type", + "type": "226" + }, + { + "name": "model", + "type": "224" + } + ], + "meta-type": "object" + }, + { + "name": "118", + "members": [ + { + "name": "model", + "type": "224" + } + ], + "meta-type": "object" + }, + { + "name": "[119]", + "element-type": "119", + "meta-type": "array" + }, + { + "name": "119", + "tag": "arch", + "variants": [ + { + "case": "x86", + "type": "228" + }, + { + "case": "sparc", + "type": "229" + }, + { + "case": "ppc", + "type": "230" + }, + { + "case": "mips", + "type": "231" + }, + { + "case": "tricore", + "type": "232" + }, + { + "case": "other", + "type": "233" + } + ], + "members": [ + { + "name": "CPU", + "type": "int" + }, + { + "name": "current", + "type": "bool" + }, + { + "name": "halted", + "type": "bool" + }, + { + "name": "qom_path", + "type": "str" + }, + { + "name": "thread_id", + "type": "int" + }, + { + "name": "arch", + "type": "227" + } + ], + "meta-type": "object" + }, + { + "name": "120", + "members": [ + { + "name": "status", + "type": "234" + }, + { + "name": "completed", + "type": "int" + }, + { + "name": "total", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "121", + "members": [ + { + "name": "formats", + "type": "[216]" + } + ], + "meta-type": "object" + }, + { + "name": "[122]", + "element-type": "122", + "meta-type": "array" + }, + { + "name": "122", + "members": [ + { + "name": "name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[123]", + "element-type": "123", + "meta-type": "array" + }, + { + "name": "123", + "members": [ + { + "name": "fdset-id", + "type": "int" + }, + { + "name": "fds", + "type": "[235]" + } + ], + "meta-type": "object" + }, + { + "name": "[124]", + "element-type": "124", + "meta-type": "array" + }, + { + "name": "124", + "members": [ + { + "name": "version", + "type": "int" + }, + { + "name": "emulated", + "type": "bool" + }, + { + "name": "kernel", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "[125]", + "element-type": "125", + "meta-type": "array" + }, + { + "name": "125", + "members": [ + { + "name": "type", + "type": "str" + }, + { + "name": "vcpus-count", + "type": "int" + }, + { + "name": "props", + "type": "236" + }, + { + "name": "qom-path", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[126]", + "element-type": "126", + "meta-type": "array" + }, + { + "name": "126", + "members": [ + { + "name": "id", + "type": "str" + }, + { + "name": "thread-id", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "127", + "members": [ + { + "name": "enabled", + "type": "bool" + }, + { + "name": "present", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "[128]", + "element-type": "128", + "meta-type": "array" + }, + { + "name": "128", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "alias", + "default": null, + "type": "str" + }, + { + "name": "is-default", + "default": null, + "type": "bool" + }, + { + "name": "cpu-max", + "type": "int" + }, + { + "name": "hotpluggable-cpus", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "[129]", + "element-type": "129", + "meta-type": "array" + }, + { + "name": "129", + "members": [ + { + "name": "size", + "type": "int" + }, + { + "name": "merge", + "type": "bool" + }, + { + "name": "dump", + "type": "bool" + }, + { + "name": "prealloc", + "type": "bool" + }, + { + "name": "host-nodes", + "type": "[int]" + }, + { + "name": "policy", + "type": "237" + } + ], + "meta-type": "object" + }, + { + "name": "[130]", + "element-type": "130", + "meta-type": "array" + }, + { + "name": "130", + "tag": "type", + "variants": [ + { + "case": "dimm", + "type": "239" + } + ], + "members": [ + { + "name": "type", + "type": "238" + } + ], + "meta-type": "object" + }, + { + "name": "[131]", + "element-type": "131", + "meta-type": "array" + }, + { + "name": "131", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "index", + "type": "int" + }, + { + "name": "current", + "type": "bool" + }, + { + "name": "absolute", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "132", + "members": [ + { + "name": "status", + "default": null, + "type": "180" + }, + { + "name": "ram", + "default": null, + "type": "240" + }, + { + "name": "disk", + "default": null, + "type": "240" + }, + { + "name": "xbzrle-cache", + "default": null, + "type": "241" + }, + { + "name": "total-time", + "default": null, + "type": "int" + }, + { + "name": "expected-downtime", + "default": null, + "type": "int" + }, + { + "name": "downtime", + "default": null, + "type": "int" + }, + { + "name": "setup-time", + "default": null, + "type": "int" + }, + { + "name": "cpu-throttle-percentage", + "default": null, + "type": "int" + }, + { + "name": "error-desc", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "int", + "json-type": "int", + "meta-type": "builtin" + }, + { + "name": "[133]", + "element-type": "133", + "meta-type": "array" + }, + { + "name": "133", + "members": [ + { + "name": "capability", + "type": "242" + }, + { + "name": "state", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "134", + "members": [ + { + "name": "name", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[135]", + "element-type": "135", + "meta-type": "array" + }, + { + "name": "135", + "members": [ + { + "name": "file", + "type": "str" + }, + { + "name": "node-name", + "default": null, + "type": "str" + }, + { + "name": "ro", + "type": "bool" + }, + { + "name": "drv", + "type": "str" + }, + { + "name": "backing_file", + "default": null, + "type": "str" + }, + { + "name": "backing_file_depth", + "type": "int" + }, + { + "name": "encrypted", + "type": "bool" + }, + { + "name": "encryption_key_missing", + "type": "bool" + }, + { + "name": "detect_zeroes", + "type": "193" + }, + { + "name": "bps", + "type": "int" + }, + { + "name": "bps_rd", + "type": "int" + }, + { + "name": "bps_wr", + "type": "int" + }, + { + "name": "iops", + "type": "int" + }, + { + "name": "iops_rd", + "type": "int" + }, + { + "name": "iops_wr", + "type": "int" + }, + { + "name": "image", + "type": "243" + }, + { + "name": "bps_max", + "default": null, + "type": "int" + }, + { + "name": "bps_rd_max", + "default": null, + "type": "int" + }, + { + "name": "bps_wr_max", + "default": null, + "type": "int" + }, + { + "name": "iops_max", + "default": null, + "type": "int" + }, + { + "name": "iops_rd_max", + "default": null, + "type": "int" + }, + { + "name": "iops_wr_max", + "default": null, + "type": "int" + }, + { + "name": "bps_max_length", + "default": null, + "type": "int" + }, + { + "name": "bps_rd_max_length", + "default": null, + "type": "int" + }, + { + "name": "bps_wr_max_length", + "default": null, + "type": "int" + }, + { + "name": "iops_max_length", + "default": null, + "type": "int" + }, + { + "name": "iops_rd_max_length", + "default": null, + "type": "int" + }, + { + "name": "iops_wr_max_length", + "default": null, + "type": "int" + }, + { + "name": "iops_size", + "default": null, + "type": "int" + }, + { + "name": "group", + "default": null, + "type": "str" + }, + { + "name": "cache", + "type": "244" + }, + { + "name": "write_threshold", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "[136]", + "element-type": "136", + "meta-type": "array" + }, + { + "name": "136", + "members": [ + { + "name": "bus", + "type": "int" + }, + { + "name": "devices", + "type": "[245]" + } + ], + "meta-type": "object" + }, + { + "name": "[137]", + "element-type": "137", + "meta-type": "array" + }, + { + "name": "137", + "tag": "meta-type", + "variants": [ + { + "case": "builtin", + "type": "247" + }, + { + "case": "enum", + "type": "248" + }, + { + "case": "array", + "type": "249" + }, + { + "case": "object", + "type": "250" + }, + { + "case": "alternate", + "type": "251" + }, + { + "case": "command", + "type": "252" + }, + { + "case": "event", + "type": "253" + } + ], + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "meta-type", + "type": "246" + } + ], + "meta-type": "object" + }, + { + "name": "138", + "members": [ + { + "name": "name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "139", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "id", + "type": "int" + }, + { + "name": "ports", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "140", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "tbl-id", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "[141]", + "element-type": "141", + "meta-type": "array" + }, + { + "name": "141", + "members": [ + { + "name": "cookie", + "type": "int" + }, + { + "name": "hits", + "type": "int" + }, + { + "name": "key", + "type": "254" + }, + { + "name": "mask", + "type": "255" + }, + { + "name": "action", + "type": "256" + } + ], + "meta-type": "object" + }, + { + "name": "142", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "type", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "[143]", + "element-type": "143", + "meta-type": "array" + }, + { + "name": "143", + "members": [ + { + "name": "id", + "type": "int" + }, + { + "name": "type", + "type": "int" + }, + { + "name": "vlan-id", + "default": null, + "type": "int" + }, + { + "name": "pport", + "default": null, + "type": "int" + }, + { + "name": "index", + "default": null, + "type": "int" + }, + { + "name": "out-pport", + "default": null, + "type": "int" + }, + { + "name": "group-id", + "default": null, + "type": "int" + }, + { + "name": "set-vlan-id", + "default": null, + "type": "int" + }, + { + "name": "pop-vlan", + "default": null, + "type": "int" + }, + { + "name": "group-ids", + "default": null, + "type": "[int]" + }, + { + "name": "set-eth-src", + "default": null, + "type": "str" + }, + { + "name": "set-eth-dst", + "default": null, + "type": "str" + }, + { + "name": "ttl-check", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "144", + "members": [ + { + "name": "name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[145]", + "element-type": "145", + "meta-type": "array" + }, + { + "name": "145", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "enabled", + "type": "bool" + }, + { + "name": "link-up", + "type": "bool" + }, + { + "name": "speed", + "type": "int" + }, + { + "name": "duplex", + "type": "257" + }, + { + "name": "autoneg", + "type": "258" + } + ], + "meta-type": "object" + }, + { + "name": "146", + "members": [ + { + "name": "name", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[147]", + "element-type": "147", + "meta-type": "array" + }, + { + "name": "147", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "promiscuous", + "type": "bool" + }, + { + "name": "multicast", + "type": "259" + }, + { + "name": "unicast", + "type": "259" + }, + { + "name": "vlan", + "type": "259" + }, + { + "name": "broadcast-allowed", + "type": "bool" + }, + { + "name": "multicast-overflow", + "type": "bool" + }, + { + "name": "unicast-overflow", + "type": "bool" + }, + { + "name": "main-mac", + "type": "str" + }, + { + "name": "vlan-table", + "type": "[int]" + }, + { + "name": "unicast-table", + "type": "[str]" + }, + { + "name": "multicast-table", + "type": "[str]" + } + ], + "meta-type": "object" + }, + { + "name": "148", + "members": [ + { + "name": "enabled", + "type": "bool" + }, + { + "name": "migrated", + "type": "bool" + }, + { + "name": "host", + "default": null, + "type": "str" + }, + { + "name": "port", + "default": null, + "type": "int" + }, + { + "name": "tls-port", + "default": null, + "type": "int" + }, + { + "name": "auth", + "default": null, + "type": "str" + }, + { + "name": "compiled-version", + "default": null, + "type": "str" + }, + { + "name": "mouse-mode", + "type": "260" + }, + { + "name": "channels", + "default": null, + "type": "[184]" + } + ], + "meta-type": "object" + }, + { + "name": "149", + "members": [ + { + "name": "running", + "type": "bool" + }, + { + "name": "singlestep", + "type": "bool" + }, + { + "name": "status", + "type": "261" + } + ], + "meta-type": "object" + }, + { + "name": "150", + "members": [ + { + "name": "arch", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[151]", + "element-type": "151", + "meta-type": "array" + }, + { + "name": "151", + "members": [ + { + "name": "id", + "type": "str" + }, + { + "name": "model", + "type": "152" + }, + { + "name": "options", + "type": "262" + } + ], + "meta-type": "object" + }, + { + "name": "[152]", + "element-type": "152", + "meta-type": "array" + }, + { + "name": "152", + "meta-type": "enum", + "values": [ + "tpm-tis" + ] + }, + { + "name": "[153]", + "element-type": "153", + "meta-type": "array" + }, + { + "name": "153", + "meta-type": "enum", + "values": [ + "passthrough" + ] + }, + { + "name": "154", + "members": [ + { + "name": "UUID", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "155", + "members": [ + { + "name": "qemu", + "type": "263" + }, + { + "name": "package", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "156", + "members": [ + { + "name": "enabled", + "type": "bool" + }, + { + "name": "host", + "default": null, + "type": "str" + }, + { + "name": "family", + "default": null, + "type": "264" + }, + { + "name": "service", + "default": null, + "type": "str" + }, + { + "name": "auth", + "default": null, + "type": "str" + }, + { + "name": "clients", + "default": null, + "type": "[187]" + } + ], + "meta-type": "object" + }, + { + "name": "[157]", + "element-type": "157", + "meta-type": "array" + }, + { + "name": "157", + "members": [ + { + "name": "id", + "type": "str" + }, + { + "name": "server", + "type": "[186]" + }, + { + "name": "clients", + "type": "[187]" + }, + { + "name": "auth", + "type": "265" + }, + { + "name": "vencrypt", + "default": null, + "type": "266" + }, + { + "name": "display", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "158", + "members": [ + { + "name": "fdset-id", + "type": "int" + }, + { + "name": "fd", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "159", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "format", + "default": null, + "type": "267" + } + ], + "meta-type": "object" + }, + { + "name": "160", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "data", + "type": "str" + }, + { + "name": "format", + "default": null, + "type": "267" + } + ], + "meta-type": "object" + }, + { + "name": "161", + "members": [ + { + "name": "filename", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "162", + "members": [ + { + "name": "keys", + "type": "[268]" + }, + { + "name": "hold-time", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "163", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "up", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "164", + "members": [ + { + "name": "protocol", + "type": "str" + }, + { + "name": "password", + "type": "str" + }, + { + "name": "connected", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "165", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "vcpu", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "[166]", + "element-type": "166", + "meta-type": "array" + }, + { + "name": "166", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "state", + "type": "269" + }, + { + "name": "vcpu", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "167", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "enable", + "type": "bool" + }, + { + "name": "ignore-unavailable", + "default": null, + "type": "bool" + }, + { + "name": "vcpu", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "168", + "members": [ + { + "name": "actions", + "type": "[270]" + }, + { + "name": "properties", + "default": null, + "type": "271" + } + ], + "meta-type": "object" + }, + { + "name": "169", + "members": [ + { + "name": "parent", + "type": "str" + }, + { + "name": "child", + "default": null, + "type": "str" + }, + { + "name": "node", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "170", + "members": [ + { + "name": "node-name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "171", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "id", + "default": null, + "type": "str" + }, + { + "name": "node-name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "172", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "id", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "173", + "members": [ + { + "name": "filename", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "174", + "members": [ + { + "name": "filename", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "175", + "members": [ + { + "name": "enable", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "bool", + "json-type": "boolean", + "meta-type": "builtin" + }, + { + "name": "176", + "meta-type": "enum", + "values": [ + "read", + "write" + ] + }, + { + "name": "177", + "meta-type": "enum", + "values": [ + "ignore", + "report", + "stop" + ] + }, + { + "name": "178", + "meta-type": "enum", + "values": [ + "commit", + "stream", + "mirror", + "backup" + ] + }, + { + "name": "179", + "meta-type": "enum", + "values": [ + "pause", + "poweroff" + ] + }, + { + "name": "180", + "meta-type": "enum", + "values": [ + "none", + "setup", + "cancelling", + "cancelled", + "active", + "postcopy-active", + "completed", + "failed", + "colo" + ] + }, + { + "name": "181", + "meta-type": "enum", + "values": [ + "read", + "write", + "flush" + ] + }, + { + "name": "182", + "members": [ + { + "name": "host", + "type": "str" + }, + { + "name": "port", + "type": "str" + }, + { + "name": "family", + "type": "264" + } + ], + "meta-type": "object" + }, + { + "name": "183", + "members": [ + { + "name": "host", + "type": "str" + }, + { + "name": "port", + "type": "str" + }, + { + "name": "family", + "type": "264" + }, + { + "name": "auth", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "184", + "members": [ + { + "name": "host", + "type": "str" + }, + { + "name": "port", + "type": "str" + }, + { + "name": "family", + "type": "264" + }, + { + "name": "connection-id", + "type": "int" + }, + { + "name": "channel-type", + "type": "int" + }, + { + "name": "channel-id", + "type": "int" + }, + { + "name": "tls", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "185", + "members": [ + { + "name": "host", + "type": "str" + }, + { + "name": "service", + "type": "str" + }, + { + "name": "family", + "type": "264" + }, + { + "name": "websocket", + "type": "bool" + }, + { + "name": "auth", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "186", + "members": [ + { + "name": "host", + "type": "str" + }, + { + "name": "service", + "type": "str" + }, + { + "name": "family", + "type": "264" + }, + { + "name": "websocket", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "187", + "members": [ + { + "name": "host", + "type": "str" + }, + { + "name": "service", + "type": "str" + }, + { + "name": "family", + "type": "264" + }, + { + "name": "websocket", + "type": "bool" + }, + { + "name": "x509_dname", + "default": null, + "type": "str" + }, + { + "name": "sasl_username", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "188", + "meta-type": "enum", + "values": [ + "reset", + "shutdown", + "poweroff", + "pause", + "debug", + "none", + "inject-nmi" + ] + }, + { + "name": "189", + "meta-type": "enum", + "values": [ + "report", + "ignore", + "enospc", + "stop", + "auto" + ] + }, + { + "name": "190", + "meta-type": "enum", + "values": [ + "archipelago", + "blkdebug", + "blkverify", + "bochs", + "cloop", + "dmg", + "file", + "ftp", + "ftps", + "gluster", + "host_cdrom", + "host_device", + "http", + "https", + "luks", + "nbd", + "nfs", + "null-aio", + "null-co", + "parallels", + "qcow", + "qcow2", + "qed", + "quorum", + "raw", + "replication", + "ssh", + "vdi", + "vhdx", + "vmdk", + "vpc", + "vvfat" + ] + }, + { + "name": "191", + "meta-type": "enum", + "values": [ + "ignore", + "unmap" + ] + }, + { + "name": "192", + "members": [ + { + "name": "direct", + "default": null, + "type": "bool" + }, + { + "name": "no-flush", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "193", + "meta-type": "enum", + "values": [ + "off", + "on", + "unmap" + ] + }, + { + "name": "194", + "members": [ + { + "name": "volume", + "type": "str" + }, + { + "name": "mport", + "default": null, + "type": "int" + }, + { + "name": "vport", + "default": null, + "type": "int" + }, + { + "name": "segment", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "195", + "members": [ + { + "name": "image", + "type": "272" + }, + { + "name": "config", + "default": null, + "type": "str" + }, + { + "name": "align", + "default": null, + "type": "int" + }, + { + "name": "inject-error", + "default": null, + "type": "[273]" + }, + { + "name": "set-state", + "default": null, + "type": "[274]" + } + ], + "meta-type": "object" + }, + { + "name": "196", + "members": [ + { + "name": "test", + "type": "272" + }, + { + "name": "raw", + "type": "272" + } + ], + "meta-type": "object" + }, + { + "name": "197", + "members": [ + { + "name": "file", + "type": "272" + } + ], + "meta-type": "object" + }, + { + "name": "198", + "members": [ + { + "name": "filename", + "type": "str" + }, + { + "name": "aio", + "default": null, + "type": "275" + } + ], + "meta-type": "object" + }, + { + "name": "199", + "members": [ + { + "name": "filename", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "200", + "members": [ + { + "name": "volume", + "type": "str" + }, + { + "name": "path", + "type": "str" + }, + { + "name": "server", + "type": "[276]" + }, + { + "name": "debug", + "default": null, + "type": "int" + }, + { + "name": "logfile", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "201", + "members": [ + { + "name": "file", + "type": "272" + }, + { + "name": "key-secret", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "202", + "members": [ + { + "name": "server", + "type": "218" + }, + { + "name": "export", + "default": null, + "type": "str" + }, + { + "name": "tls-creds", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "203", + "members": [ + { + "name": "server", + "type": "277" + }, + { + "name": "path", + "type": "str" + }, + { + "name": "user", + "default": null, + "type": "int" + }, + { + "name": "group", + "default": null, + "type": "int" + }, + { + "name": "tcp-syn-count", + "default": null, + "type": "int" + }, + { + "name": "readahead-size", + "default": null, + "type": "int" + }, + { + "name": "page-cache-size", + "default": null, + "type": "int" + }, + { + "name": "debug", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "204", + "members": [ + { + "name": "size", + "default": null, + "type": "int" + }, + { + "name": "latency-ns", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "205", + "members": [ + { + "name": "file", + "type": "272" + }, + { + "name": "backing", + "default": null, + "type": "272" + }, + { + "name": "lazy-refcounts", + "default": null, + "type": "bool" + }, + { + "name": "pass-discard-request", + "default": null, + "type": "bool" + }, + { + "name": "pass-discard-snapshot", + "default": null, + "type": "bool" + }, + { + "name": "pass-discard-other", + "default": null, + "type": "bool" + }, + { + "name": "overlap-check", + "default": null, + "type": "278" + }, + { + "name": "cache-size", + "default": null, + "type": "int" + }, + { + "name": "l2-cache-size", + "default": null, + "type": "int" + }, + { + "name": "refcount-cache-size", + "default": null, + "type": "int" + }, + { + "name": "cache-clean-interval", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "206", + "members": [ + { + "name": "file", + "type": "272" + }, + { + "name": "backing", + "default": null, + "type": "272" + } + ], + "meta-type": "object" + }, + { + "name": "207", + "members": [ + { + "name": "blkverify", + "default": null, + "type": "bool" + }, + { + "name": "children", + "type": "[272]" + }, + { + "name": "vote-threshold", + "type": "int" + }, + { + "name": "rewrite-corrupted", + "default": null, + "type": "bool" + }, + { + "name": "read-pattern", + "default": null, + "type": "279" + } + ], + "meta-type": "object" + }, + { + "name": "208", + "members": [ + { + "name": "file", + "type": "272" + }, + { + "name": "offset", + "default": null, + "type": "int" + }, + { + "name": "size", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "209", + "members": [ + { + "name": "file", + "type": "272" + }, + { + "name": "mode", + "type": "280" + }, + { + "name": "top-id", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "210", + "members": [ + { + "name": "server", + "type": "281" + }, + { + "name": "path", + "type": "str" + }, + { + "name": "user", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "211", + "members": [ + { + "name": "dir", + "type": "str" + }, + { + "name": "fat-type", + "default": null, + "type": "int" + }, + { + "name": "floppy", + "default": null, + "type": "bool" + }, + { + "name": "label", + "default": null, + "type": "str" + }, + { + "name": "rw", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "212", + "meta-type": "enum", + "values": [ + "top", + "full", + "none", + "incremental" + ] + }, + { + "name": "213", + "meta-type": "enum", + "values": [ + "retain", + "read-only", + "read-write" + ] + }, + { + "name": "214", + "meta-type": "enum", + "values": [ + "existing", + "absolute-paths" + ] + }, + { + "name": "215", + "tag": "type", + "variants": [ + { + "case": "file", + "type": "283" + }, + { + "case": "serial", + "type": "284" + }, + { + "case": "parallel", + "type": "284" + }, + { + "case": "pipe", + "type": "284" + }, + { + "case": "socket", + "type": "285" + }, + { + "case": "udp", + "type": "286" + }, + { + "case": "pty", + "type": "287" + }, + { + "case": "null", + "type": "287" + }, + { + "case": "mux", + "type": "288" + }, + { + "case": "msmouse", + "type": "287" + }, + { + "case": "braille", + "type": "287" + }, + { + "case": "testdev", + "type": "287" + }, + { + "case": "stdio", + "type": "289" + }, + { + "case": "console", + "type": "287" + }, + { + "case": "spicevmc", + "type": "290" + }, + { + "case": "spiceport", + "type": "291" + }, + { + "case": "vc", + "type": "292" + }, + { + "case": "ringbuf", + "type": "293" + }, + { + "case": "memory", + "type": "293" + } + ], + "members": [ + { + "name": "type", + "type": "282" + } + ], + "meta-type": "object" + }, + { + "name": "216", + "meta-type": "enum", + "values": [ + "elf", + "kdump-zlib", + "kdump-lzo", + "kdump-snappy" + ] + }, + { + "name": "[217]", + "element-type": "217", + "meta-type": "array" + }, + { + "name": "217", + "tag": "type", + "variants": [ + { + "case": "key", + "type": "295" + }, + { + "case": "btn", + "type": "296" + }, + { + "case": "rel", + "type": "297" + }, + { + "case": "abs", + "type": "297" + } + ], + "members": [ + { + "name": "type", + "type": "294" + } + ], + "meta-type": "object" + }, + { + "name": "number", + "json-type": "number", + "meta-type": "builtin" + }, + { + "name": "218", + "tag": "type", + "variants": [ + { + "case": "inet", + "type": "299" + }, + { + "case": "unix", + "type": "300" + }, + { + "case": "vsock", + "type": "301" + }, + { + "case": "fd", + "type": "302" + } + ], + "members": [ + { + "name": "type", + "type": "298" + } + ], + "meta-type": "object" + }, + { + "name": "219", + "meta-type": "enum", + "values": [ + "DIMM", + "CPU" + ] + }, + { + "name": "220", + "meta-type": "enum", + "values": [ + "ok", + "failed", + "nospace" + ] + }, + { + "name": "[221]", + "element-type": "221", + "meta-type": "array" + }, + { + "name": "221", + "members": [ + { + "name": "name", + "default": null, + "type": "str" + }, + { + "name": "count", + "type": "int" + }, + { + "name": "granularity", + "type": "int" + }, + { + "name": "status", + "type": "303" + } + ], + "meta-type": "object" + }, + { + "name": "222", + "members": [ + { + "name": "rd_bytes", + "type": "int" + }, + { + "name": "wr_bytes", + "type": "int" + }, + { + "name": "rd_operations", + "type": "int" + }, + { + "name": "wr_operations", + "type": "int" + }, + { + "name": "flush_operations", + "type": "int" + }, + { + "name": "flush_total_time_ns", + "type": "int" + }, + { + "name": "wr_total_time_ns", + "type": "int" + }, + { + "name": "rd_total_time_ns", + "type": "int" + }, + { + "name": "wr_highest_offset", + "type": "int" + }, + { + "name": "rd_merged", + "type": "int" + }, + { + "name": "wr_merged", + "type": "int" + }, + { + "name": "idle_time_ns", + "default": null, + "type": "int" + }, + { + "name": "failed_rd_operations", + "type": "int" + }, + { + "name": "failed_wr_operations", + "type": "int" + }, + { + "name": "failed_flush_operations", + "type": "int" + }, + { + "name": "invalid_rd_operations", + "type": "int" + }, + { + "name": "invalid_wr_operations", + "type": "int" + }, + { + "name": "invalid_flush_operations", + "type": "int" + }, + { + "name": "account_invalid", + "type": "bool" + }, + { + "name": "account_failed", + "type": "bool" + }, + { + "name": "timed_stats", + "type": "[304]" + } + ], + "meta-type": "object" + }, + { + "name": "[223]", + "element-type": "223", + "meta-type": "array" + }, + { + "name": "223", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "type", + "type": "305" + }, + { + "name": "help", + "default": null, + "type": "str" + }, + { + "name": "default", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[str]", + "element-type": "str", + "meta-type": "array" + }, + { + "name": "224", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "props", + "default": null, + "type": "any" + } + ], + "meta-type": "object" + }, + { + "name": "225", + "meta-type": "enum", + "values": [ + "incompatible", + "identical", + "superset", + "subset" + ] + }, + { + "name": "226", + "meta-type": "enum", + "values": [ + "static", + "full" + ] + }, + { + "name": "227", + "meta-type": "enum", + "values": [ + "x86", + "sparc", + "ppc", + "mips", + "tricore", + "other" + ] + }, + { + "name": "228", + "members": [ + { + "name": "pc", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "229", + "members": [ + { + "name": "pc", + "type": "int" + }, + { + "name": "npc", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "230", + "members": [ + { + "name": "nip", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "231", + "members": [ + { + "name": "PC", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "232", + "members": [ + { + "name": "PC", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "233", + "members": [ + ], + "meta-type": "object" + }, + { + "name": "234", + "meta-type": "enum", + "values": [ + "none", + "active", + "completed", + "failed" + ] + }, + { + "name": "[216]", + "element-type": "216", + "meta-type": "array" + }, + { + "name": "[235]", + "element-type": "235", + "meta-type": "array" + }, + { + "name": "235", + "members": [ + { + "name": "fd", + "type": "int" + }, + { + "name": "opaque", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "236", + "members": [ + { + "name": "node-id", + "default": null, + "type": "int" + }, + { + "name": "socket-id", + "default": null, + "type": "int" + }, + { + "name": "core-id", + "default": null, + "type": "int" + }, + { + "name": "thread-id", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "[int]", + "element-type": "int", + "meta-type": "array" + }, + { + "name": "237", + "meta-type": "enum", + "values": [ + "default", + "preferred", + "bind", + "interleave" + ] + }, + { + "name": "238", + "meta-type": "enum", + "values": [ + "dimm" + ] + }, + { + "name": "239", + "members": [ + { + "name": "data", + "type": "306" + } + ], + "meta-type": "object" + }, + { + "name": "240", + "members": [ + { + "name": "transferred", + "type": "int" + }, + { + "name": "remaining", + "type": "int" + }, + { + "name": "total", + "type": "int" + }, + { + "name": "duplicate", + "type": "int" + }, + { + "name": "skipped", + "type": "int" + }, + { + "name": "normal", + "type": "int" + }, + { + "name": "normal-bytes", + "type": "int" + }, + { + "name": "dirty-pages-rate", + "type": "int" + }, + { + "name": "mbps", + "type": "number" + }, + { + "name": "dirty-sync-count", + "type": "int" + }, + { + "name": "postcopy-requests", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "241", + "members": [ + { + "name": "cache-size", + "type": "int" + }, + { + "name": "bytes", + "type": "int" + }, + { + "name": "pages", + "type": "int" + }, + { + "name": "cache-miss", + "type": "int" + }, + { + "name": "cache-miss-rate", + "type": "number" + }, + { + "name": "overflow", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "242", + "meta-type": "enum", + "values": [ + "xbzrle", + "rdma-pin-all", + "auto-converge", + "zero-blocks", + "compress", + "events", + "postcopy-ram", + "x-colo" + ] + }, + { + "name": "243", + "members": [ + { + "name": "filename", + "type": "str" + }, + { + "name": "format", + "type": "str" + }, + { + "name": "dirty-flag", + "default": null, + "type": "bool" + }, + { + "name": "actual-size", + "default": null, + "type": "int" + }, + { + "name": "virtual-size", + "type": "int" + }, + { + "name": "cluster-size", + "default": null, + "type": "int" + }, + { + "name": "encrypted", + "default": null, + "type": "bool" + }, + { + "name": "compressed", + "default": null, + "type": "bool" + }, + { + "name": "backing-filename", + "default": null, + "type": "str" + }, + { + "name": "full-backing-filename", + "default": null, + "type": "str" + }, + { + "name": "backing-filename-format", + "default": null, + "type": "str" + }, + { + "name": "snapshots", + "default": null, + "type": "[54]" + }, + { + "name": "backing-image", + "default": null, + "type": "243" + }, + { + "name": "format-specific", + "default": null, + "type": "307" + } + ], + "meta-type": "object" + }, + { + "name": "244", + "members": [ + { + "name": "writeback", + "type": "bool" + }, + { + "name": "direct", + "type": "bool" + }, + { + "name": "no-flush", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "[245]", + "element-type": "245", + "meta-type": "array" + }, + { + "name": "245", + "members": [ + { + "name": "bus", + "type": "int" + }, + { + "name": "slot", + "type": "int" + }, + { + "name": "function", + "type": "int" + }, + { + "name": "class_info", + "type": "308" + }, + { + "name": "id", + "type": "309" + }, + { + "name": "irq", + "default": null, + "type": "int" + }, + { + "name": "qdev_id", + "type": "str" + }, + { + "name": "pci_bridge", + "default": null, + "type": "310" + }, + { + "name": "regions", + "type": "[311]" + } + ], + "meta-type": "object" + }, + { + "name": "246", + "meta-type": "enum", + "values": [ + "builtin", + "enum", + "array", + "object", + "alternate", + "command", + "event" + ] + }, + { + "name": "247", + "members": [ + { + "name": "json-type", + "type": "312" + } + ], + "meta-type": "object" + }, + { + "name": "248", + "members": [ + { + "name": "values", + "type": "[str]" + } + ], + "meta-type": "object" + }, + { + "name": "249", + "members": [ + { + "name": "element-type", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "250", + "members": [ + { + "name": "members", + "type": "[313]" + }, + { + "name": "tag", + "default": null, + "type": "str" + }, + { + "name": "variants", + "default": null, + "type": "[314]" + } + ], + "meta-type": "object" + }, + { + "name": "251", + "members": [ + { + "name": "members", + "type": "[315]" + } + ], + "meta-type": "object" + }, + { + "name": "252", + "members": [ + { + "name": "arg-type", + "type": "str" + }, + { + "name": "ret-type", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "253", + "members": [ + { + "name": "arg-type", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "254", + "members": [ + { + "name": "priority", + "type": "int" + }, + { + "name": "tbl-id", + "type": "int" + }, + { + "name": "in-pport", + "default": null, + "type": "int" + }, + { + "name": "tunnel-id", + "default": null, + "type": "int" + }, + { + "name": "vlan-id", + "default": null, + "type": "int" + }, + { + "name": "eth-type", + "default": null, + "type": "int" + }, + { + "name": "eth-src", + "default": null, + "type": "str" + }, + { + "name": "eth-dst", + "default": null, + "type": "str" + }, + { + "name": "ip-proto", + "default": null, + "type": "int" + }, + { + "name": "ip-tos", + "default": null, + "type": "int" + }, + { + "name": "ip-dst", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "255", + "members": [ + { + "name": "in-pport", + "default": null, + "type": "int" + }, + { + "name": "tunnel-id", + "default": null, + "type": "int" + }, + { + "name": "vlan-id", + "default": null, + "type": "int" + }, + { + "name": "eth-src", + "default": null, + "type": "str" + }, + { + "name": "eth-dst", + "default": null, + "type": "str" + }, + { + "name": "ip-proto", + "default": null, + "type": "int" + }, + { + "name": "ip-tos", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "256", + "members": [ + { + "name": "goto-tbl", + "default": null, + "type": "int" + }, + { + "name": "group-id", + "default": null, + "type": "int" + }, + { + "name": "tunnel-lport", + "default": null, + "type": "int" + }, + { + "name": "vlan-id", + "default": null, + "type": "int" + }, + { + "name": "new-vlan-id", + "default": null, + "type": "int" + }, + { + "name": "out-pport", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "257", + "meta-type": "enum", + "values": [ + "half", + "full" + ] + }, + { + "name": "258", + "meta-type": "enum", + "values": [ + "off", + "on" + ] + }, + { + "name": "259", + "meta-type": "enum", + "values": [ + "normal", + "none", + "all" + ] + }, + { + "name": "260", + "meta-type": "enum", + "values": [ + "client", + "server", + "unknown" + ] + }, + { + "name": "[184]", + "element-type": "184", + "meta-type": "array" + }, + { + "name": "261", + "meta-type": "enum", + "values": [ + "debug", + "inmigrate", + "internal-error", + "io-error", + "paused", + "postmigrate", + "prelaunch", + "finish-migrate", + "restore-vm", + "running", + "save-vm", + "shutdown", + "suspended", + "watchdog", + "guest-panicked", + "colo" + ] + }, + { + "name": "262", + "tag": "type", + "variants": [ + { + "case": "passthrough", + "type": "317" + } + ], + "members": [ + { + "name": "type", + "type": "316" + } + ], + "meta-type": "object" + }, + { + "name": "263", + "members": [ + { + "name": "major", + "type": "int" + }, + { + "name": "minor", + "type": "int" + }, + { + "name": "micro", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "264", + "meta-type": "enum", + "values": [ + "ipv4", + "ipv6", + "unix", + "vsock", + "unknown" + ] + }, + { + "name": "[187]", + "element-type": "187", + "meta-type": "array" + }, + { + "name": "[186]", + "element-type": "186", + "meta-type": "array" + }, + { + "name": "265", + "meta-type": "enum", + "values": [ + "none", + "vnc", + "ra2", + "ra2ne", + "tight", + "ultra", + "tls", + "vencrypt", + "sasl" + ] + }, + { + "name": "266", + "meta-type": "enum", + "values": [ + "plain", + "tls-none", + "x509-none", + "tls-vnc", + "x509-vnc", + "tls-plain", + "x509-plain", + "tls-sasl", + "x509-sasl" + ] + }, + { + "name": "267", + "meta-type": "enum", + "values": [ + "utf8", + "base64" + ] + }, + { + "name": "[268]", + "element-type": "268", + "meta-type": "array" + }, + { + "name": "268", + "tag": "type", + "variants": [ + { + "case": "number", + "type": "319" + }, + { + "case": "qcode", + "type": "320" + } + ], + "members": [ + { + "name": "type", + "type": "318" + } + ], + "meta-type": "object" + }, + { + "name": "269", + "meta-type": "enum", + "values": [ + "unavailable", + "disabled", + "enabled" + ] + }, + { + "name": "[270]", + "element-type": "270", + "meta-type": "array" + }, + { + "name": "270", + "tag": "type", + "variants": [ + { + "case": "blockdev-snapshot", + "type": "322" + }, + { + "case": "blockdev-snapshot-sync", + "type": "323" + }, + { + "case": "drive-backup", + "type": "324" + }, + { + "case": "blockdev-backup", + "type": "325" + }, + { + "case": "abort", + "type": "326" + }, + { + "case": "blockdev-snapshot-internal-sync", + "type": "327" + }, + { + "case": "block-dirty-bitmap-add", + "type": "328" + }, + { + "case": "block-dirty-bitmap-clear", + "type": "329" + } + ], + "members": [ + { + "name": "type", + "type": "321" + } + ], + "meta-type": "object" + }, + { + "name": "271", + "members": [ + { + "name": "completion-mode", + "default": null, + "type": "330" + } + ], + "meta-type": "object" + }, + { + "name": "272", + "members": [ + { + "type": "46" + }, + { + "type": "str" + } + ], + "meta-type": "alternate" + }, + { + "name": "[273]", + "element-type": "273", + "meta-type": "array" + }, + { + "name": "273", + "members": [ + { + "name": "event", + "type": "331" + }, + { + "name": "state", + "default": null, + "type": "int" + }, + { + "name": "errno", + "default": null, + "type": "int" + }, + { + "name": "sector", + "default": null, + "type": "int" + }, + { + "name": "once", + "default": null, + "type": "bool" + }, + { + "name": "immediately", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "[274]", + "element-type": "274", + "meta-type": "array" + }, + { + "name": "274", + "members": [ + { + "name": "event", + "type": "331" + }, + { + "name": "state", + "default": null, + "type": "int" + }, + { + "name": "new_state", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "275", + "meta-type": "enum", + "values": [ + "threads", + "native" + ] + }, + { + "name": "[276]", + "element-type": "276", + "meta-type": "array" + }, + { + "name": "276", + "tag": "type", + "variants": [ + { + "case": "unix", + "type": "333" + }, + { + "case": "tcp", + "type": "281" + } + ], + "members": [ + { + "name": "type", + "type": "332" + } + ], + "meta-type": "object" + }, + { + "name": "277", + "members": [ + { + "name": "type", + "type": "334" + }, + { + "name": "host", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "278", + "members": [ + { + "type": "335" + }, + { + "type": "336" + } + ], + "meta-type": "alternate" + }, + { + "name": "[272]", + "element-type": "272", + "meta-type": "array" + }, + { + "name": "279", + "meta-type": "enum", + "values": [ + "quorum", + "fifo" + ] + }, + { + "name": "280", + "meta-type": "enum", + "values": [ + "primary", + "secondary" + ] + }, + { + "name": "281", + "members": [ + { + "name": "host", + "type": "str" + }, + { + "name": "port", + "type": "str" + }, + { + "name": "to", + "default": null, + "type": "int" + }, + { + "name": "ipv4", + "default": null, + "type": "bool" + }, + { + "name": "ipv6", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "282", + "meta-type": "enum", + "values": [ + "file", + "serial", + "parallel", + "pipe", + "socket", + "udp", + "pty", + "null", + "mux", + "msmouse", + "braille", + "testdev", + "stdio", + "console", + "spicevmc", + "spiceport", + "vc", + "ringbuf", + "memory" + ] + }, + { + "name": "283", + "members": [ + { + "name": "data", + "type": "337" + } + ], + "meta-type": "object" + }, + { + "name": "284", + "members": [ + { + "name": "data", + "type": "338" + } + ], + "meta-type": "object" + }, + { + "name": "285", + "members": [ + { + "name": "data", + "type": "339" + } + ], + "meta-type": "object" + }, + { + "name": "286", + "members": [ + { + "name": "data", + "type": "340" + } + ], + "meta-type": "object" + }, + { + "name": "287", + "members": [ + { + "name": "data", + "type": "341" + } + ], + "meta-type": "object" + }, + { + "name": "288", + "members": [ + { + "name": "data", + "type": "342" + } + ], + "meta-type": "object" + }, + { + "name": "289", + "members": [ + { + "name": "data", + "type": "343" + } + ], + "meta-type": "object" + }, + { + "name": "290", + "members": [ + { + "name": "data", + "type": "344" + } + ], + "meta-type": "object" + }, + { + "name": "291", + "members": [ + { + "name": "data", + "type": "345" + } + ], + "meta-type": "object" + }, + { + "name": "292", + "members": [ + { + "name": "data", + "type": "346" + } + ], + "meta-type": "object" + }, + { + "name": "293", + "members": [ + { + "name": "data", + "type": "347" + } + ], + "meta-type": "object" + }, + { + "name": "294", + "meta-type": "enum", + "values": [ + "key", + "btn", + "rel", + "abs" + ] + }, + { + "name": "295", + "members": [ + { + "name": "data", + "type": "348" + } + ], + "meta-type": "object" + }, + { + "name": "296", + "members": [ + { + "name": "data", + "type": "349" + } + ], + "meta-type": "object" + }, + { + "name": "297", + "members": [ + { + "name": "data", + "type": "350" + } + ], + "meta-type": "object" + }, + { + "name": "298", + "meta-type": "enum", + "values": [ + "inet", + "unix", + "vsock", + "fd" + ] + }, + { + "name": "299", + "members": [ + { + "name": "data", + "type": "281" + } + ], + "meta-type": "object" + }, + { + "name": "300", + "members": [ + { + "name": "data", + "type": "333" + } + ], + "meta-type": "object" + }, + { + "name": "301", + "members": [ + { + "name": "data", + "type": "351" + } + ], + "meta-type": "object" + }, + { + "name": "302", + "members": [ + { + "name": "data", + "type": "352" + } + ], + "meta-type": "object" + }, + { + "name": "303", + "meta-type": "enum", + "values": [ + "active", + "disabled", + "frozen" + ] + }, + { + "name": "[304]", + "element-type": "304", + "meta-type": "array" + }, + { + "name": "304", + "members": [ + { + "name": "interval_length", + "type": "int" + }, + { + "name": "min_rd_latency_ns", + "type": "int" + }, + { + "name": "max_rd_latency_ns", + "type": "int" + }, + { + "name": "avg_rd_latency_ns", + "type": "int" + }, + { + "name": "min_wr_latency_ns", + "type": "int" + }, + { + "name": "max_wr_latency_ns", + "type": "int" + }, + { + "name": "avg_wr_latency_ns", + "type": "int" + }, + { + "name": "min_flush_latency_ns", + "type": "int" + }, + { + "name": "max_flush_latency_ns", + "type": "int" + }, + { + "name": "avg_flush_latency_ns", + "type": "int" + }, + { + "name": "avg_rd_queue_depth", + "type": "number" + }, + { + "name": "avg_wr_queue_depth", + "type": "number" + } + ], + "meta-type": "object" + }, + { + "name": "305", + "meta-type": "enum", + "values": [ + "string", + "boolean", + "number", + "size" + ] + }, + { + "name": "306", + "members": [ + { + "name": "id", + "default": null, + "type": "str" + }, + { + "name": "addr", + "type": "int" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "slot", + "type": "int" + }, + { + "name": "node", + "type": "int" + }, + { + "name": "memdev", + "type": "str" + }, + { + "name": "hotplugged", + "type": "bool" + }, + { + "name": "hotpluggable", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "[54]", + "element-type": "54", + "meta-type": "array" + }, + { + "name": "307", + "tag": "type", + "variants": [ + { + "case": "qcow2", + "type": "354" + }, + { + "case": "vmdk", + "type": "355" + }, + { + "case": "luks", + "type": "356" + } + ], + "members": [ + { + "name": "type", + "type": "353" + } + ], + "meta-type": "object" + }, + { + "name": "308", + "members": [ + { + "name": "desc", + "default": null, + "type": "str" + }, + { + "name": "class", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "309", + "members": [ + { + "name": "device", + "type": "int" + }, + { + "name": "vendor", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "310", + "members": [ + { + "name": "bus", + "type": "357" + }, + { + "name": "devices", + "default": null, + "type": "[245]" + } + ], + "meta-type": "object" + }, + { + "name": "[311]", + "element-type": "311", + "meta-type": "array" + }, + { + "name": "311", + "members": [ + { + "name": "bar", + "type": "int" + }, + { + "name": "type", + "type": "str" + }, + { + "name": "address", + "type": "int" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "prefetch", + "default": null, + "type": "bool" + }, + { + "name": "mem_type_64", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "312", + "meta-type": "enum", + "values": [ + "string", + "number", + "int", + "boolean", + "null", + "object", + "array", + "value" + ] + }, + { + "name": "[313]", + "element-type": "313", + "meta-type": "array" + }, + { + "name": "313", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "type", + "type": "str" + }, + { + "name": "default", + "default": null, + "type": "any" + } + ], + "meta-type": "object" + }, + { + "name": "[314]", + "element-type": "314", + "meta-type": "array" + }, + { + "name": "314", + "members": [ + { + "name": "case", + "type": "str" + }, + { + "name": "type", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[315]", + "element-type": "315", + "meta-type": "array" + }, + { + "name": "315", + "members": [ + { + "name": "type", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "316", + "meta-type": "enum", + "values": [ + "passthrough" + ] + }, + { + "name": "317", + "members": [ + { + "name": "data", + "type": "358" + } + ], + "meta-type": "object" + }, + { + "name": "318", + "meta-type": "enum", + "values": [ + "number", + "qcode" + ] + }, + { + "name": "319", + "members": [ + { + "name": "data", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "320", + "members": [ + { + "name": "data", + "type": "359" + } + ], + "meta-type": "object" + }, + { + "name": "321", + "meta-type": "enum", + "values": [ + "blockdev-snapshot", + "blockdev-snapshot-sync", + "drive-backup", + "blockdev-backup", + "abort", + "blockdev-snapshot-internal-sync", + "block-dirty-bitmap-add", + "block-dirty-bitmap-clear" + ] + }, + { + "name": "322", + "members": [ + { + "name": "data", + "type": "52" + } + ], + "meta-type": "object" + }, + { + "name": "323", + "members": [ + { + "name": "data", + "type": "56" + } + ], + "meta-type": "object" + }, + { + "name": "324", + "members": [ + { + "name": "data", + "type": "71" + } + ], + "meta-type": "object" + }, + { + "name": "325", + "members": [ + { + "name": "data", + "type": "47" + } + ], + "meta-type": "object" + }, + { + "name": "326", + "members": [ + { + "name": "data", + "type": "360" + } + ], + "meta-type": "object" + }, + { + "name": "327", + "members": [ + { + "name": "data", + "type": "55" + } + ], + "meta-type": "object" + }, + { + "name": "328", + "members": [ + { + "name": "data", + "type": "34" + } + ], + "meta-type": "object" + }, + { + "name": "329", + "members": [ + { + "name": "data", + "type": "35" + } + ], + "meta-type": "object" + }, + { + "name": "330", + "meta-type": "enum", + "values": [ + "individual", + "grouped" + ] + }, + { + "name": "331", + "meta-type": "enum", + "values": [ + "l1_update", + "l1_grow_alloc_table", + "l1_grow_write_table", + "l1_grow_activate_table", + "l2_load", + "l2_update", + "l2_update_compressed", + "l2_alloc_cow_read", + "l2_alloc_write", + "read_aio", + "read_backing_aio", + "read_compressed", + "write_aio", + "write_compressed", + "vmstate_load", + "vmstate_save", + "cow_read", + "cow_write", + "reftable_load", + "reftable_grow", + "reftable_update", + "refblock_load", + "refblock_update", + "refblock_update_part", + "refblock_alloc", + "refblock_alloc_hookup", + "refblock_alloc_write", + "refblock_alloc_write_blocks", + "refblock_alloc_write_table", + "refblock_alloc_switch_table", + "cluster_alloc", + "cluster_alloc_bytes", + "cluster_free", + "flush_to_os", + "flush_to_disk", + "pwritev_rmw_head", + "pwritev_rmw_after_head", + "pwritev_rmw_tail", + "pwritev_rmw_after_tail", + "pwritev", + "pwritev_zero", + "pwritev_done", + "empty_image_prepare" + ] + }, + { + "name": "332", + "meta-type": "enum", + "values": [ + "unix", + "tcp" + ] + }, + { + "name": "333", + "members": [ + { + "name": "path", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "334", + "meta-type": "enum", + "values": [ + "inet" + ] + }, + { + "name": "335", + "members": [ + { + "name": "template", + "default": null, + "type": "336" + }, + { + "name": "main-header", + "default": null, + "type": "bool" + }, + { + "name": "active-l1", + "default": null, + "type": "bool" + }, + { + "name": "active-l2", + "default": null, + "type": "bool" + }, + { + "name": "refcount-table", + "default": null, + "type": "bool" + }, + { + "name": "refcount-block", + "default": null, + "type": "bool" + }, + { + "name": "snapshot-table", + "default": null, + "type": "bool" + }, + { + "name": "inactive-l1", + "default": null, + "type": "bool" + }, + { + "name": "inactive-l2", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "336", + "meta-type": "enum", + "values": [ + "none", + "constant", + "cached", + "all" + ] + }, + { + "name": "337", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "in", + "default": null, + "type": "str" + }, + { + "name": "out", + "type": "str" + }, + { + "name": "append", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "338", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "device", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "339", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "addr", + "type": "218" + }, + { + "name": "tls-creds", + "default": null, + "type": "str" + }, + { + "name": "server", + "default": null, + "type": "bool" + }, + { + "name": "wait", + "default": null, + "type": "bool" + }, + { + "name": "nodelay", + "default": null, + "type": "bool" + }, + { + "name": "telnet", + "default": null, + "type": "bool" + }, + { + "name": "reconnect", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "340", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "remote", + "type": "218" + }, + { + "name": "local", + "default": null, + "type": "218" + } + ], + "meta-type": "object" + }, + { + "name": "341", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "342", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "chardev", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "343", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "signal", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "344", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "type", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "345", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "fqdn", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "346", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "width", + "default": null, + "type": "int" + }, + { + "name": "height", + "default": null, + "type": "int" + }, + { + "name": "cols", + "default": null, + "type": "int" + }, + { + "name": "rows", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "347", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "size", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "348", + "members": [ + { + "name": "key", + "type": "268" + }, + { + "name": "down", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "349", + "members": [ + { + "name": "button", + "type": "361" + }, + { + "name": "down", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "350", + "members": [ + { + "name": "axis", + "type": "362" + }, + { + "name": "value", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "351", + "members": [ + { + "name": "cid", + "type": "str" + }, + { + "name": "port", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "352", + "members": [ + { + "name": "str", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "353", + "meta-type": "enum", + "values": [ + "qcow2", + "vmdk", + "luks" + ] + }, + { + "name": "354", + "members": [ + { + "name": "data", + "type": "363" + } + ], + "meta-type": "object" + }, + { + "name": "355", + "members": [ + { + "name": "data", + "type": "364" + } + ], + "meta-type": "object" + }, + { + "name": "356", + "members": [ + { + "name": "data", + "type": "365" + } + ], + "meta-type": "object" + }, + { + "name": "357", + "members": [ + { + "name": "number", + "type": "int" + }, + { + "name": "secondary", + "type": "int" + }, + { + "name": "subordinate", + "type": "int" + }, + { + "name": "io_range", + "type": "366" + }, + { + "name": "memory_range", + "type": "366" + }, + { + "name": "prefetchable_range", + "type": "366" + } + ], + "meta-type": "object" + }, + { + "name": "358", + "members": [ + { + "name": "path", + "default": null, + "type": "str" + }, + { + "name": "cancel-path", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "359", + "meta-type": "enum", + "values": [ + "unmapped", + "shift", + "shift_r", + "alt", + "alt_r", + "altgr", + "altgr_r", + "ctrl", + "ctrl_r", + "menu", + "esc", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "0", + "minus", + "equal", + "backspace", + "tab", + "q", + "w", + "e", + "r", + "t", + "y", + "u", + "i", + "o", + "p", + "bracket_left", + "bracket_right", + "ret", + "a", + "s", + "d", + "f", + "g", + "h", + "j", + "k", + "l", + "semicolon", + "apostrophe", + "grave_accent", + "backslash", + "z", + "x", + "c", + "v", + "b", + "n", + "m", + "comma", + "dot", + "slash", + "asterisk", + "spc", + "caps_lock", + "f1", + "f2", + "f3", + "f4", + "f5", + "f6", + "f7", + "f8", + "f9", + "f10", + "num_lock", + "scroll_lock", + "kp_divide", + "kp_multiply", + "kp_subtract", + "kp_add", + "kp_enter", + "kp_decimal", + "sysrq", + "kp_0", + "kp_1", + "kp_2", + "kp_3", + "kp_4", + "kp_5", + "kp_6", + "kp_7", + "kp_8", + "kp_9", + "less", + "f11", + "f12", + "print", + "home", + "pgup", + "pgdn", + "end", + "left", + "up", + "down", + "right", + "insert", + "delete", + "stop", + "again", + "props", + "undo", + "front", + "copy", + "open", + "paste", + "find", + "cut", + "lf", + "help", + "meta_l", + "meta_r", + "compose", + "pause", + "ro", + "kp_comma", + "kp_equals", + "power" + ] + }, + { + "name": "360", + "members": [ + ], + "meta-type": "object" + }, + { + "name": "361", + "meta-type": "enum", + "values": [ + "left", + "middle", + "right", + "wheel-up", + "wheel-down" + ] + }, + { + "name": "362", + "meta-type": "enum", + "values": [ + "x", + "y" + ] + }, + { + "name": "363", + "members": [ + { + "name": "compat", + "type": "str" + }, + { + "name": "lazy-refcounts", + "default": null, + "type": "bool" + }, + { + "name": "corrupt", + "default": null, + "type": "bool" + }, + { + "name": "refcount-bits", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "364", + "members": [ + { + "name": "create-type", + "type": "str" + }, + { + "name": "cid", + "type": "int" + }, + { + "name": "parent-cid", + "type": "int" + }, + { + "name": "extents", + "type": "[243]" + } + ], + "meta-type": "object" + }, + { + "name": "365", + "members": [ + { + "name": "cipher-alg", + "type": "367" + }, + { + "name": "cipher-mode", + "type": "368" + }, + { + "name": "ivgen-alg", + "type": "369" + }, + { + "name": "ivgen-hash-alg", + "default": null, + "type": "370" + }, + { + "name": "hash-alg", + "type": "370" + }, + { + "name": "payload-offset", + "type": "int" + }, + { + "name": "master-key-iters", + "type": "int" + }, + { + "name": "uuid", + "type": "str" + }, + { + "name": "slots", + "type": "[371]" + } + ], + "meta-type": "object" + }, + { + "name": "366", + "members": [ + { + "name": "base", + "type": "int" + }, + { + "name": "limit", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "[243]", + "element-type": "243", + "meta-type": "array" + }, + { + "name": "367", + "meta-type": "enum", + "values": [ + "aes-128", + "aes-192", + "aes-256", + "des-rfb", + "cast5-128", + "serpent-128", + "serpent-192", + "serpent-256", + "twofish-128", + "twofish-192", + "twofish-256" + ] + }, + { + "name": "368", + "meta-type": "enum", + "values": [ + "ecb", + "cbc", + "xts", + "ctr" + ] + }, + { + "name": "369", + "meta-type": "enum", + "values": [ + "plain", + "plain64", + "essiv" + ] + }, + { + "name": "370", + "meta-type": "enum", + "values": [ + "md5", + "sha1", + "sha224", + "sha256", + "sha384", + "sha512", + "ripemd160" + ] + }, + { + "name": "[371]", + "element-type": "371", + "meta-type": "array" + }, + { + "name": "371", + "members": [ + { + "name": "active", + "type": "bool" + }, + { + "name": "iters", + "default": null, + "type": "int" + }, + { + "name": "stripes", + "default": null, + "type": "int" + }, + { + "name": "key-offset", + "type": "int" + } + ], + "meta-type": "object" + } + ], + "id": "libvirt-47" +} + +{ + "return": { + }, + "id": "libvirt-1" +} + +{ + "return": [ + { + "name": "z10EC-base", + "static": true, + "migration-safe": true + }, + { + "name": "z9EC-base", + "static": true, + "migration-safe": true + }, + { + "name": "z196.2-base", + "static": true, + "migration-safe": true + }, + { + "name": "z900-base", + "static": true, + "migration-safe": true + }, + { + "name": "z990", + "static": false, + "migration-safe": true + }, + { + "name": "z900.2-base", + "static": true, + "migration-safe": true + }, + { + "name": "host", + "static": false, + "migration-safe": false + }, + { + "name": "z900.3", + "static": false, + "migration-safe": true + }, + { + "name": "z114", + "static": false, + "migration-safe": true + }, + { + "name": "z890-base", + "static": true, + "migration-safe": true + }, + { + "name": "z13.2-base", + "static": true, + "migration-safe": true + }, + { + "name": "zEC12.2", + "static": false, + "migration-safe": true + }, + { + "name": "z900.2", + "static": false, + "migration-safe": true + }, + { + "name": "z10BC", + "static": false, + "migration-safe": true + }, + { + "name": "z10BC.2", + "static": false, + "migration-safe": true + }, + { + "name": "z196", + "static": false, + "migration-safe": true + }, + { + "name": "z9EC", + "static": false, + "migration-safe": true + }, + { + "name": "z990-base", + "static": true, + "migration-safe": true + }, + { + "name": "z10EC.3", + "static": false, + "migration-safe": true + }, + { + "name": "z900", + "static": false, + "migration-safe": true + }, + { + "name": "z9EC.3-base", + "static": true, + "migration-safe": true + }, + { + "name": "z990.5-base", + "static": true, + "migration-safe": true + }, + { + "name": "z10EC.2", + "static": false, + "migration-safe": true + }, + { + "name": "z9BC.2", + "static": false, + "migration-safe": true + }, + { + "name": "z10EC", + "static": false, + "migration-safe": true + }, + { + "name": "z990.3-base", + "static": true, + "migration-safe": true + }, + { + "name": "z13s", + "static": false, + "migration-safe": true + }, + { + "name": "z10EC.3-base", + "static": true, + "migration-safe": true + }, + { + "name": "zEC12.2-base", + "static": true, + "migration-safe": true + }, + { + "name": "z890.3-base", + "static": true, + "migration-safe": true + }, + { + "name": "z9EC.3", + "static": false, + "migration-safe": true + }, + { + "name": "z990.5", + "static": false, + "migration-safe": true + }, + { + "name": "z13", + "static": false, + "migration-safe": true + }, + { + "name": "z13s-base", + "static": true, + "migration-safe": true + }, + { + "name": "z9EC.2", + "static": false, + "migration-safe": true + }, + { + "name": "z990.4", + "static": false, + "migration-safe": true + }, + { + "name": "zEC12-base", + "static": true, + "migration-safe": true + }, + { + "name": "z9EC.2-base", + "static": true, + "migration-safe": true + }, + { + "name": "zBC12", + "static": false, + "migration-safe": true + }, + { + "name": "z196.2", + "static": false, + "migration-safe": true + }, + { + "name": "z990.3", + "static": false, + "migration-safe": true + }, + { + "name": "z990.2-base", + "static": true, + "migration-safe": true + }, + { + "name": "z900.3-base", + "static": true, + "migration-safe": true + }, + { + "name": "z890.3", + "static": false, + "migration-safe": true + }, + { + "name": "z10EC.2-base", + "static": true, + "migration-safe": true + }, + { + "name": "z990.2", + "static": false, + "migration-safe": true + }, + { + "name": "z890.2", + "static": false, + "migration-safe": true + }, + { + "name": "zBC12-base", + "static": true, + "migration-safe": true + }, + { + "name": "z800-base", + "static": true, + "migration-safe": true + }, + { + "name": "zEC12", + "static": false, + "migration-safe": true + }, + { + "name": "z9BC.2-base", + "static": true, + "migration-safe": true + }, + { + "name": "z9BC", + "static": false, + "migration-safe": true + }, + { + "name": "z10BC.2-base", + "static": true, + "migration-safe": true + }, + { + "name": "z990.4-base", + "static": true, + "migration-safe": true + }, + { + "name": "qemu", + "static": false, + "migration-safe": true + }, + { + "name": "z10BC-base", + "static": true, + "migration-safe": true + }, + { + "name": "z9BC-base", + "static": true, + "migration-safe": true + }, + { + "name": "z800", + "static": false, + "migration-safe": true + }, + { + "name": "z890.2-base", + "static": true, + "migration-safe": true + }, + { + "name": "z13.2", + "static": false, + "migration-safe": true + }, + { + "name": "z114-base", + "static": true, + "migration-safe": true + }, + { + "name": "z196-base", + "static": true, + "migration-safe": true + }, + { + "name": "z13-base", + "static": true, + "migration-safe": true + }, + { + "name": "z890", + "static": false, + "migration-safe": true + } + ], + "id": "libvirt-2" +} diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml new file mode 100644 index 0000000..cbba6b5 --- /dev/null +++ b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml @@ -0,0 +1,268 @@ +<qemuCaps> + <qemuctime>0</qemuctime> + <selfctime>0</selfctime> + <selfvers>0</selfvers> + <usedQMP/> + <flag name='kvm'/> + <flag name='mem-path'/> + <flag name='drive-serial'/> + <flag name='chardev'/> + <flag name='monitor-json'/> + <flag name='sdl'/> + <flag name='netdev'/> + <flag name='rtc'/> + <flag name='vhost-net'/> + <flag name='nodefconfig'/> + <flag name='boot-menu'/> + <flag name='fsdev'/> + <flag name='name-process'/> + <flag name='smbios-type'/> + <flag name='vga-none'/> + <flag name='boot-index'/> + <flag name='drive-aio'/> + <flag name='chardev-spicevmc'/> + <flag name='virtio-tx-alg'/> + <flag name='pci-multifunction'/> + <flag name='virtio-blk-pci.ioeventfd'/> + <flag name='virtio-blk-pci.event_idx'/> + <flag name='virtio-net-pci.event_idx'/> + <flag name='cache-directsync'/> + <flag name='no-shutdown'/> + <flag name='cache-unsafe'/> + <flag name='fsdev-readonly'/> + <flag name='virtio-blk-pci.scsi'/> + <flag name='drive-copy-on-read'/> + <flag name='fsdev-writeout'/> + <flag name='drive-iotune'/> + <flag name='system_wakeup'/> + <flag name='scsi-disk.channel'/> + <flag name='scsi-block'/> + <flag name='transaction'/> + <flag name='block-job-async'/> + <flag name='scsi-cd'/> + <flag name='no-user-config'/> + <flag name='dump-guest-memory'/> + <flag name='balloon-event'/> + <flag name='bridge'/> + <flag name='virtio-scsi-pci'/> + <flag name='blockio'/> + <flag name='scsi-disk.wwn'/> + <flag name='seccomp-sandbox'/> + <flag name='reboot-timeout'/> + <flag name='dump-guest-core'/> + <flag name='seamless-migration'/> + <flag name='block-commit'/> + <flag name='vnc'/> + <flag name='drive-mirror'/> + <flag name='blockdev-snapshot-sync'/> + <flag name='device-video-primary'/> + <flag name='s390-sclp'/> + <flag name='add-fd'/> + <flag name='nbd-server'/> + <flag name='virtio-rng'/> + <flag name='rng-random'/> + <flag name='rng-egd'/> + <flag name='virtio-ccw'/> + <flag name='dtb'/> + <flag name='ipv6-migration'/> + <flag name='machine-opt'/> + <flag name='machine-usb-opt'/> + <flag name='pci-bridge'/> + <flag name='vfio-pci'/> + <flag name='vfio-pci.bootindex'/> + <flag name='scsi-generic'/> + <flag name='scsi-generic.bootindex'/> + <flag name='mem-merge'/> + <flag name='vnc-websocket'/> + <flag name='drive-discard'/> + <flag name='mlock'/> + <flag name='vnc-share-policy'/> + <flag name='device-del-event'/> + <flag name='virtio-mmio'/> + <flag name='boot-strict'/> + <flag name='spiceport'/> + <flag name='host-pci-multidomain'/> + <flag name='msg-timestamp'/> + <flag name='active-commit'/> + <flag name='change-backing-file'/> + <flag name='memory-backend-ram'/> + <flag name='numa'/> + <flag name='memory-backend-file'/> + <flag name='splash-timeout'/> + <flag name='iothread'/> + <flag name='migrate-rdma'/> + <flag name='drive-iotune-max'/> + <flag name='machine-vmport-opt'/> + <flag name='aes-key-wrap'/> + <flag name='dea-key-wrap'/> + <flag name='vhost-user-multiqueue'/> + <flag name='migration-event'/> + <flag name='virtio-net'/> + <flag name='gic-version'/> + <flag name='incoming-defer'/> + <flag name='virtio-gpu'/> + <flag name='virtio-keyboard'/> + <flag name='virtio-mouse'/> + <flag name='virtio-tablet'/> + <flag name='virtio-input-host'/> + <flag name='chardev-file-append'/> + <flag name='vserport-change-event'/> + <flag name='virtio-balloon-pci.deflate-on-oom'/> + <flag name='chardev-logfile'/> + <flag name='debug-threads'/> + <flag name='secret'/> + <flag name='pxb'/> + <flag name='pxb-pcie'/> + <flag name='device-tray-moved-event'/> + <flag name='virtio-scsi-pci.iothread'/> + <flag name='name-guest'/> + <flag name='drive-detect-zeroes'/> + <flag name='tls-creds-x509'/> + <flag name='display'/> + <flag name='smm'/> + <flag name='virtio-pci-disable-legacy'/> + <flag name='query-hotpluggable-cpus'/> + <flag name='virtio-net.rx_queue_size'/> + <flag name='drive-iotune-max-length'/> + <flag name='query-qmp-schema'/> + <flag name='gluster.debug_level'/> + <flag name='vhost-scsi'/> + <flag name='drive-iotune-group'/> + <version>2007093</version> + <kvmVersion>0</kvmVersion> + <package></package> + <arch>s390x</arch> + <cpu type='kvm' name='z10EC-base'/> + <cpu type='kvm' name='z9EC-base'/> + <cpu type='kvm' name='z196.2-base'/> + <cpu type='kvm' name='z900-base'/> + <cpu type='kvm' name='z990'/> + <cpu type='kvm' name='z900.2-base'/> + <cpu type='kvm' name='host'/> + <cpu type='kvm' name='z900.3'/> + <cpu type='kvm' name='z114'/> + <cpu type='kvm' name='z890-base'/> + <cpu type='kvm' name='z13.2-base'/> + <cpu type='kvm' name='zEC12.2'/> + <cpu type='kvm' name='z900.2'/> + <cpu type='kvm' name='z10BC'/> + <cpu type='kvm' name='z10BC.2'/> + <cpu type='kvm' name='z196'/> + <cpu type='kvm' name='z9EC'/> + <cpu type='kvm' name='z990-base'/> + <cpu type='kvm' name='z10EC.3'/> + <cpu type='kvm' name='z900'/> + <cpu type='kvm' name='z9EC.3-base'/> + <cpu type='kvm' name='z990.5-base'/> + <cpu type='kvm' name='z10EC.2'/> + <cpu type='kvm' name='z9BC.2'/> + <cpu type='kvm' name='z10EC'/> + <cpu type='kvm' name='z990.3-base'/> + <cpu type='kvm' name='z13s'/> + <cpu type='kvm' name='z10EC.3-base'/> + <cpu type='kvm' name='zEC12.2-base'/> + <cpu type='kvm' name='z890.3-base'/> + <cpu type='kvm' name='z9EC.3'/> + <cpu type='kvm' name='z990.5'/> + <cpu type='kvm' name='z13'/> + <cpu type='kvm' name='z13s-base'/> + <cpu type='kvm' name='z9EC.2'/> + <cpu type='kvm' name='z990.4'/> + <cpu type='kvm' name='zEC12-base'/> + <cpu type='kvm' name='z9EC.2-base'/> + <cpu type='kvm' name='zBC12'/> + <cpu type='kvm' name='z196.2'/> + <cpu type='kvm' name='z990.3'/> + <cpu type='kvm' name='z990.2-base'/> + <cpu type='kvm' name='z900.3-base'/> + <cpu type='kvm' name='z890.3'/> + <cpu type='kvm' name='z10EC.2-base'/> + <cpu type='kvm' name='z990.2'/> + <cpu type='kvm' name='z890.2'/> + <cpu type='kvm' name='zBC12-base'/> + <cpu type='kvm' name='z800-base'/> + <cpu type='kvm' name='zEC12'/> + <cpu type='kvm' name='z9BC.2-base'/> + <cpu type='kvm' name='z9BC'/> + <cpu type='kvm' name='z10BC.2-base'/> + <cpu type='kvm' name='z990.4-base'/> + <cpu type='kvm' name='qemu'/> + <cpu type='kvm' name='z10BC-base'/> + <cpu type='kvm' name='z9BC-base'/> + <cpu type='kvm' name='z800'/> + <cpu type='kvm' name='z890.2-base'/> + <cpu type='kvm' name='z13.2'/> + <cpu type='kvm' name='z114-base'/> + <cpu type='kvm' name='z196-base'/> + <cpu type='kvm' name='z13-base'/> + <cpu type='kvm' name='z890'/> + <cpu type='tcg' name='z10EC-base'/> + <cpu type='tcg' name='z9EC-base'/> + <cpu type='tcg' name='z196.2-base'/> + <cpu type='tcg' name='z900-base'/> + <cpu type='tcg' name='z990'/> + <cpu type='tcg' name='z900.2-base'/> + <cpu type='tcg' name='host'/> + <cpu type='tcg' name='z900.3'/> + <cpu type='tcg' name='z114'/> + <cpu type='tcg' name='z890-base'/> + <cpu type='tcg' name='z13.2-base'/> + <cpu type='tcg' name='zEC12.2'/> + <cpu type='tcg' name='z900.2'/> + <cpu type='tcg' name='z10BC'/> + <cpu type='tcg' name='z10BC.2'/> + <cpu type='tcg' name='z196'/> + <cpu type='tcg' name='z9EC'/> + <cpu type='tcg' name='z990-base'/> + <cpu type='tcg' name='z10EC.3'/> + <cpu type='tcg' name='z900'/> + <cpu type='tcg' name='z9EC.3-base'/> + <cpu type='tcg' name='z990.5-base'/> + <cpu type='tcg' name='z10EC.2'/> + <cpu type='tcg' name='z9BC.2'/> + <cpu type='tcg' name='z10EC'/> + <cpu type='tcg' name='z990.3-base'/> + <cpu type='tcg' name='z13s'/> + <cpu type='tcg' name='z10EC.3-base'/> + <cpu type='tcg' name='zEC12.2-base'/> + <cpu type='tcg' name='z890.3-base'/> + <cpu type='tcg' name='z9EC.3'/> + <cpu type='tcg' name='z990.5'/> + <cpu type='tcg' name='z13'/> + <cpu type='tcg' name='z13s-base'/> + <cpu type='tcg' name='z9EC.2'/> + <cpu type='tcg' name='z990.4'/> + <cpu type='tcg' name='zEC12-base'/> + <cpu type='tcg' name='z9EC.2-base'/> + <cpu type='tcg' name='zBC12'/> + <cpu type='tcg' name='z196.2'/> + <cpu type='tcg' name='z990.3'/> + <cpu type='tcg' name='z990.2-base'/> + <cpu type='tcg' name='z900.3-base'/> + <cpu type='tcg' name='z890.3'/> + <cpu type='tcg' name='z10EC.2-base'/> + <cpu type='tcg' name='z990.2'/> + <cpu type='tcg' name='z890.2'/> + <cpu type='tcg' name='zBC12-base'/> + <cpu type='tcg' name='z800-base'/> + <cpu type='tcg' name='zEC12'/> + <cpu type='tcg' name='z9BC.2-base'/> + <cpu type='tcg' name='z9BC'/> + <cpu type='tcg' name='z10BC.2-base'/> + <cpu type='tcg' name='z990.4-base'/> + <cpu type='tcg' name='qemu'/> + <cpu type='tcg' name='z10BC-base'/> + <cpu type='tcg' name='z9BC-base'/> + <cpu type='tcg' name='z800'/> + <cpu type='tcg' name='z890.2-base'/> + <cpu type='tcg' name='z13.2'/> + <cpu type='tcg' name='z114-base'/> + <cpu type='tcg' name='z196-base'/> + <cpu type='tcg' name='z13-base'/> + <cpu type='tcg' name='z890'/> + <machine name='s390-ccw-virtio-2.8' alias='s390-ccw-virtio' maxCpus='248'/> + <machine name='s390-ccw-virtio-2.7' maxCpus='248'/> + <machine name='s390-ccw-virtio-2.6' maxCpus='248'/> + <machine name='s390-ccw-virtio-2.5' maxCpus='248'/> + <machine name='s390-ccw-virtio-2.4' maxCpus='248'/> +</qemuCaps> -- 2.7.4

On Sun, Dec 18, 2016 at 14:22:23 -0500, Jason J. Herne wrote:
From: "Collin L. Walling" <walling@linux.vnet.ibm.com>
Expected Qemu replies for versions 2.7 and 2.8 from the s390x Qemu binary.
Signed-off-by: Collin L. Walling <walling@linux.vnet.ibm.com> Signed-off-by: Jason J. Herne <jjherne@linux.vnet.ibm.com> --- .../qemucapabilitiesdata/caps_2.7.0.s390x.replies | 11999 +++++++++++++++++ tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml | 140 + .../qemucapabilitiesdata/caps_2.8.0.s390x.replies | 13354 +++++++++++++++++++ tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml | 268 + 4 files changed, 25761 insertions(+) create mode 100644 tests/qemucapabilitiesdata/caps_2.7.0.s390x.replies create mode 100644 tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml create mode 100644 tests/qemucapabilitiesdata/caps_2.8.0.s390x.replies create mode 100644 tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml
ACK with 5/9 squashed in. Jirka

From: "Collin L. Walling" <walling@linux.vnet.ibm.com> Tests domain capabilities on s390x using the Qemu 2.8 capabilities data. Signed-off-by: Collin L. Walling <walling@linux.vnet.ibm.com> Signed-off-by: Jason J. Herne <jjherne@linux.vnet.ibm.com> --- tests/domaincapsschemadata/qemu_2.7.0.s390x.xml | 80 +++++++++++++ tests/domaincapsschemadata/qemu_2.8.0.s390x.xml | 144 ++++++++++++++++++++++++ tests/domaincapstest.c | 18 +++ 3 files changed, 242 insertions(+) create mode 100644 tests/domaincapsschemadata/qemu_2.7.0.s390x.xml create mode 100644 tests/domaincapsschemadata/qemu_2.8.0.s390x.xml diff --git a/tests/domaincapsschemadata/qemu_2.7.0.s390x.xml b/tests/domaincapsschemadata/qemu_2.7.0.s390x.xml new file mode 100644 index 0000000..9f181d3 --- /dev/null +++ b/tests/domaincapsschemadata/qemu_2.7.0.s390x.xml @@ -0,0 +1,80 @@ +<domainCapabilities> + <path>/usr/bin/qemu-system-s390x</path> + <domain>kvm</domain> + <machine>s390-ccw-virtio-2.7</machine> + <arch>s390x</arch> + <vcpu max='248'/> + <os supported='yes'> + <loader supported='yes'> + <value>/usr/share/AAVMF/AAVMF_CODE.fd</value> + <value>/usr/share/OVMF/OVMF_CODE.fd</value> + <enum name='type'> + <value>rom</value> + <value>pflash</value> + </enum> + <enum name='readonly'> + <value>yes</value> + <value>no</value> + </enum> + </loader> + </os> + <cpu> + <mode name='host-passthrough' supported='yes'/> + <mode name='host-model' supported='yes'> + <model fallback='allow'></model> + </mode> + <mode name='custom' supported='no'/> + </cpu> + <devices> + <disk supported='yes'> + <enum name='diskDevice'> + <value>disk</value> + <value>cdrom</value> + <value>floppy</value> + <value>lun</value> + </enum> + <enum name='bus'> + <value>ide</value> + <value>fdc</value> + <value>scsi</value> + <value>virtio</value> + </enum> + </disk> + <graphics supported='yes'> + <enum name='type'> + <value>sdl</value> + <value>vnc</value> + </enum> + </graphics> + <video supported='yes'> + <enum name='modelType'> + <value>virtio</value> + </enum> + </video> + <hostdev supported='yes'> + <enum name='mode'> + <value>subsystem</value> + </enum> + <enum name='startupPolicy'> + <value>default</value> + <value>mandatory</value> + <value>requisite</value> + <value>optional</value> + </enum> + <enum name='subsysType'> + <value>usb</value> + <value>pci</value> + <value>scsi</value> + </enum> + <enum name='capsType'/> + <enum name='pciBackend'> + <value>default</value> + <value>kvm</value> + <value>vfio</value> + </enum> + </hostdev> + </devices> + <features> + <gic supported='no'/> + </features> +</domainCapabilities> diff --git a/tests/domaincapsschemadata/qemu_2.8.0.s390x.xml b/tests/domaincapsschemadata/qemu_2.8.0.s390x.xml new file mode 100644 index 0000000..0b792b2 --- /dev/null +++ b/tests/domaincapsschemadata/qemu_2.8.0.s390x.xml @@ -0,0 +1,144 @@ +<domainCapabilities> + <path>/usr/bin/qemu-system-s390x</path> + <domain>kvm</domain> + <machine>s390-ccw-virtio-2.8</machine> + <arch>s390x</arch> + <vcpu max='248'/> + <os supported='yes'> + <loader supported='yes'> + <value>/usr/share/AAVMF/AAVMF_CODE.fd</value> + <value>/usr/share/OVMF/OVMF_CODE.fd</value> + <enum name='type'> + <value>rom</value> + <value>pflash</value> + </enum> + <enum name='readonly'> + <value>yes</value> + <value>no</value> + </enum> + </loader> + </os> + <cpu> + <mode name='host-passthrough' supported='yes'/> + <mode name='host-model' supported='yes'> + <model fallback='allow'></model> + </mode> + <mode name='custom' supported='yes'> + <model usable='unknown'>z10EC-base</model> + <model usable='unknown'>z9EC-base</model> + <model usable='unknown'>z196.2-base</model> + <model usable='unknown'>z900-base</model> + <model usable='unknown'>z990</model> + <model usable='unknown'>z900.2-base</model> + <model usable='unknown'>z900.3</model> + <model usable='unknown'>z114</model> + <model usable='unknown'>z890-base</model> + <model usable='unknown'>z13.2-base</model> + <model usable='unknown'>zEC12.2</model> + <model usable='unknown'>z900.2</model> + <model usable='unknown'>z10BC</model> + <model usable='unknown'>z10BC.2</model> + <model usable='unknown'>z196</model> + <model usable='unknown'>z9EC</model> + <model usable='unknown'>z990-base</model> + <model usable='unknown'>z10EC.3</model> + <model usable='unknown'>z900</model> + <model usable='unknown'>z9EC.3-base</model> + <model usable='unknown'>z990.5-base</model> + <model usable='unknown'>z10EC.2</model> + <model usable='unknown'>z9BC.2</model> + <model usable='unknown'>z10EC</model> + <model usable='unknown'>z990.3-base</model> + <model usable='unknown'>z13s</model> + <model usable='unknown'>z10EC.3-base</model> + <model usable='unknown'>zEC12.2-base</model> + <model usable='unknown'>z890.3-base</model> + <model usable='unknown'>z9EC.3</model> + <model usable='unknown'>z990.5</model> + <model usable='unknown'>z13</model> + <model usable='unknown'>z13s-base</model> + <model usable='unknown'>z9EC.2</model> + <model usable='unknown'>z990.4</model> + <model usable='unknown'>zEC12-base</model> + <model usable='unknown'>z9EC.2-base</model> + <model usable='unknown'>zBC12</model> + <model usable='unknown'>z196.2</model> + <model usable='unknown'>z990.3</model> + <model usable='unknown'>z990.2-base</model> + <model usable='unknown'>z900.3-base</model> + <model usable='unknown'>z890.3</model> + <model usable='unknown'>z10EC.2-base</model> + <model usable='unknown'>z990.2</model> + <model usable='unknown'>z890.2</model> + <model usable='unknown'>zBC12-base</model> + <model usable='unknown'>z800-base</model> + <model usable='unknown'>zEC12</model> + <model usable='unknown'>z9BC.2-base</model> + <model usable='unknown'>z9BC</model> + <model usable='unknown'>z10BC.2-base</model> + <model usable='unknown'>z990.4-base</model> + <model usable='unknown'>qemu</model> + <model usable='unknown'>z10BC-base</model> + <model usable='unknown'>z9BC-base</model> + <model usable='unknown'>z800</model> + <model usable='unknown'>z890.2-base</model> + <model usable='unknown'>z13.2</model> + <model usable='unknown'>z114-base</model> + <model usable='unknown'>z196-base</model> + <model usable='unknown'>z13-base</model> + <model usable='unknown'>z890</model> + </mode> + </cpu> + <devices> + <disk supported='yes'> + <enum name='diskDevice'> + <value>disk</value> + <value>cdrom</value> + <value>floppy</value> + <value>lun</value> + </enum> + <enum name='bus'> + <value>ide</value> + <value>fdc</value> + <value>scsi</value> + <value>virtio</value> + </enum> + </disk> + <graphics supported='yes'> + <enum name='type'> + <value>sdl</value> + <value>vnc</value> + </enum> + </graphics> + <video supported='yes'> + <enum name='modelType'> + <value>virtio</value> + </enum> + </video> + <hostdev supported='yes'> + <enum name='mode'> + <value>subsystem</value> + </enum> + <enum name='startupPolicy'> + <value>default</value> + <value>mandatory</value> + <value>requisite</value> + <value>optional</value> + </enum> + <enum name='subsysType'> + <value>usb</value> + <value>pci</value> + <value>scsi</value> + </enum> + <enum name='capsType'/> + <enum name='pciBackend'> + <value>default</value> + <value>kvm</value> + <value>vfio</value> + </enum> + </hostdev> + </devices> + <features> + <gic supported='no'/> + </features> +</domainCapabilities> diff --git a/tests/domaincapstest.c b/tests/domaincapstest.c index fea5120..6b8bd2e 100644 --- a/tests/domaincapstest.c +++ b/tests/domaincapstest.c @@ -134,6 +134,12 @@ static virCPUDef x86Cpu = { NULL, 0, NULL, 1, 1, 1, 0, 0, NULL, }; +static virCPUDef s390Cpu = { + VIR_CPU_TYPE_HOST, 0, 0, + VIR_ARCH_S390X, (char *) "", + NULL, 0, NULL, 1, 1, 1, 0, 0, NULL, +}; + static int fakeHostCPU(virCapsPtr caps, virArch arch) @@ -153,6 +159,10 @@ fakeHostCPU(virCapsPtr caps, cpu = &x86Cpu; break; + case VIR_ARCH_S390X: + cpu = &s390Cpu; + break; + default: virReportError(VIR_ERR_INTERNAL_ERROR, "cannot fake host CPU for arch %s", @@ -443,6 +453,14 @@ mymain(void) "/usr/bin/qemu-system-x86_64", NULL, "x86_64", VIR_DOMAIN_VIRT_QEMU); + DO_TEST_QEMU("2.7.0", "caps_2.7.0", + "/usr/bin/qemu-system-s390x", NULL, + "s390x", VIR_DOMAIN_VIRT_KVM); + + DO_TEST_QEMU("2.8.0", "caps_2.8.0", + "/usr/bin/qemu-system-s390x", NULL, + "s390x", VIR_DOMAIN_VIRT_KVM); + #endif /* WITH_QEMU */ #if WITH_LIBXL -- 2.7.4

On Sun, Dec 18, 2016 at 14:22:24 -0500, Jason J. Herne wrote:
From: "Collin L. Walling" <walling@linux.vnet.ibm.com>
Tests domain capabilities on s390x using the Qemu 2.8 capabilities data.
Signed-off-by: Collin L. Walling <walling@linux.vnet.ibm.com> Signed-off-by: Jason J. Herne <jjherne@linux.vnet.ibm.com> --- tests/domaincapsschemadata/qemu_2.7.0.s390x.xml | 80 +++++++++++++ tests/domaincapsschemadata/qemu_2.8.0.s390x.xml | 144 ++++++++++++++++++++++++ tests/domaincapstest.c | 18 +++ 3 files changed, 242 insertions(+) create mode 100644 tests/domaincapsschemadata/qemu_2.7.0.s390x.xml create mode 100644 tests/domaincapsschemadata/qemu_2.8.0.s390x.xml
diff --git a/tests/domaincapsschemadata/qemu_2.7.0.s390x.xml b/tests/domaincapsschemadata/qemu_2.7.0.s390x.xml new file mode 100644 index 0000000..9f181d3 --- /dev/null +++ b/tests/domaincapsschemadata/qemu_2.7.0.s390x.xml @@ -0,0 +1,80 @@ ... + <cpu> + <mode name='host-passthrough' supported='yes'/> + <mode name='host-model' supported='yes'> + <model fallback='allow'></model> + </mode>
This should be <mode name='host-model' supported='no'/> ...
diff --git a/tests/domaincapsschemadata/qemu_2.8.0.s390x.xml b/tests/domaincapsschemadata/qemu_2.8.0.s390x.xml new file mode 100644 index 0000000..0b792b2 --- /dev/null +++ b/tests/domaincapsschemadata/qemu_2.8.0.s390x.xml @@ -0,0 +1,144 @@ ... + <cpu> + <mode name='host-passthrough' supported='yes'/> + <mode name='host-model' supported='yes'> + <model fallback='allow'></model> + </mode>
And the same applies here. ...
diff --git a/tests/domaincapstest.c b/tests/domaincapstest.c index fea5120..6b8bd2e 100644 --- a/tests/domaincapstest.c +++ b/tests/domaincapstest.c @@ -134,6 +134,12 @@ static virCPUDef x86Cpu = { NULL, 0, NULL, 1, 1, 1, 0, 0, NULL, };
+static virCPUDef s390Cpu = { + VIR_CPU_TYPE_HOST, 0, 0, + VIR_ARCH_S390X, (char *) "",
And both issues are caused by this "". Using NULL instead fixes them.
+ NULL, 0, NULL, 1, 1, 1, 0, 0, NULL, +}; +
ACK with the suggested changes. Jirka

From: "Collin L. Walling" <walling@linux.vnet.ibm.com> Tests Qemu capabilities on s390x before and after the availability of the query-cpu-model-expansion QMP command. Signed-off-by: Collin L. Walling <walling@linux.vnet.ibm.com> Signed-off-by: Jason J. Herne <jjherne@linux.vnet.ibm.com> --- tests/qemucapabilitiestest.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/qemucapabilitiestest.c b/tests/qemucapabilitiestest.c index 51d0cc4..f9c3456 100644 --- a/tests/qemucapabilitiestest.c +++ b/tests/qemucapabilitiestest.c @@ -172,6 +172,8 @@ mymain(void) DO_TEST("aarch64", "caps_2.6.0-gicv2"); DO_TEST("aarch64", "caps_2.6.0-gicv3"); DO_TEST("ppc64le", "caps_2.6.0"); + DO_TEST("s390x", "caps_2.7.0"); + DO_TEST("s390x", "caps_2.8.0"); /* * Run "tests/qemucapsprobe /path/to/qemu/binary >foo.replies" -- 2.7.4

On Sun, Dec 18, 2016 at 14:22:25 -0500, Jason J. Herne wrote:
From: "Collin L. Walling" <walling@linux.vnet.ibm.com>
Tests Qemu capabilities on s390x before and after the availability of the query-cpu-model-expansion QMP command.
Signed-off-by: Collin L. Walling <walling@linux.vnet.ibm.com> Signed-off-by: Jason J. Herne <jjherne@linux.vnet.ibm.com> --- tests/qemucapabilitiestest.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/tests/qemucapabilitiestest.c b/tests/qemucapabilitiestest.c index 51d0cc4..f9c3456 100644 --- a/tests/qemucapabilitiestest.c +++ b/tests/qemucapabilitiestest.c @@ -172,6 +172,8 @@ mymain(void) DO_TEST("aarch64", "caps_2.6.0-gicv2"); DO_TEST("aarch64", "caps_2.6.0-gicv3"); DO_TEST("ppc64le", "caps_2.6.0"); + DO_TEST("s390x", "caps_2.7.0"); + DO_TEST("s390x", "caps_2.8.0");
This should be squashed in 3/9. Jirka

From: "Collin L. Walling" <walling@linux.vnet.ibm.com> query-cpu-model-expansion is used to get a list of features for a given cpu model name or to get the model and features of the host hardware/environment as seen by Qemu/kvm. Signed-off-by: Collin L. Walling <walling@linux.vnet.ibm.com> Signed-off-by: Jason J. Herne <jjherne@linux.vnet.ibm.com> --- src/qemu/qemu_capabilities.c | 5 +- src/qemu/qemu_capabilities.h | 3 + src/qemu/qemu_monitor.c | 62 +++++++++++++ src/qemu/qemu_monitor.h | 22 +++++ src/qemu/qemu_monitor_json.c | 117 ++++++++++++++++++++++++ src/qemu/qemu_monitor_json.h | 6 ++ tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml | 1 + 7 files changed, 215 insertions(+), 1 deletion(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index f4ca84e..bff30ed 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -354,6 +354,8 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST, "gluster.debug_level", "vhost-scsi", "drive-iotune-group", + + "query-cpu-model-expansion", /* 245 */ ); @@ -1514,7 +1516,8 @@ struct virQEMUCapsStringFlags virQEMUCapsCommands[] = { { "rtc-reset-reinjection", QEMU_CAPS_RTC_RESET_REINJECTION }, { "migrate-incoming", QEMU_CAPS_INCOMING_DEFER }, { "query-hotpluggable-cpus", QEMU_CAPS_QUERY_HOTPLUGGABLE_CPUS }, - { "query-qmp-schema", QEMU_CAPS_QUERY_QMP_SCHEMA } + { "query-qmp-schema", QEMU_CAPS_QUERY_QMP_SCHEMA }, + { "query-cpu-model-expansion", QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION}, }; struct virQEMUCapsStringFlags virQEMUCapsMigration[] = { diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index cbab879..b5ad95e 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -390,6 +390,9 @@ typedef enum { QEMU_CAPS_DEVICE_VHOST_SCSI, /* -device vhost-scsi-{ccw,pci} */ QEMU_CAPS_DRIVE_IOTUNE_GROUP, /* -drive throttling.group=<name> */ + /* 245 */ + QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION, /* qmp query-cpu-model-expansion */ + QEMU_CAPS_LAST /* this must always be the last item */ } virQEMUCapsFlags; diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index 648168d..3a7ae0c 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -3660,6 +3660,68 @@ qemuMonitorCPUDefInfoFree(qemuMonitorCPUDefInfoPtr cpu) int +qemuMonitorGetCPUModelExpansion(qemuMonitorPtr mon, + const char *type, + const char *model_name, + qemuMonitorCPUModelInfoPtr *model_info) +{ + VIR_DEBUG("type=%s model_name=%s", type, model_name); + + QEMU_CHECK_MONITOR_JSON(mon); + + return qemuMonitorJSONGetCPUModelExpansion(mon, type, model_name, model_info); +} + + +void +qemuMonitorCPUModelInfoFree(qemuMonitorCPUModelInfoPtr model_info) +{ + size_t i; + + if (!model_info) + return; + + for (i = 0; i < model_info->nprops; i++) + VIR_FREE(model_info->props[i].name); + + VIR_FREE(model_info->name); + VIR_FREE(model_info); +} + + +qemuMonitorCPUModelInfoPtr +qemuMonitorCPUModelInfoCopy(const qemuMonitorCPUModelInfo *orig) +{ + qemuMonitorCPUModelInfoPtr copy; + size_t i; + + if (VIR_ALLOC(copy) < 0) + goto error; + + if (VIR_ALLOC_N(copy->props, orig->nprops) < 0) + goto error; + + if (VIR_STRDUP(copy->name, orig->name) < 0) + goto error; + + copy->nprops = orig->nprops; + + for (i = 0; i < orig->nprops; i++) { + if (VIR_STRDUP(copy->props[i].name, orig->props[i].name) < 0) + goto error; + + copy->props[i].supported = orig->props[i].supported; + } + + return copy; + + error: + qemuMonitorCPUModelInfoFree(copy); + return NULL; +} + + +int qemuMonitorGetCommands(qemuMonitorPtr mon, char ***commands) { diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 4d7fb9f..c36c3ea 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -925,6 +925,28 @@ int qemuMonitorGetCPUDefinitions(qemuMonitorPtr mon, qemuMonitorCPUDefInfoPtr **cpus); void qemuMonitorCPUDefInfoFree(qemuMonitorCPUDefInfoPtr cpu); +typedef struct _qemuMonitorCPUModelInfo qemuMonitorCPUModelInfo; +typedef qemuMonitorCPUModelInfo *qemuMonitorCPUModelInfoPtr; + +struct _qemuMonitorCPUModelInfo { + char *name; + size_t nprops; + struct { + char *name; + bool supported; + } *props; +}; + +int qemuMonitorGetCPUModelExpansion(qemuMonitorPtr mon, + const char *type, + const char *model_name, + qemuMonitorCPUModelInfoPtr *model_info); + +void qemuMonitorCPUModelInfoFree(qemuMonitorCPUModelInfoPtr model_info); + +qemuMonitorCPUModelInfoPtr +qemuMonitorCPUModelInfoCopy(const qemuMonitorCPUModelInfo *orig); + int qemuMonitorGetCommands(qemuMonitorPtr mon, char ***commands); int qemuMonitorGetEvents(qemuMonitorPtr mon, diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index 0c38b8f..e767437 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -4973,6 +4973,123 @@ qemuMonitorJSONGetCPUDefinitions(qemuMonitorPtr mon, return ret; } +static int +qemuMonitorJSONParseCPUModelProperty(const char *key, + virJSONValue *value, + void *opaque) +{ + qemuMonitorCPUModelInfoPtr machine_model = opaque; + size_t n = machine_model->nprops; + bool supported; + + if (!key) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("query-cpu-model-expansion reply data is missing a" + " property name")); + return -1; + } + if (VIR_STRDUP(machine_model->props[n].name, key) < 0) + return -1; + + if (virJSONValueGetBoolean(value, &supported) < 0) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("query-cpu-model-expansion reply data is missing a" + " feature support value")); + return -1; + } + machine_model->props[n].supported = supported; + + machine_model->nprops++; + return 0; +} + +int +qemuMonitorJSONGetCPUModelExpansion(qemuMonitorPtr mon, + const char *type, + const char *model_name, + qemuMonitorCPUModelInfoPtr *model_info) +{ + int ret = -1; + virJSONValuePtr model; + virJSONValuePtr cmd = NULL; + virJSONValuePtr reply = NULL; + virJSONValuePtr data; + virJSONValuePtr cpu_model; + virJSONValuePtr cpu_props; + qemuMonitorCPUModelInfoPtr machine_model = NULL; + char const *cpu_name; + + *model_info = NULL; + + if (!(model = virJSONValueNewObject())) + goto cleanup; + + if (virJSONValueObjectAppendString(model, "name", model_name) < 0) + goto cleanup; + + if (!(cmd = qemuMonitorJSONMakeCommand("query-cpu-model-expansion", + "s:type", type, + "a:model", model, + NULL))) + goto cleanup; + + /* model will be freed when cmd is freed. we set model + * to NULL to avoid double freeing. + */ + model = NULL; + + if (qemuMonitorJSONCommand(mon, cmd, &reply) < 0) + goto cleanup; + + if (qemuMonitorJSONCheckError(cmd, reply) < 0) + goto cleanup; + + data = virJSONValueObjectGetObject(reply, "return"); + + if (!(cpu_model = virJSONValueObjectGetObject(data, "model"))) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("query-cpu-model-expansion reply data was missing 'model'")); + goto cleanup; + } + + if (!(cpu_name = virJSONValueObjectGetString(cpu_model, "name"))) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("query-cpu-model-expansion reply data was missing 'name'")); + goto cleanup; + } + + if (!(cpu_props = virJSONValueObjectGetObject(cpu_model, "props"))) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("query-cpu-model-expansion reply data was missing 'props'")); + goto cleanup; + } + + if (VIR_ALLOC(machine_model) < 0) + goto cleanup; + + if (VIR_STRDUP(machine_model->name, cpu_name) < 0) + goto cleanup; + + if (VIR_ALLOC_N(machine_model->props, cpu_props->data.object.npairs) < 0) + goto cleanup; + + if (virJSONValueObjectForeachKeyValue(cpu_props, + qemuMonitorJSONParseCPUModelProperty, + machine_model) < 0) + goto cleanup; + + ret = 0; + *model_info = machine_model; + machine_model = NULL; + + cleanup: + qemuMonitorCPUModelInfoFree(machine_model); + virJSONValueFree(cmd); + virJSONValueFree(reply); + virJSONValueFree(model); + return ret; +} + int qemuMonitorJSONGetCommands(qemuMonitorPtr mon, char ***commands) diff --git a/src/qemu/qemu_monitor_json.h b/src/qemu/qemu_monitor_json.h index adff0c3..18b508d 100644 --- a/src/qemu/qemu_monitor_json.h +++ b/src/qemu/qemu_monitor_json.h @@ -352,6 +352,12 @@ int qemuMonitorJSONGetCPUDefinitions(qemuMonitorPtr mon, qemuMonitorCPUDefInfoPtr **cpus) ATTRIBUTE_NONNULL(2); +int qemuMonitorJSONGetCPUModelExpansion(qemuMonitorPtr mon, + const char *type, + const char *model_name, + qemuMonitorCPUModelInfoPtr *model_info) + ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3) ATTRIBUTE_NONNULL(4); + int qemuMonitorJSONGetCommands(qemuMonitorPtr mon, char ***commands) ATTRIBUTE_NONNULL(2); diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml index cbba6b5..1b955cf 100644 --- a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml @@ -128,6 +128,7 @@ <flag name='gluster.debug_level'/> <flag name='vhost-scsi'/> <flag name='drive-iotune-group'/> + <flag name='query-cpu-model-expansion'/> <version>2007093</version> <kvmVersion>0</kvmVersion> <package></package> -- 2.7.4

On Sun, Dec 18, 2016 at 14:22:26 -0500, Jason J. Herne wrote:
From: "Collin L. Walling" <walling@linux.vnet.ibm.com>
query-cpu-model-expansion is used to get a list of features for a given cpu model name or to get the model and features of the host hardware/environment as seen by Qemu/kvm.
Signed-off-by: Collin L. Walling <walling@linux.vnet.ibm.com> Signed-off-by: Jason J. Herne <jjherne@linux.vnet.ibm.com>
ACK Jirka

When qmp query-cpu-model-expansion is available probe Qemu for its view of the host model. In kvm environments this can provide a more complete view of the host model because features supported by Qemu and Kvm can be considered. Signed-off-by: Collin L. Walling <walling@linux.vnet.ibm.com> Signed-off-by: Jason J. Herne <jjherne@linux.vnet.ibm.com> # Conflicts: # tests/qemucapabilitiesdata/caps_2.8.0.s390x.replies Signed-off-by: Jason J. Herne <jjherne@linux.vnet.ibm.com> --- src/qemu/qemu_capabilities.c | 185 ++++++++++++++++++++- tests/domaincapsschemadata/qemu_2.7.0.s390x.xml | 4 +- tests/domaincapsschemadata/qemu_2.8.0.s390x.xml | 17 +- .../qemucapabilitiesdata/caps_2.8.0.s390x.replies | 26 +++ tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml | 17 ++ 5 files changed, 239 insertions(+), 10 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index bff30ed..7d33b19 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -399,6 +399,8 @@ struct _virQEMUCaps { size_t ngicCapabilities; virGICCapability *gicCapabilities; + qemuMonitorCPUModelInfoPtr hostCPUModelInfo; + /* Anything below is not stored in the cache since the values are * re-computed from the other fields or external data sources every * time we probe QEMU or load the results from the cache. @@ -2163,6 +2165,10 @@ virQEMUCapsPtr virQEMUCapsNewCopy(virQEMUCapsPtr qemuCaps) !(ret->hostCPUModel = virCPUDefCopy(qemuCaps->hostCPUModel))) goto error; + if (qemuCaps->hostCPUModelInfo && + !(ret->hostCPUModelInfo = qemuMonitorCPUModelInfoCopy(qemuCaps->hostCPUModelInfo))) + goto error; + if (VIR_ALLOC_N(ret->machineTypes, qemuCaps->nmachineTypes) < 0) goto error; ret->nmachineTypes = qemuCaps->nmachineTypes; @@ -2811,6 +2817,18 @@ virQEMUCapsProbeQMPCPUDefinitions(virQEMUCapsPtr qemuCaps, return ret; } +static int +virQEMUCapsProbeQMPHostCPU(virQEMUCapsPtr qemuCaps, + qemuMonitorPtr mon) +{ + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION) || + !virQEMUCapsGet(qemuCaps, QEMU_CAPS_KVM)) + return 0; + + return qemuMonitorGetCPUModelExpansion(mon, "static", "host", + &qemuCaps->hostCPUModelInfo); +} + struct tpmTypeToCaps { int type; virQEMUCapsFlags caps; @@ -3020,18 +3038,62 @@ virQEMUCapsCPUFilterFeatures(const char *name, } -void -virQEMUCapsInitHostCPUModel(virQEMUCapsPtr qemuCaps, - virCapsPtr caps) +static void +virQEMUCapsCopyCPUModelFromQEMU(virQEMUCapsPtr qemuCaps) { virCPUDefPtr cpu = NULL; + qemuMonitorCPUModelInfoPtr modelInfo = NULL; + size_t i; - if (!caps) - return; + if (!(modelInfo = qemuCaps->hostCPUModelInfo)) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("missing host CPU model info from QEMU capabilities" + " for binary %s"), qemuCaps->binary); + goto error; + } - if (!virQEMUCapsGuestIsNative(caps->host.arch, qemuCaps->arch)) + if (VIR_ALLOC(cpu) < 0) goto error; + if (VIR_STRDUP(cpu->model, modelInfo->name) < 0 || + VIR_ALLOC_N(cpu->features, modelInfo->nprops) < 0) + goto error; + + cpu->nfeatures_max = modelInfo->nprops; + cpu->nfeatures = 0; + cpu->sockets = cpu->cores = cpu->threads = 0; + cpu->type = VIR_CPU_TYPE_GUEST; + cpu->mode = VIR_CPU_MODE_CUSTOM; + cpu->match = VIR_CPU_MATCH_EXACT; + + for (i = 0; i < modelInfo->nprops; i++) { + if (VIR_STRDUP(cpu->features[i].name, modelInfo->props[i].name) < 0) + goto error; + + if (modelInfo->props[i].supported) + cpu->features[i].policy = VIR_CPU_FEATURE_REQUIRE; + else + cpu->features[i].policy = VIR_CPU_FEATURE_DISABLE; + + cpu->nfeatures++; + } + + qemuCaps->hostCPUModel = cpu; + return; + + error: + virCPUDefFree(cpu); + qemuCaps->hostCPUModel = NULL; + virResetLastError(); +} + + +static void +virQEMUCapsCopyCPUModelFromHost(virQEMUCapsPtr qemuCaps, + virCapsPtr caps) +{ + virCPUDefPtr cpu = NULL; + if (caps->host.cpu && caps->host.cpu->model) { if (VIR_ALLOC(cpu) < 0) goto error; @@ -3055,6 +3117,98 @@ virQEMUCapsInitHostCPUModel(virQEMUCapsPtr qemuCaps, virResetLastError(); } +void +virQEMUCapsInitHostCPUModel(virQEMUCapsPtr qemuCaps, + virCapsPtr caps) +{ + if (!caps || !virQEMUCapsGuestIsNative(caps->host.arch, qemuCaps->arch)) + return; + + switch (qemuCaps->arch) { + case VIR_ARCH_S390: + case VIR_ARCH_S390X: + virQEMUCapsCopyCPUModelFromQEMU(qemuCaps); + break; + default: virQEMUCapsCopyCPUModelFromHost(qemuCaps, caps); + } +} + + +static int +virQEMUCapsLoadHostCPUModelInfo(virQEMUCapsPtr qemuCaps, + xmlXPathContextPtr ctxt) +{ + char *str = NULL; + xmlNodePtr hostCPUNode; + xmlNodePtr *featureNodes = NULL; + xmlNodePtr oldnode = ctxt->node; + qemuMonitorCPUModelInfoPtr hostCPU = NULL; + int ret = -1; + size_t i; + int n; + + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION)) { + ret = 0; + goto cleanup; + } + + if (!(hostCPUNode = virXPathNode("./hostCPU", ctxt)) || + VIR_ALLOC(hostCPU) < 0) + goto cleanup; + + if ((str = virXMLPropString(hostCPUNode, "model"))) { + if (VIR_STRDUP(hostCPU->name, str) < 0) + goto cleanup; + } + + ctxt->node = hostCPUNode; + + if ((n = virXPathNodeSet("./feature", ctxt, &featureNodes)) > 0) { + if (VIR_ALLOC_N(hostCPU->props, n) < 0) + goto cleanup; + + hostCPU->nprops = n; + + for (i = 0; i < n; i++) { + if (!(str = virXMLPropString(featureNodes[i], "name"))) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("missing 'name' element for a host CPU model" + " feature in QEMU capabilities cache")); + goto cleanup; + } + if (VIR_STRDUP(hostCPU->props[i].name, str) < 0) + goto cleanup; + if (!(str = virXMLPropString(featureNodes[i], "supported"))) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("missing 'supported' element for a host CPU" + " model feature in QEMU capabilities cache")); + goto cleanup; + } + if (STREQ(str, "yes")) { + hostCPU->props[i].supported = true; + } else if (STREQ(str, "no")) { + hostCPU->props[i].supported = false; + } else { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("malformed supported value: expected 'yes'" + " or 'no'")); + goto cleanup; + } + } + } + + qemuCaps->hostCPUModelInfo = hostCPU; + hostCPU = NULL; + ret = 0; + + cleanup: + ctxt->node = oldnode; + VIR_FREE(str); + VIR_FREE(featureNodes); + qemuMonitorCPUModelInfoFree(hostCPU); + return ret; +} + static int virQEMUCapsLoadCPUModels(virQEMUCapsPtr qemuCaps, @@ -3250,6 +3404,9 @@ virQEMUCapsLoadCache(virCapsPtr caps, } VIR_FREE(str); + if (virQEMUCapsLoadHostCPUModelInfo(qemuCaps, ctxt) < 0) + goto cleanup; + if (virQEMUCapsLoadCPUModels(qemuCaps, ctxt, VIR_DOMAIN_VIRT_KVM) < 0 || virQEMUCapsLoadCPUModels(qemuCaps, ctxt, VIR_DOMAIN_VIRT_QEMU) < 0) goto cleanup; @@ -3443,6 +3600,20 @@ virQEMUCapsFormatCache(virQEMUCapsPtr qemuCaps, virBufferAsprintf(&buf, "<arch>%s</arch>\n", virArchToString(qemuCaps->arch)); + if (qemuCaps->hostCPUModelInfo) { + virBufferAsprintf(&buf, "<hostCPU model='%s'>\n", + qemuCaps->hostCPUModelInfo->name); + virBufferAdjustIndent(&buf, 2); + for (i = 0; i < qemuCaps->hostCPUModelInfo->nprops; i++) { + virBufferAsprintf(&buf, "<feature name='%s' supported='%s'/>\n", + qemuCaps->hostCPUModelInfo->props[i].name, + qemuCaps->hostCPUModelInfo->props[i].supported ? + "yes" : "no"); + } + virBufferAdjustIndent(&buf, -2); + virBufferAddLit(&buf, "</hostCPU>\n"); + } + virQEMUCapsFormatCPUModels(qemuCaps, &buf, VIR_DOMAIN_VIRT_KVM); virQEMUCapsFormatCPUModels(qemuCaps, &buf, VIR_DOMAIN_VIRT_QEMU); @@ -4135,6 +4306,8 @@ virQEMUCapsInitQMPMonitor(virQEMUCapsPtr qemuCaps, if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_QUERY_QMP_SCHEMA) && virQEMUCapsProbeQMPSchemaCapabilities(qemuCaps, mon) < 0) goto cleanup; + if (virQEMUCapsProbeQMPHostCPU(qemuCaps, mon) < 0) + goto cleanup; /* 'intel-iommu' shows up as a device since 2.2.0, but can * not be used with -device until 2.7.0. Before that it diff --git a/tests/domaincapsschemadata/qemu_2.7.0.s390x.xml b/tests/domaincapsschemadata/qemu_2.7.0.s390x.xml index 9f181d3..999e279 100644 --- a/tests/domaincapsschemadata/qemu_2.7.0.s390x.xml +++ b/tests/domaincapsschemadata/qemu_2.7.0.s390x.xml @@ -20,9 +20,7 @@ </os> <cpu> <mode name='host-passthrough' supported='yes'/> - <mode name='host-model' supported='yes'> - <model fallback='allow'></model> - </mode> + <mode name='host-model' supported='no'/> <mode name='custom' supported='no'/> </cpu> <devices> diff --git a/tests/domaincapsschemadata/qemu_2.8.0.s390x.xml b/tests/domaincapsschemadata/qemu_2.8.0.s390x.xml index 0b792b2..efe3459 100644 --- a/tests/domaincapsschemadata/qemu_2.8.0.s390x.xml +++ b/tests/domaincapsschemadata/qemu_2.8.0.s390x.xml @@ -21,7 +21,22 @@ <cpu> <mode name='host-passthrough' supported='yes'/> <mode name='host-model' supported='yes'> - <model fallback='allow'></model> + <model fallback='allow'>zEC12.2-base</model> + <feature policy='require' name='aefsi'/> + <feature policy='require' name='msa5'/> + <feature policy='require' name='msa4'/> + <feature policy='require' name='msa3'/> + <feature policy='require' name='msa2'/> + <feature policy='require' name='msa1'/> + <feature policy='require' name='sthyi'/> + <feature policy='require' name='edat'/> + <feature policy='require' name='ri'/> + <feature policy='require' name='edat2'/> + <feature policy='require' name='ipter'/> + <feature policy='require' name='esop'/> + <feature policy='require' name='cte'/> + <feature policy='require' name='te'/> + <feature policy='require' name='cmm'/> </mode> <mode name='custom' supported='yes'> <model usable='unknown'>z10EC-base</model> diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.replies b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.replies index 3ccad4f..0405d5d 100644 --- a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.replies +++ b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.replies @@ -13023,6 +13023,32 @@ { "return": { + "model": { + "name": "zEC12.2-base", + "props": { + "aefsi": true, + "msa5": true, + "msa4": true, + "msa3": true, + "msa2": true, + "msa1": true, + "sthyi": true, + "edat": true, + "ri": true, + "edat2": true, + "ipter": true, + "esop": true, + "cte": true, + "te": true, + "cmm": true + } + } + }, + "id": "libvirt-48" +} + +{ + "return": { }, "id": "libvirt-1" } diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml index 1b955cf..c4c9bf9 100644 --- a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml @@ -133,6 +133,23 @@ <kvmVersion>0</kvmVersion> <package></package> <arch>s390x</arch> + <hostCPU model='zEC12.2-base'> + <feature name='aefsi' supported='yes'/> + <feature name='msa5' supported='yes'/> + <feature name='msa4' supported='yes'/> + <feature name='msa3' supported='yes'/> + <feature name='msa2' supported='yes'/> + <feature name='msa1' supported='yes'/> + <feature name='sthyi' supported='yes'/> + <feature name='edat' supported='yes'/> + <feature name='ri' supported='yes'/> + <feature name='edat2' supported='yes'/> + <feature name='ipter' supported='yes'/> + <feature name='esop' supported='yes'/> + <feature name='cte' supported='yes'/> + <feature name='te' supported='yes'/> + <feature name='cmm' supported='yes'/> + </hostCPU> <cpu type='kvm' name='z10EC-base'/> <cpu type='kvm' name='z9EC-base'/> <cpu type='kvm' name='z196.2-base'/> -- 2.7.4

On Sun, Dec 18, 2016 at 14:22:27 -0500, Jason J. Herne wrote:
When qmp query-cpu-model-expansion is available probe Qemu for its view of the host model. In kvm environments this can provide a more complete view of the host model because features supported by Qemu and Kvm can be considered.
Signed-off-by: Collin L. Walling <walling@linux.vnet.ibm.com> Signed-off-by: Jason J. Herne <jjherne@linux.vnet.ibm.com>
# Conflicts: # tests/qemucapabilitiesdata/caps_2.8.0.s390x.replies
Signed-off-by: Jason J. Herne <jjherne@linux.vnet.ibm.com> --- src/qemu/qemu_capabilities.c | 185 ++++++++++++++++++++- tests/domaincapsschemadata/qemu_2.7.0.s390x.xml | 4 +- tests/domaincapsschemadata/qemu_2.8.0.s390x.xml | 17 +- .../qemucapabilitiesdata/caps_2.8.0.s390x.replies | 26 +++ tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml | 17 ++ 5 files changed, 239 insertions(+), 10 deletions(-)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index bff30ed..7d33b19 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c ... @@ -3055,6 +3117,98 @@ virQEMUCapsInitHostCPUModel(virQEMUCapsPtr qemuCaps, virResetLastError(); }
One more empty line here, please.
+void +virQEMUCapsInitHostCPUModel(virQEMUCapsPtr qemuCaps, + virCapsPtr caps) +{ + if (!caps || !virQEMUCapsGuestIsNative(caps->host.arch, qemuCaps->arch)) + return; + + switch (qemuCaps->arch) { + case VIR_ARCH_S390: + case VIR_ARCH_S390X: + virQEMUCapsCopyCPUModelFromQEMU(qemuCaps); + break; + default: virQEMUCapsCopyCPUModelFromHost(qemuCaps, caps);
default: virQEMUCapsCopyCPUModelFromHost(qemuCaps, caps);
+ } +} + + +static int +virQEMUCapsLoadHostCPUModelInfo(virQEMUCapsPtr qemuCaps, + xmlXPathContextPtr ctxt) +{ + char *str = NULL; + xmlNodePtr hostCPUNode; + xmlNodePtr *featureNodes = NULL; + xmlNodePtr oldnode = ctxt->node; + qemuMonitorCPUModelInfoPtr hostCPU = NULL; + int ret = -1; + size_t i; + int n; + + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION)) { + ret = 0; + goto cleanup; + }
This is not really necessary, properly checking for <hostCPU> element is enough.
+ + if (!(hostCPUNode = virXPathNode("./hostCPU", ctxt)) || + VIR_ALLOC(hostCPU) < 0) + goto cleanup;
When QEMU is probed in TCG mode, QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION might be set but ./hostCPU will not be present in the capabilities XML. The code should not fail in such a case. In other words: if (!(hostCPUNode = virXPathNode("./hostCPU", ctxt))) { ret = 0; goto cleanup; } if (VIR_ALLOC(hostCPU) < 0) goto cleanup;
+ + if ((str = virXMLPropString(hostCPUNode, "model"))) {
Don't confuse virXMLPropString and virXPathString. The latter does not make a copy of the string while the former does make the copy.
+ if (VIR_STRDUP(hostCPU->name, str) < 0) + goto cleanup; + }
Anyway, it looks like the name attribute should always be present, so if (!(hostCPU->name = virXMLPropString(hostCPUNode, "model"))) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("missing host CPU model name in QEMU " "capabilities cache")); goto cleanup; } should be enough.
+ + ctxt->node = hostCPUNode; + + if ((n = virXPathNodeSet("./feature", ctxt, &featureNodes)) > 0) { + if (VIR_ALLOC_N(hostCPU->props, n) < 0) + goto cleanup; + + hostCPU->nprops = n; + + for (i = 0; i < n; i++) { + if (!(str = virXMLPropString(featureNodes[i], "name"))) {
You can directly assign it to hostCPU->props[i].name.
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("missing 'name' element for a host CPU model"
'name' is not an element, it's an attribute.
+ " feature in QEMU capabilities cache")); + goto cleanup; + } + if (VIR_STRDUP(hostCPU->props[i].name, str) < 0) + goto cleanup;
Let's separate the two attributes by an empty line here.
+ if (!(str = virXMLPropString(featureNodes[i], "supported"))) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("missing 'supported' element for a host CPU"
s/element/attribute/
+ " model feature in QEMU capabilities cache")); + goto cleanup; + } + if (STREQ(str, "yes")) { + hostCPU->props[i].supported = true; + } else if (STREQ(str, "no")) { + hostCPU->props[i].supported = false; + } else { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("malformed supported value: expected 'yes'" + " or 'no'"));
It's an internal XML, not something a user is supposed to create so printing the incorrect value should be enough: ..., _("invalid supported value: '%s'"), str);
+ goto cleanup; + }
You'd leak str here if n > 1.
+ } + } + + qemuCaps->hostCPUModelInfo = hostCPU; + hostCPU = NULL; + ret = 0; + + cleanup: + ctxt->node = oldnode; + VIR_FREE(str); + VIR_FREE(featureNodes); + qemuMonitorCPUModelInfoFree(hostCPU); + return ret; +} +
static int virQEMUCapsLoadCPUModels(virQEMUCapsPtr qemuCaps, ... diff --git a/tests/domaincapsschemadata/qemu_2.7.0.s390x.xml b/tests/domaincapsschemadata/qemu_2.7.0.s390x.xml index 9f181d3..999e279 100644 --- a/tests/domaincapsschemadata/qemu_2.7.0.s390x.xml +++ b/tests/domaincapsschemadata/qemu_2.7.0.s390x.xml @@ -20,9 +20,7 @@ </os> <cpu> <mode name='host-passthrough' supported='yes'/> - <mode name='host-model' supported='yes'> - <model fallback='allow'></model> - </mode> + <mode name='host-model' supported='no'/> <mode name='custom' supported='no'/> </cpu> <devices>
This hunk should be part of 4/9. ACK with the attached diff squashed in... Jirka diff --git i/src/qemu/qemu_capabilities.c w/src/qemu/qemu_capabilities.c index a3f97d209..2512e4838 100644 --- i/src/qemu/qemu_capabilities.c +++ w/src/qemu/qemu_capabilities.c @@ -3117,6 +3117,7 @@ virQEMUCapsCopyCPUModelFromHost(virQEMUCapsPtr qemuCaps, virResetLastError(); } + void virQEMUCapsInitHostCPUModel(virQEMUCapsPtr qemuCaps, virCapsPtr caps) @@ -3129,7 +3130,9 @@ virQEMUCapsInitHostCPUModel(virQEMUCapsPtr qemuCaps, case VIR_ARCH_S390X: virQEMUCapsCopyCPUModelFromQEMU(qemuCaps); break; - default: virQEMUCapsCopyCPUModelFromHost(qemuCaps, caps); + + default: + virQEMUCapsCopyCPUModelFromHost(qemuCaps, caps); } } @@ -3147,18 +3150,19 @@ virQEMUCapsLoadHostCPUModelInfo(virQEMUCapsPtr qemuCaps, size_t i; int n; - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION)) { + if (!(hostCPUNode = virXPathNode("./hostCPU", ctxt))) { ret = 0; goto cleanup; } - if (!(hostCPUNode = virXPathNode("./hostCPU", ctxt)) || - VIR_ALLOC(hostCPU) < 0) + if (VIR_ALLOC(hostCPU) < 0) goto cleanup; - if ((str = virXMLPropString(hostCPUNode, "model"))) { - if (VIR_STRDUP(hostCPU->name, str) < 0) - goto cleanup; + if (!(hostCPU->name = virXMLPropString(hostCPUNode, "model"))) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("missing host CPU model name in QEMU " + "capabilities cache")); + goto cleanup; } ctxt->node = hostCPUNode; @@ -3170,17 +3174,17 @@ virQEMUCapsLoadHostCPUModelInfo(virQEMUCapsPtr qemuCaps, hostCPU->nprops = n; for (i = 0; i < n; i++) { - if (!(str = virXMLPropString(featureNodes[i], "name"))) { + hostCPU->props[i].name = virXMLPropString(featureNodes[i], "name"); + if (!hostCPU->props[i].name) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", - _("missing 'name' element for a host CPU model" - " feature in QEMU capabilities cache")); + _("missing 'name' attribute for a host CPU" + " model feature in QEMU capabilities cache")); goto cleanup; } - if (VIR_STRDUP(hostCPU->props[i].name, str) < 0) - goto cleanup; + if (!(str = virXMLPropString(featureNodes[i], "supported"))) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", - _("missing 'supported' element for a host CPU" + _("missing 'supported' attribute for a host CPU" " model feature in QEMU capabilities cache")); goto cleanup; } @@ -3189,11 +3193,11 @@ virQEMUCapsLoadHostCPUModelInfo(virQEMUCapsPtr qemuCaps, } else if (STREQ(str, "no")) { hostCPU->props[i].supported = false; } else { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", - _("malformed supported value: expected 'yes'" - " or 'no'")); + virReportError(VIR_ERR_INTERNAL_ERROR, + _("invalid supported value: '%s'"), str); goto cleanup; } + VIR_FREE(str); } }

Test cases for qemu s390x cpu model argument generation. Signed-off-by: Jason J. Herne <jjherne@linux.vnet.ibm.com> --- .../qemuxml2argv-cpu-s390-zEC12.args | 19 +++++++++++++++++++ .../qemuxml2argv-cpu-s390-zEC12.xml | 21 +++++++++++++++++++++ tests/qemuxml2argvtest.c | 12 ++++++++++++ 3 files changed, 52 insertions(+) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-s390-zEC12.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-s390-zEC12.xml diff --git a/tests/qemuxml2argvdata/qemuxml2argv-cpu-s390-zEC12.args b/tests/qemuxml2argvdata/qemuxml2argv-cpu-s390-zEC12.args new file mode 100644 index 0000000..4c95d6a --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-cpu-s390-zEC12.args @@ -0,0 +1,19 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/home/test \ +USER=test \ +LOGNAME=test \ +QEMU_AUDIO_DRV=none \ +/usr/bin/qemu-kvm \ +-name guest1 \ +-S \ +-M s390-ccw-virtio \ +-cpu zEC12 \ +-m 214 \ +-smp 1,sockets=1,cores=1,threads=1 \ +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ +-nographic \ +-nodefaults \ +-monitor unix:/tmp/lib/domain--1-guest1/monitor.sock,server,nowait \ +-no-acpi \ +-boot c diff --git a/tests/qemuxml2argvdata/qemuxml2argv-cpu-s390-zEC12.xml b/tests/qemuxml2argvdata/qemuxml2argv-cpu-s390-zEC12.xml new file mode 100644 index 0000000..de55f22 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-cpu-s390-zEC12.xml @@ -0,0 +1,21 @@ +<domain type='kvm'> + <name>guest1</name> + <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid> + <memory unit='KiB'>219100</memory> + <currentMemory unit='KiB'>219100</currentMemory> + <vcpu placement='static'>1</vcpu> + <os> + <type arch='s390x' machine='s390-ccw-virtio'>hvm</type> + </os> + <clock offset='utc'/> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <cpu mode='custom' match='exact'> + <model fallback='forbid'>zEC12</model> + </cpu> + <devices> + <emulator>/usr/bin/qemu-kvm</emulator> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 81c62ac..bd2cdcb 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -300,6 +300,9 @@ testAddCPUModels(virQEMUCapsPtr caps, bool skipLegacy) const char *ppc64Models[] = { "POWER8", "POWER7", }; + const char *s390xModels[] = { + "z990", "zEC12", "z13", + }; if (ARCH_IS_X86(arch)) { if (virQEMUCapsAddCPUDefinitions(caps, VIR_DOMAIN_VIRT_KVM, x86Models, @@ -337,6 +340,11 @@ testAddCPUModels(virQEMUCapsPtr caps, bool skipLegacy) ARRAY_CARDINALITY(ppc64Models), VIR_DOMCAPS_CPU_USABLE_UNKNOWN) < 0) return -1; + } else if (ARCH_IS_S390(arch)) { + if (virQEMUCapsAddCPUDefinitions(caps, VIR_DOMAIN_VIRT_KVM, s390xModels, + ARRAY_CARDINALITY(s390xModels), + VIR_DOMCAPS_CPU_USABLE_UNKNOWN) < 0) + return -1; } return 0; @@ -1512,6 +1520,10 @@ mymain(void) DO_TEST_FAILURE("cpu-host-passthrough", NONE); DO_TEST_FAILURE("cpu-qemu-host-passthrough", QEMU_CAPS_KVM); + qemuTestSetHostArch(driver.caps, VIR_ARCH_S390X); + DO_TEST("cpu-s390-zEC12", QEMU_CAPS_KVM, QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); + qemuTestSetHostArch(driver.caps, VIR_ARCH_NONE); + qemuTestSetHostCPU(driver.caps, cpuHaswell); DO_TEST("cpu-Haswell", QEMU_CAPS_KVM); DO_TEST("cpu-Haswell2", QEMU_CAPS_KVM); -- 2.7.4

On Sun, Dec 18, 2016 at 14:22:28 -0500, Jason J. Herne wrote:
Test cases for qemu s390x cpu model argument generation.
Signed-off-by: Jason J. Herne <jjherne@linux.vnet.ibm.com> --- .../qemuxml2argv-cpu-s390-zEC12.args | 19 +++++++++++++++++++ .../qemuxml2argv-cpu-s390-zEC12.xml | 21 +++++++++++++++++++++ tests/qemuxml2argvtest.c | 12 ++++++++++++ 3 files changed, 52 insertions(+) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-s390-zEC12.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-s390-zEC12.xml
ACK Jirka

From: "Collin L. Walling" <walling@linux.vnet.ibm.com> Qemu has abandoned the +/-feature syntax in favor of key=value. Some architectures (s390) do not support +/-feature. So we update libvirt to handle both formats. If we detect a sufficiently new Qemu (indicated by support for qmp query-cpu-model-expansion) we use key=value else we fall back to +/-feature. Signed-off-by: Collin L. Walling <walling@linux.vnet.ibm.com> Signed-off-by: Jason J. Herne <jjherne@linux.vnet.ibm.com> --- src/qemu/qemu_command.c | 18 +++++++++++++++-- .../qemuxml2argv-cpu-s390-features.args | 19 ++++++++++++++++++ .../qemuxml2argv-cpu-s390-features.xml | 23 ++++++++++++++++++++++ tests/qemuxml2argvtest.c | 2 ++ 4 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-s390-features.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-s390-features.xml diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index f8e48d2..89226a6 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -6665,6 +6665,14 @@ qemuBuildCpuModelArgStr(virQEMUDriverPtr driver, break; } + if (ARCH_IS_S390(def->os.arch) && cpu->features && + !virQEMUCapsGet(qemuCaps, QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION)) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("CPU features not supported by hypervisor for %s " + "architecture"), virArchToString(def->os.arch)); + goto cleanup; + } + if (cpu->vendor_id) virBufferAsprintf(buf, ",vendor=%s", cpu->vendor_id); @@ -6672,12 +6680,18 @@ qemuBuildCpuModelArgStr(virQEMUDriverPtr driver, switch ((virCPUFeaturePolicy) cpu->features[i].policy) { case VIR_CPU_FEATURE_FORCE: case VIR_CPU_FEATURE_REQUIRE: - virBufferAsprintf(buf, ",+%s", cpu->features[i].name); + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION)) + virBufferAsprintf(buf, ",%s=on", cpu->features[i].name); + else + virBufferAsprintf(buf, ",+%s", cpu->features[i].name); break; case VIR_CPU_FEATURE_DISABLE: case VIR_CPU_FEATURE_FORBID: - virBufferAsprintf(buf, ",-%s", cpu->features[i].name); + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION)) + virBufferAsprintf(buf, ",%s=off", cpu->features[i].name); + else + virBufferAsprintf(buf, ",-%s", cpu->features[i].name); break; case VIR_CPU_FEATURE_OPTIONAL: diff --git a/tests/qemuxml2argvdata/qemuxml2argv-cpu-s390-features.args b/tests/qemuxml2argvdata/qemuxml2argv-cpu-s390-features.args new file mode 100644 index 0000000..07abc93 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-cpu-s390-features.args @@ -0,0 +1,19 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/home/test \ +USER=test \ +LOGNAME=test \ +QEMU_AUDIO_DRV=none \ +/usr/bin/qemu-kvm \ +-name guest1 \ +-S \ +-M s390-ccw-virtio \ +-cpu zEC12,dfppc=on,stckf=off \ +-m 214 \ +-smp 1,sockets=1,cores=1,threads=1 \ +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ +-nographic \ +-nodefaults \ +-monitor unix:/tmp/lib/domain--1-guest1/monitor.sock,server,nowait \ +-no-acpi \ +-boot c diff --git a/tests/qemuxml2argvdata/qemuxml2argv-cpu-s390-features.xml b/tests/qemuxml2argvdata/qemuxml2argv-cpu-s390-features.xml new file mode 100644 index 0000000..47279c4 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-cpu-s390-features.xml @@ -0,0 +1,23 @@ +<domain type='kvm'> + <name>guest1</name> + <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid> + <memory unit='KiB'>219100</memory> + <currentMemory unit='KiB'>219100</currentMemory> + <vcpu placement='static'>1</vcpu> + <os> + <type arch='s390x' machine='s390-ccw-virtio'>hvm</type> + </os> + <clock offset='utc'/> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <cpu mode='custom' match='exact'> + <model fallback='forbid'>zEC12</model> + <feature policy='require' name='dfppc'/> + <feature policy='disable' name='stckf'/> + </cpu> + <devices> + <emulator>/usr/bin/qemu-kvm</emulator> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index bd2cdcb..7579c6d 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -1522,6 +1522,8 @@ mymain(void) qemuTestSetHostArch(driver.caps, VIR_ARCH_S390X); DO_TEST("cpu-s390-zEC12", QEMU_CAPS_KVM, QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); + DO_TEST("cpu-s390-features", QEMU_CAPS_KVM, QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION); + DO_TEST_FAILURE("cpu-s390-features", QEMU_CAPS_KVM); qemuTestSetHostArch(driver.caps, VIR_ARCH_NONE); qemuTestSetHostCPU(driver.caps, cpuHaswell); -- 2.7.4

On Sun, Dec 18, 2016 at 14:22:29 -0500, Jason J. Herne wrote:
From: "Collin L. Walling" <walling@linux.vnet.ibm.com>
Qemu has abandoned the +/-feature syntax in favor of key=value. Some architectures (s390) do not support +/-feature. So we update libvirt to handle both formats.
If we detect a sufficiently new Qemu (indicated by support for qmp query-cpu-model-expansion) we use key=value else we fall back to +/-feature.
Signed-off-by: Collin L. Walling <walling@linux.vnet.ibm.com> Signed-off-by: Jason J. Herne <jjherne@linux.vnet.ibm.com> --- src/qemu/qemu_command.c | 18 +++++++++++++++-- .../qemuxml2argv-cpu-s390-features.args | 19 ++++++++++++++++++ .../qemuxml2argv-cpu-s390-features.xml | 23 ++++++++++++++++++++++ tests/qemuxml2argvtest.c | 2 ++ 4 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-s390-features.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-s390-features.xml
ACK Jirka

On 12/18/2016 02:22 PM, Jason J. Herne wrote:
This patch set enables cpu model support for s390. The user can now set exact cpu models, query supported models via virsh domcapabilities, and use host-model and host-passthrough modes. The end result is that migration is safer because Qemu will perform runnability checking on the destination host and quit with an error if the guest's cpu model is not supported.
I forgot to add the v3 tag to the patches. My apologies. This is indeed v3 though. -- -- Jason J. Herne (jjherne@linux.vnet.ibm.com)

On 12/18/2016 02:22 PM, Jason J. Herne wrote:
This patch set enables cpu model support for s390. The user can now set exact cpu models, query supported models via virsh domcapabilities, and use host-model and host-passthrough modes. The end result is that migration is safer because Qemu will perform runnability checking on the destination host and quit with an error if the guest's cpu model is not supported.
Note: Some test data has been separated from corresponding test case updates for ease of review.
Just pinging since we've had a long break recently. Hope everyone enjoyed their holidays. -- -- Jason J. Herne (jjherne@linux.vnet.ibm.com)

On Sun, Dec 18, 2016 at 14:22:20 -0500, Jason J. Herne wrote:
This patch set enables cpu model support for s390. The user can now set exact cpu models, query supported models via virsh domcapabilities, and use host-model and host-passthrough modes. The end result is that migration is safer because Qemu will perform runnability checking on the destination host and quit with an error if the guest's cpu model is not supported.
OK, I don't think we need another version of this series since the required changes are mostly trivial. I pushed the series with the suggested changes. Thanks. Jirka
participants (2)
-
Jason J. Herne
-
Jiri Denemark