[libvirt] [PATCH v1 0/7] Enable memory-backend-file.discard-data

Qemu introduced this in 11ae6ed8affdd13. A small refactor is needed however. Michal Privoznik (7): qemu: Rename qemuMonitorGetObjectProps to qemuMonitorGetDeviceProps qemu_capabilities: s/ObjectProps/DeviceProps/g qemu_capabilities: Separate out device props fetching qemu_monitor: Introduce qemuMonitorGetObjectProps qemu_capabilities: Introduce QEMU_CAPS_OBJECT_MEMORY_FILE_DISCARD tests: Update qemucapabilitiesdata qemu: Enable memory-backend-file.discard-data whenever possible src/qemu/qemu_capabilities.c | 269 +++++---- src/qemu/qemu_capabilities.h | 1 + src/qemu/qemu_command.c | 6 + src/qemu/qemu_monitor.c | 21 +- src/qemu/qemu_monitor.h | 5 +- src/qemu/qemu_monitor_json.c | 62 ++- src/qemu/qemu_monitor_json.h | 6 +- .../qemucapabilitiesdata/caps_2.1.1.x86_64.replies | 20 +- tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml | 2 +- .../caps_2.10.0.aarch64.replies | 30 +- tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml | 2 +- .../qemucapabilitiesdata/caps_2.10.0.ppc64.replies | 28 +- tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml | 2 +- .../qemucapabilitiesdata/caps_2.10.0.s390x.replies | 32 +- tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml | 2 +- .../caps_2.10.0.x86_64.replies | 540 +++++++++--------- tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml | 2 +- .../qemucapabilitiesdata/caps_2.11.0.s390x.replies | 26 +- tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml | 2 +- .../caps_2.12.0.aarch64.replies | 24 +- tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml | 2 +- .../qemucapabilitiesdata/caps_2.12.0.ppc64.replies | 22 +- tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml | 2 +- .../qemucapabilitiesdata/caps_2.12.0.s390x.replies | 24 +- .../caps_2.12.0.x86_64.replies | 612 +++++++++++---------- tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml | 3 +- .../qemucapabilitiesdata/caps_2.4.0.x86_64.replies | 20 +- tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml | 2 +- .../qemucapabilitiesdata/caps_2.5.0.x86_64.replies | 22 +- tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml | 2 +- .../caps_2.6.0.aarch64.replies | 30 +- tests/qemucapabilitiesdata/caps_2.6.0.aarch64.xml | 2 +- .../qemucapabilitiesdata/caps_2.6.0.ppc64.replies | 28 +- tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml | 2 +- .../qemucapabilitiesdata/caps_2.6.0.x86_64.replies | 22 +- tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml | 2 +- .../qemucapabilitiesdata/caps_2.7.0.s390x.replies | 28 +- tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml | 2 +- .../qemucapabilitiesdata/caps_2.7.0.x86_64.replies | 22 +- tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml | 2 +- .../qemucapabilitiesdata/caps_2.8.0.s390x.replies | 32 +- tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml | 2 +- .../qemucapabilitiesdata/caps_2.8.0.x86_64.replies | 22 +- tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml | 2 +- .../qemucapabilitiesdata/caps_2.9.0.ppc64.replies | 28 +- tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml | 2 +- .../qemucapabilitiesdata/caps_2.9.0.s390x.replies | 32 +- tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml | 2 +- .../qemucapabilitiesdata/caps_2.9.0.x86_64.replies | 536 +++++++++--------- tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml | 2 +- 50 files changed, 1458 insertions(+), 1135 deletions(-) -- 2.16.1

This function is indeed getting -device properties and not -object properties. The current name is misleading. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/qemu/qemu_capabilities.c | 2 +- src/qemu/qemu_monitor.c | 8 ++++---- src/qemu/qemu_monitor.h | 4 ++-- src/qemu/qemu_monitor_json.c | 6 +++--- src/qemu/qemu_monitor_json.h | 4 ++-- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 27180e8509..407c3229c3 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -2091,7 +2091,7 @@ virQEMUCapsProbeQMPObjects(virQEMUCapsPtr qemuCaps, if (cap >= 0 && !virQEMUCapsGet(qemuCaps, cap)) continue; - if ((nvalues = qemuMonitorGetObjectProps(mon, + if ((nvalues = qemuMonitorGetDeviceProps(mon, type, &values)) < 0) return -1; diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index 7b647525b3..8a4350f6b2 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -3942,15 +3942,15 @@ qemuMonitorGetObjectTypes(qemuMonitorPtr mon, int -qemuMonitorGetObjectProps(qemuMonitorPtr mon, - const char *type, +qemuMonitorGetDeviceProps(qemuMonitorPtr mon, + const char *device, char ***props) { - VIR_DEBUG("type=%s props=%p", type, props); + VIR_DEBUG("device=%s props=%p", device, props); QEMU_CHECK_MONITOR_JSON(mon); - return qemuMonitorJSONGetObjectProps(mon, type, props); + return qemuMonitorJSONGetDeviceProps(mon, device, props); } diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index d04148e568..b797ea800e 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -1094,8 +1094,8 @@ int qemuMonitorGetKVMState(qemuMonitorPtr mon, int qemuMonitorGetObjectTypes(qemuMonitorPtr mon, char ***types); -int qemuMonitorGetObjectProps(qemuMonitorPtr mon, - const char *type, +int qemuMonitorGetDeviceProps(qemuMonitorPtr mon, + const char *device, char ***props); char *qemuMonitorGetTargetArch(qemuMonitorPtr mon); diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index 57c2c4de0f..a90762a4ff 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -6033,8 +6033,8 @@ int qemuMonitorJSONSetObjectProperty(qemuMonitorPtr mon, #undef MAKE_SET_CMD -int qemuMonitorJSONGetObjectProps(qemuMonitorPtr mon, - const char *type, +int qemuMonitorJSONGetDeviceProps(qemuMonitorPtr mon, + const char *device, char ***props) { int ret = -1; @@ -6048,7 +6048,7 @@ int qemuMonitorJSONGetObjectProps(qemuMonitorPtr mon, *props = NULL; if (!(cmd = qemuMonitorJSONMakeCommand("device-list-properties", - "s:typename", type, + "s:typename", device, NULL))) return -1; diff --git a/src/qemu/qemu_monitor_json.h b/src/qemu/qemu_monitor_json.h index 045df4919f..df91b0b5dc 100644 --- a/src/qemu/qemu_monitor_json.h +++ b/src/qemu/qemu_monitor_json.h @@ -441,8 +441,8 @@ int qemuMonitorJSONSetObjectProperty(qemuMonitorPtr mon, qemuMonitorJSONObjectPropertyPtr prop) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3) ATTRIBUTE_NONNULL(4); -int qemuMonitorJSONGetObjectProps(qemuMonitorPtr mon, - const char *type, +int qemuMonitorJSONGetDeviceProps(qemuMonitorPtr mon, + const char *device, char ***props) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3); char *qemuMonitorJSONGetTargetArch(qemuMonitorPtr mon); -- 2.16.1

On Thu, Apr 12, 2018 at 18:39:46 +0200, Michal Privoznik wrote:
This function is indeed getting -device properties and not -object properties. The current name is misleading.
Signed-off-by: Michal Privoznik <mprivozn@redhat.com> ---
ACK

So far all the properties we are trying to fetch are device properties, i.e. -device $dev on qemu command line. Change misleading variable names to express what's queried for better. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/qemu/qemu_capabilities.c | 202 +++++++++++++++++++++---------------------- 1 file changed, 101 insertions(+), 101 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 407c3229c3..1d2110eef3 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -1106,14 +1106,14 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[] = { { "pcie-pci-bridge", QEMU_CAPS_DEVICE_PCIE_PCI_BRIDGE }, }; -static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsVirtioBalloon[] = { +static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVirtioBalloon[] = { { "deflate-on-oom", QEMU_CAPS_VIRTIO_BALLOON_AUTODEFLATE }, { "disable-legacy", QEMU_CAPS_VIRTIO_PCI_DISABLE_LEGACY }, { "iommu_platform", QEMU_CAPS_VIRTIO_PCI_IOMMU_PLATFORM }, { "ats", QEMU_CAPS_VIRTIO_PCI_ATS }, }; -static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsVirtioBlk[] = { +static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVirtioBlk[] = { { "bootindex", QEMU_CAPS_BOOTINDEX }, { "ioeventfd", QEMU_CAPS_VIRTIO_IOEVENTFD }, { "event_idx", QEMU_CAPS_VIRTIO_BLK_EVENT_IDX }, @@ -1126,7 +1126,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsVirtioBlk[] = { { "ats", QEMU_CAPS_VIRTIO_PCI_ATS }, }; -static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsVirtioNet[] = { +static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVirtioNet[] = { { "tx", QEMU_CAPS_VIRTIO_TX_ALG }, { "event_idx", QEMU_CAPS_VIRTIO_NET_EVENT_IDX }, { "rx_queue_size", QEMU_CAPS_VIRTIO_NET_RX_QUEUE_SIZE }, @@ -1137,87 +1137,87 @@ static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsVirtioNet[] = { { "ats", QEMU_CAPS_VIRTIO_PCI_ATS }, }; -static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsSpaprPCIHostBridge[] = { +static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsSpaprPCIHostBridge[] = { { "numa_node", QEMU_CAPS_SPAPR_PCI_HOST_BRIDGE_NUMA_NODE }, }; -static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsVirtioSCSI[] = { +static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVirtioSCSI[] = { { "iothread", QEMU_CAPS_VIRTIO_SCSI_IOTHREAD }, { "disable-legacy", QEMU_CAPS_VIRTIO_PCI_DISABLE_LEGACY }, { "iommu_platform", QEMU_CAPS_VIRTIO_PCI_IOMMU_PLATFORM }, { "ats", QEMU_CAPS_VIRTIO_PCI_ATS }, }; -static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsPCIAssign[] = { +static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsPCIAssign[] = { { "configfd", QEMU_CAPS_PCI_CONFIGFD }, { "bootindex", QEMU_CAPS_PCI_BOOTINDEX }, }; -static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsVfioPCI[] = { +static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVfioPCI[] = { { "bootindex", QEMU_CAPS_VFIO_PCI_BOOTINDEX }, }; -static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsSCSIDisk[] = { +static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsSCSIDisk[] = { { "channel", QEMU_CAPS_SCSI_DISK_CHANNEL }, { "wwn", QEMU_CAPS_SCSI_DISK_WWN }, { "share-rw", QEMU_CAPS_DISK_SHARE_RW }, }; -static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsIDEDrive[] = { +static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsIDEDrive[] = { { "wwn", QEMU_CAPS_IDE_DRIVE_WWN }, { "share-rw", QEMU_CAPS_DISK_SHARE_RW }, }; -static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsPiix4PM[] = { +static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsPiix4PM[] = { { "disable_s3", QEMU_CAPS_PIIX_DISABLE_S3 }, { "disable_s4", QEMU_CAPS_PIIX_DISABLE_S4 }, }; -static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsUSBRedir[] = { +static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsUSBRedir[] = { { "filter", QEMU_CAPS_USB_REDIR_FILTER }, { "bootindex", QEMU_CAPS_USB_REDIR_BOOTINDEX }, }; -static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsUSBHost[] = { +static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsUSBHost[] = { { "bootindex", QEMU_CAPS_USB_HOST_BOOTINDEX }, }; -static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsSCSIGeneric[] = { +static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsSCSIGeneric[] = { { "bootindex", QEMU_CAPS_DEVICE_SCSI_GENERIC_BOOTINDEX }, }; -static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsI440FXPCIHost[] = { +static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsI440FXPCIHost[] = { { "pci-hole64-size", QEMU_CAPS_I440FX_PCI_HOLE64_SIZE }, }; -static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsQ35PCIHost[] = { +static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsQ35PCIHost[] = { { "pci-hole64-size", QEMU_CAPS_Q35_PCI_HOLE64_SIZE }, }; -static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsUSBStorage[] = { +static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsUSBStorage[] = { { "removable", QEMU_CAPS_USB_STORAGE_REMOVABLE }, { "share-rw", QEMU_CAPS_DISK_SHARE_RW }, }; -static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsKVMPit[] = { +static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsKVMPit[] = { { "lost_tick_policy", QEMU_CAPS_KVM_PIT_TICK_POLICY }, }; -static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsVGA[] = { +static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVGA[] = { { "vgamem_mb", QEMU_CAPS_VGA_VGAMEM }, }; -static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsVmwareSvga[] = { +static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVmwareSvga[] = { { "vgamem_mb", QEMU_CAPS_VMWARE_SVGA_VGAMEM }, }; -static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsQxl[] = { +static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsQxl[] = { { "vgamem_mb", QEMU_CAPS_QXL_VGAMEM }, { "vram64_size_mb", QEMU_CAPS_QXL_VRAM64 }, { "max_outputs", QEMU_CAPS_QXL_MAX_OUTPUTS }, }; -static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsVirtioGpu[] = { +static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVirtioGpu[] = { { "virgl", QEMU_CAPS_VIRTIO_GPU_VIRGL }, { "max_outputs", QEMU_CAPS_VIRTIO_GPU_MAX_OUTPUTS }, { "disable-legacy", QEMU_CAPS_VIRTIO_PCI_DISABLE_LEGACY }, @@ -1225,16 +1225,16 @@ static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsVirtioGpu[] = { { "ats", QEMU_CAPS_VIRTIO_PCI_ATS }, }; -static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsICH9[] = { +static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsICH9[] = { { "disable_s3", QEMU_CAPS_ICH9_DISABLE_S3 }, { "disable_s4", QEMU_CAPS_ICH9_DISABLE_S4 }, }; -static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsUSBNECXHCI[] = { +static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsUSBNECXHCI[] = { { "p3", QEMU_CAPS_NEC_USB_XHCI_PORTS }, }; -static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsIntelIOMMU[] = { +static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsIntelIOMMU[] = { { "intremap", QEMU_CAPS_INTEL_IOMMU_INTREMAP }, { "caching-mode", QEMU_CAPS_INTEL_IOMMU_CACHING_MODE }, { "eim", QEMU_CAPS_INTEL_IOMMU_EIM }, @@ -1257,108 +1257,108 @@ struct virQEMUCapsObjectTypeProps { int capsCondition; }; -static struct virQEMUCapsObjectTypeProps virQEMUCapsObjectProps[] = { - { "virtio-blk-pci", virQEMUCapsObjectPropsVirtioBlk, - ARRAY_CARDINALITY(virQEMUCapsObjectPropsVirtioBlk), +static struct virQEMUCapsObjectTypeProps virQEMUCapsDeviceProps[] = { + { "virtio-blk-pci", virQEMUCapsDevicePropsVirtioBlk, + ARRAY_CARDINALITY(virQEMUCapsDevicePropsVirtioBlk), -1 }, - { "virtio-net-pci", virQEMUCapsObjectPropsVirtioNet, - ARRAY_CARDINALITY(virQEMUCapsObjectPropsVirtioNet), + { "virtio-net-pci", virQEMUCapsDevicePropsVirtioNet, + ARRAY_CARDINALITY(virQEMUCapsDevicePropsVirtioNet), QEMU_CAPS_DEVICE_VIRTIO_NET }, - { "virtio-scsi-pci", virQEMUCapsObjectPropsVirtioSCSI, - ARRAY_CARDINALITY(virQEMUCapsObjectPropsVirtioSCSI), + { "virtio-scsi-pci", virQEMUCapsDevicePropsVirtioSCSI, + ARRAY_CARDINALITY(virQEMUCapsDevicePropsVirtioSCSI), QEMU_CAPS_VIRTIO_SCSI }, - { "virtio-blk-ccw", virQEMUCapsObjectPropsVirtioBlk, - ARRAY_CARDINALITY(virQEMUCapsObjectPropsVirtioBlk), + { "virtio-blk-ccw", virQEMUCapsDevicePropsVirtioBlk, + ARRAY_CARDINALITY(virQEMUCapsDevicePropsVirtioBlk), QEMU_CAPS_VIRTIO_CCW }, - { "virtio-net-ccw", virQEMUCapsObjectPropsVirtioNet, - ARRAY_CARDINALITY(virQEMUCapsObjectPropsVirtioNet), + { "virtio-net-ccw", virQEMUCapsDevicePropsVirtioNet, + ARRAY_CARDINALITY(virQEMUCapsDevicePropsVirtioNet), QEMU_CAPS_DEVICE_VIRTIO_NET }, - { "virtio-scsi-ccw", virQEMUCapsObjectPropsVirtioSCSI, - ARRAY_CARDINALITY(virQEMUCapsObjectPropsVirtioSCSI), + { "virtio-scsi-ccw", virQEMUCapsDevicePropsVirtioSCSI, + ARRAY_CARDINALITY(virQEMUCapsDevicePropsVirtioSCSI), QEMU_CAPS_VIRTIO_SCSI }, - { "virtio-blk-s390", virQEMUCapsObjectPropsVirtioBlk, - ARRAY_CARDINALITY(virQEMUCapsObjectPropsVirtioBlk), + { "virtio-blk-s390", virQEMUCapsDevicePropsVirtioBlk, + ARRAY_CARDINALITY(virQEMUCapsDevicePropsVirtioBlk), QEMU_CAPS_VIRTIO_S390 }, - { "virtio-net-s390", virQEMUCapsObjectPropsVirtioNet, - ARRAY_CARDINALITY(virQEMUCapsObjectPropsVirtioNet), + { "virtio-net-s390", virQEMUCapsDevicePropsVirtioNet, + ARRAY_CARDINALITY(virQEMUCapsDevicePropsVirtioNet), QEMU_CAPS_DEVICE_VIRTIO_NET }, - { "pci-assign", virQEMUCapsObjectPropsPCIAssign, - ARRAY_CARDINALITY(virQEMUCapsObjectPropsPCIAssign), + { "pci-assign", virQEMUCapsDevicePropsPCIAssign, + ARRAY_CARDINALITY(virQEMUCapsDevicePropsPCIAssign), -1 }, - { "kvm-pci-assign", virQEMUCapsObjectPropsPCIAssign, - ARRAY_CARDINALITY(virQEMUCapsObjectPropsPCIAssign), + { "kvm-pci-assign", virQEMUCapsDevicePropsPCIAssign, + ARRAY_CARDINALITY(virQEMUCapsDevicePropsPCIAssign), -1 }, - { "vfio-pci", virQEMUCapsObjectPropsVfioPCI, - ARRAY_CARDINALITY(virQEMUCapsObjectPropsVfioPCI), + { "vfio-pci", virQEMUCapsDevicePropsVfioPCI, + ARRAY_CARDINALITY(virQEMUCapsDevicePropsVfioPCI), QEMU_CAPS_DEVICE_VFIO_PCI }, - { "scsi-disk", virQEMUCapsObjectPropsSCSIDisk, - ARRAY_CARDINALITY(virQEMUCapsObjectPropsSCSIDisk), + { "scsi-disk", virQEMUCapsDevicePropsSCSIDisk, + ARRAY_CARDINALITY(virQEMUCapsDevicePropsSCSIDisk), -1 }, - { "ide-drive", virQEMUCapsObjectPropsIDEDrive, - ARRAY_CARDINALITY(virQEMUCapsObjectPropsIDEDrive), + { "ide-drive", virQEMUCapsDevicePropsIDEDrive, + ARRAY_CARDINALITY(virQEMUCapsDevicePropsIDEDrive), -1 }, - { "PIIX4_PM", virQEMUCapsObjectPropsPiix4PM, - ARRAY_CARDINALITY(virQEMUCapsObjectPropsPiix4PM), + { "PIIX4_PM", virQEMUCapsDevicePropsPiix4PM, + ARRAY_CARDINALITY(virQEMUCapsDevicePropsPiix4PM), -1 }, - { "usb-redir", virQEMUCapsObjectPropsUSBRedir, - ARRAY_CARDINALITY(virQEMUCapsObjectPropsUSBRedir), + { "usb-redir", virQEMUCapsDevicePropsUSBRedir, + ARRAY_CARDINALITY(virQEMUCapsDevicePropsUSBRedir), QEMU_CAPS_USB_REDIR }, - { "usb-host", virQEMUCapsObjectPropsUSBHost, - ARRAY_CARDINALITY(virQEMUCapsObjectPropsUSBHost), + { "usb-host", virQEMUCapsDevicePropsUSBHost, + ARRAY_CARDINALITY(virQEMUCapsDevicePropsUSBHost), -1 }, - { "scsi-generic", virQEMUCapsObjectPropsSCSIGeneric, - ARRAY_CARDINALITY(virQEMUCapsObjectPropsSCSIGeneric), + { "scsi-generic", virQEMUCapsDevicePropsSCSIGeneric, + ARRAY_CARDINALITY(virQEMUCapsDevicePropsSCSIGeneric), QEMU_CAPS_DEVICE_SCSI_GENERIC }, - { "i440FX-pcihost", virQEMUCapsObjectPropsI440FXPCIHost, - ARRAY_CARDINALITY(virQEMUCapsObjectPropsI440FXPCIHost), + { "i440FX-pcihost", virQEMUCapsDevicePropsI440FXPCIHost, + ARRAY_CARDINALITY(virQEMUCapsDevicePropsI440FXPCIHost), -1 }, - { "q35-pcihost", virQEMUCapsObjectPropsQ35PCIHost, - ARRAY_CARDINALITY(virQEMUCapsObjectPropsQ35PCIHost), + { "q35-pcihost", virQEMUCapsDevicePropsQ35PCIHost, + ARRAY_CARDINALITY(virQEMUCapsDevicePropsQ35PCIHost), -1 }, - { "usb-storage", virQEMUCapsObjectPropsUSBStorage, - ARRAY_CARDINALITY(virQEMUCapsObjectPropsUSBStorage), + { "usb-storage", virQEMUCapsDevicePropsUSBStorage, + ARRAY_CARDINALITY(virQEMUCapsDevicePropsUSBStorage), QEMU_CAPS_DEVICE_USB_STORAGE }, - { "kvm-pit", virQEMUCapsObjectPropsKVMPit, - ARRAY_CARDINALITY(virQEMUCapsObjectPropsKVMPit), + { "kvm-pit", virQEMUCapsDevicePropsKVMPit, + ARRAY_CARDINALITY(virQEMUCapsDevicePropsKVMPit), -1 }, - { "VGA", virQEMUCapsObjectPropsVGA, - ARRAY_CARDINALITY(virQEMUCapsObjectPropsVGA), + { "VGA", virQEMUCapsDevicePropsVGA, + ARRAY_CARDINALITY(virQEMUCapsDevicePropsVGA), QEMU_CAPS_DEVICE_VGA }, - { "vmware-svga", virQEMUCapsObjectPropsVmwareSvga, - ARRAY_CARDINALITY(virQEMUCapsObjectPropsVmwareSvga), + { "vmware-svga", virQEMUCapsDevicePropsVmwareSvga, + ARRAY_CARDINALITY(virQEMUCapsDevicePropsVmwareSvga), QEMU_CAPS_DEVICE_VMWARE_SVGA }, - { "qxl", virQEMUCapsObjectPropsQxl, - ARRAY_CARDINALITY(virQEMUCapsObjectPropsQxl), + { "qxl", virQEMUCapsDevicePropsQxl, + ARRAY_CARDINALITY(virQEMUCapsDevicePropsQxl), QEMU_CAPS_DEVICE_QXL }, - { "virtio-gpu-pci", virQEMUCapsObjectPropsVirtioGpu, - ARRAY_CARDINALITY(virQEMUCapsObjectPropsVirtioGpu), + { "virtio-gpu-pci", virQEMUCapsDevicePropsVirtioGpu, + ARRAY_CARDINALITY(virQEMUCapsDevicePropsVirtioGpu), QEMU_CAPS_DEVICE_VIRTIO_GPU }, - { "virtio-gpu-device", virQEMUCapsObjectPropsVirtioGpu, - ARRAY_CARDINALITY(virQEMUCapsObjectPropsVirtioGpu), + { "virtio-gpu-device", virQEMUCapsDevicePropsVirtioGpu, + ARRAY_CARDINALITY(virQEMUCapsDevicePropsVirtioGpu), QEMU_CAPS_DEVICE_VIRTIO_GPU }, - { "ICH9-LPC", virQEMUCapsObjectPropsICH9, - ARRAY_CARDINALITY(virQEMUCapsObjectPropsICH9), + { "ICH9-LPC", virQEMUCapsDevicePropsICH9, + ARRAY_CARDINALITY(virQEMUCapsDevicePropsICH9), -1 }, - { "virtio-balloon-pci", virQEMUCapsObjectPropsVirtioBalloon, - ARRAY_CARDINALITY(virQEMUCapsObjectPropsVirtioBalloon), + { "virtio-balloon-pci", virQEMUCapsDevicePropsVirtioBalloon, + ARRAY_CARDINALITY(virQEMUCapsDevicePropsVirtioBalloon), -1 }, - { "virtio-balloon-ccw", virQEMUCapsObjectPropsVirtioBalloon, - ARRAY_CARDINALITY(virQEMUCapsObjectPropsVirtioBalloon), + { "virtio-balloon-ccw", virQEMUCapsDevicePropsVirtioBalloon, + ARRAY_CARDINALITY(virQEMUCapsDevicePropsVirtioBalloon), -1 }, - { "virtio-balloon-device", virQEMUCapsObjectPropsVirtioBalloon, - ARRAY_CARDINALITY(virQEMUCapsObjectPropsVirtioBalloon), + { "virtio-balloon-device", virQEMUCapsDevicePropsVirtioBalloon, + ARRAY_CARDINALITY(virQEMUCapsDevicePropsVirtioBalloon), -1 }, - { "nec-usb-xhci", virQEMUCapsObjectPropsUSBNECXHCI, - ARRAY_CARDINALITY(virQEMUCapsObjectPropsUSBNECXHCI), + { "nec-usb-xhci", virQEMUCapsDevicePropsUSBNECXHCI, + ARRAY_CARDINALITY(virQEMUCapsDevicePropsUSBNECXHCI), QEMU_CAPS_NEC_USB_XHCI }, - { "intel-iommu", virQEMUCapsObjectPropsIntelIOMMU, - ARRAY_CARDINALITY(virQEMUCapsObjectPropsIntelIOMMU), + { "intel-iommu", virQEMUCapsDevicePropsIntelIOMMU, + ARRAY_CARDINALITY(virQEMUCapsDevicePropsIntelIOMMU), QEMU_CAPS_DEVICE_INTEL_IOMMU }, - { "spapr-pci-host-bridge", virQEMUCapsObjectPropsSpaprPCIHostBridge, - ARRAY_CARDINALITY(virQEMUCapsObjectPropsSpaprPCIHostBridge), + { "spapr-pci-host-bridge", virQEMUCapsDevicePropsSpaprPCIHostBridge, + ARRAY_CARDINALITY(virQEMUCapsDevicePropsSpaprPCIHostBridge), QEMU_CAPS_DEVICE_SPAPR_PCI_HOST_BRIDGE }, - { "virtio-gpu-ccw", virQEMUCapsObjectPropsVirtioGpu, - ARRAY_CARDINALITY(virQEMUCapsObjectPropsVirtioGpu), + { "virtio-gpu-ccw", virQEMUCapsDevicePropsVirtioGpu, + ARRAY_CARDINALITY(virQEMUCapsDevicePropsVirtioGpu), QEMU_CAPS_DEVICE_VIRTIO_GPU_CCW }, }; @@ -2069,7 +2069,7 @@ virQEMUCapsProbeQMPEvents(virQEMUCapsPtr qemuCaps, static int -virQEMUCapsProbeQMPObjects(virQEMUCapsPtr qemuCaps, +virQEMUCapsProbeQMPDevices(virQEMUCapsPtr qemuCaps, qemuMonitorPtr mon) { int nvalues; @@ -2084,20 +2084,20 @@ virQEMUCapsProbeQMPObjects(virQEMUCapsPtr qemuCaps, nvalues, values); virStringListFreeCount(values, nvalues); - for (i = 0; i < ARRAY_CARDINALITY(virQEMUCapsObjectProps); i++) { - const char *type = virQEMUCapsObjectProps[i].type; - int cap = virQEMUCapsObjectProps[i].capsCondition; + for (i = 0; i < ARRAY_CARDINALITY(virQEMUCapsDeviceProps); i++) { + const char *device = virQEMUCapsDeviceProps[i].type; + int cap = virQEMUCapsDeviceProps[i].capsCondition; if (cap >= 0 && !virQEMUCapsGet(qemuCaps, cap)) continue; if ((nvalues = qemuMonitorGetDeviceProps(mon, - type, + device, &values)) < 0) return -1; virQEMUCapsProcessStringFlags(qemuCaps, - virQEMUCapsObjectProps[i].nprops, - virQEMUCapsObjectProps[i].props, + virQEMUCapsDeviceProps[i].nprops, + virQEMUCapsDeviceProps[i].props, nvalues, values); virStringListFreeCount(values, nvalues); } @@ -3874,7 +3874,7 @@ virQEMUCapsInitQMPMonitor(virQEMUCapsPtr qemuCaps, if (virQEMUCapsProbeQMPEvents(qemuCaps, mon) < 0) goto cleanup; - if (virQEMUCapsProbeQMPObjects(qemuCaps, mon) < 0) + if (virQEMUCapsProbeQMPDevices(qemuCaps, mon) < 0) goto cleanup; if (virQEMUCapsProbeQMPMachineTypes(qemuCaps, mon) < 0) goto cleanup; -- 2.16.1

The code is written generic enough to be reused. Move it into a separate function. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/qemu/qemu_capabilities.c | 62 ++++++++++++++++++++++++++++++-------------- 1 file changed, 42 insertions(+), 20 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 1d2110eef3..2d36aeaa54 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -1250,14 +1250,19 @@ static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] = { { "blockdev-add/arg-type/+qcow2/encrypt/+luks/key-secret", QEMU_CAPS_QCOW2_LUKS }, }; -struct virQEMUCapsObjectTypeProps { +typedef struct _virQEMUCapsObjectTypeProps virQEMUCapsObjectTypeProps; +struct _virQEMUCapsObjectTypeProps { const char *type; struct virQEMUCapsStringFlags *props; size_t nprops; int capsCondition; }; -static struct virQEMUCapsObjectTypeProps virQEMUCapsDeviceProps[] = { +typedef int (*virQEMUCapsObjectTypePropsCB)(qemuMonitorPtr mon, + const char *type, + char ***props); + +static virQEMUCapsObjectTypeProps virQEMUCapsDeviceProps[] = { { "virtio-blk-pci", virQEMUCapsDevicePropsVirtioBlk, ARRAY_CARDINALITY(virQEMUCapsDevicePropsVirtioBlk), -1 }, @@ -2067,6 +2072,35 @@ virQEMUCapsProbeQMPEvents(virQEMUCapsPtr qemuCaps, return 0; } +static int +virQEMUCapsProbeQMPGenericProps(virQEMUCapsPtr qemuCaps, + qemuMonitorPtr mon, + virQEMUCapsObjectTypeProps *props, + size_t nprops, + virQEMUCapsObjectTypePropsCB propsGetCB) +{ + int nvalues; + char **values; + size_t i; + + for (i = 0; i < nprops; i++) { + const char *type = props[i].type; + int cap = props[i].capsCondition; + + if (cap >= 0 && !virQEMUCapsGet(qemuCaps, cap)) + continue; + + if ((nvalues = propsGetCB(mon, type, &values)) < 0) + return -1; + virQEMUCapsProcessStringFlags(qemuCaps, + props[i].nprops, + props[i].props, + nvalues, values); + virStringListFreeCount(values, nvalues); + } + + return 0; +} static int virQEMUCapsProbeQMPDevices(virQEMUCapsPtr qemuCaps, @@ -2074,7 +2108,6 @@ virQEMUCapsProbeQMPDevices(virQEMUCapsPtr qemuCaps, { int nvalues; char **values; - size_t i; if ((nvalues = qemuMonitorGetObjectTypes(mon, &values)) < 0) return -1; @@ -2084,23 +2117,12 @@ virQEMUCapsProbeQMPDevices(virQEMUCapsPtr qemuCaps, nvalues, values); virStringListFreeCount(values, nvalues); - for (i = 0; i < ARRAY_CARDINALITY(virQEMUCapsDeviceProps); i++) { - const char *device = virQEMUCapsDeviceProps[i].type; - int cap = virQEMUCapsDeviceProps[i].capsCondition; - - if (cap >= 0 && !virQEMUCapsGet(qemuCaps, cap)) - continue; - - if ((nvalues = qemuMonitorGetDeviceProps(mon, - device, - &values)) < 0) - return -1; - virQEMUCapsProcessStringFlags(qemuCaps, - virQEMUCapsDeviceProps[i].nprops, - virQEMUCapsDeviceProps[i].props, - nvalues, values); - virStringListFreeCount(values, nvalues); - } + if (virQEMUCapsProbeQMPGenericProps(qemuCaps, + mon, + virQEMUCapsDeviceProps, + ARRAY_CARDINALITY(virQEMUCapsDeviceProps), + qemuMonitorGetDeviceProps) < 0) + return -1; /* Prefer -chardev spicevmc (detected earlier) over -device spicevmc */ if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_CHARDEV_SPICEVMC)) -- 2.16.1

Now that we've gotten rid of misleading names we can introduce qemuMonitorGetObjectProps() function which queries -object properties. Again, some parts of code can be reused. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/qemu/qemu_monitor.c | 13 ++++++++++ src/qemu/qemu_monitor.h | 3 +++ src/qemu/qemu_monitor_json.c | 62 ++++++++++++++++++++++++++++++++++---------- src/qemu/qemu_monitor_json.h | 4 +++ 4 files changed, 68 insertions(+), 14 deletions(-) diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index 8a4350f6b2..278c2ec517 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -3954,6 +3954,19 @@ qemuMonitorGetDeviceProps(qemuMonitorPtr mon, } +int +qemuMonitorGetObjectProps(qemuMonitorPtr mon, + const char *object, + char ***props) +{ + VIR_DEBUG("object=%s props=%p", object, props); + + QEMU_CHECK_MONITOR_JSON(mon); + + return qemuMonitorJSONGetObjectProps(mon, object, props); +} + + char * qemuMonitorGetTargetArch(qemuMonitorPtr mon) { diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index b797ea800e..94620b2b76 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -1097,6 +1097,9 @@ int qemuMonitorGetObjectTypes(qemuMonitorPtr mon, int qemuMonitorGetDeviceProps(qemuMonitorPtr mon, const char *device, char ***props); +int qemuMonitorGetObjectProps(qemuMonitorPtr mon, + const char *object, + char ***props); char *qemuMonitorGetTargetArch(qemuMonitorPtr mon); int qemuMonitorNBDServerStart(qemuMonitorPtr mon, diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index a90762a4ff..31992c5bee 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -6033,29 +6033,23 @@ int qemuMonitorJSONSetObjectProperty(qemuMonitorPtr mon, #undef MAKE_SET_CMD -int qemuMonitorJSONGetDeviceProps(qemuMonitorPtr mon, - const char *device, - char ***props) +static int +qemuMonitorJSONParsePropsList(qemuMonitorPtr mon, + virJSONValuePtr cmd, + char ***props) { - int ret = -1; - virJSONValuePtr cmd; virJSONValuePtr reply = NULL; virJSONValuePtr data; char **proplist = NULL; ssize_t n = 0; size_t i; - - *props = NULL; - - if (!(cmd = qemuMonitorJSONMakeCommand("device-list-properties", - "s:typename", device, - NULL))) - return -1; + int ret = -1; if (qemuMonitorJSONCommand(mon, cmd, &reply) < 0) goto cleanup; - if (qemuMonitorJSONHasError(reply, "DeviceNotFound")) { + if (qemuMonitorJSONHasError(reply, "DeviceNotFound") || + qemuMonitorJSONHasError(reply, "CommandNotFound")) { ret = 0; goto cleanup; } @@ -6090,12 +6084,52 @@ int qemuMonitorJSONGetDeviceProps(qemuMonitorPtr mon, cleanup: virStringListFree(proplist); - virJSONValueFree(cmd); virJSONValueFree(reply); return ret; } +int qemuMonitorJSONGetDeviceProps(qemuMonitorPtr mon, + const char *device, + char ***props) +{ + int ret = -1; + virJSONValuePtr cmd; + + *props = NULL; + + if (!(cmd = qemuMonitorJSONMakeCommand("device-list-properties", + "s:typename", device, + NULL))) + return -1; + + ret = qemuMonitorJSONParsePropsList(mon, cmd, props); + virJSONValueFree(cmd); + return ret; +} + + +int +qemuMonitorJSONGetObjectProps(qemuMonitorPtr mon, + const char *object, + char ***props) +{ + int ret = -1; + virJSONValuePtr cmd; + + *props = NULL; + + if (!(cmd = qemuMonitorJSONMakeCommand("qom-list-properties", + "s:typename", object, + NULL))) + return -1; + + ret = qemuMonitorJSONParsePropsList(mon, cmd, props); + virJSONValueFree(cmd); + return ret; +} + + char * qemuMonitorJSONGetTargetArch(qemuMonitorPtr mon) { diff --git a/src/qemu/qemu_monitor_json.h b/src/qemu/qemu_monitor_json.h index df91b0b5dc..e2826ae4c6 100644 --- a/src/qemu/qemu_monitor_json.h +++ b/src/qemu/qemu_monitor_json.h @@ -445,6 +445,10 @@ int qemuMonitorJSONGetDeviceProps(qemuMonitorPtr mon, const char *device, char ***props) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3); +int qemuMonitorJSONGetObjectProps(qemuMonitorPtr mon, + const char *object, + char ***props) + ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3); char *qemuMonitorJSONGetTargetArch(qemuMonitorPtr mon); int qemuMonitorJSONNBDServerStart(qemuMonitorPtr mon, -- 2.16.1

This capability tracks if memory-backend-file has discard-data attribute or not. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/qemu/qemu_capabilities.c | 17 +++++++++++++++++ src/qemu/qemu_capabilities.h | 1 + 2 files changed, 18 insertions(+) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 2d36aeaa54..8117252789 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -468,6 +468,7 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST, "virtio-tablet-ccw", "qcow2-luks", "pcie-pci-bridge", + "memory-backend-file.discard-data", ); @@ -1367,6 +1368,15 @@ static virQEMUCapsObjectTypeProps virQEMUCapsDeviceProps[] = { QEMU_CAPS_DEVICE_VIRTIO_GPU_CCW }, }; +static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsMemoryBackendFile[] = { + { "discard-data", QEMU_CAPS_OBJECT_MEMORY_FILE_DISCARD }, +}; + +static virQEMUCapsObjectTypeProps virQEMUCapsObjectProps[] = { + { "memory-backend-file", virQEMUCapsObjectPropsMemoryBackendFile, + ARRAY_CARDINALITY(virQEMUCapsObjectPropsMemoryBackendFile), + QEMU_CAPS_OBJECT_MEMORY_FILE }, +}; static void virQEMUCapsProcessStringFlags(virQEMUCapsPtr qemuCaps, @@ -2128,6 +2138,13 @@ virQEMUCapsProbeQMPDevices(virQEMUCapsPtr qemuCaps, if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_CHARDEV_SPICEVMC)) virQEMUCapsClear(qemuCaps, QEMU_CAPS_DEVICE_SPICEVMC); + if (virQEMUCapsProbeQMPGenericProps(qemuCaps, + mon, + virQEMUCapsObjectProps, + ARRAY_CARDINALITY(virQEMUCapsObjectProps), + qemuMonitorGetObjectProps) < 0) + return -1; + return 0; } diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 3a8ffcd0e7..189ed45de3 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -452,6 +452,7 @@ typedef enum { QEMU_CAPS_DEVICE_VIRTIO_TABLET_CCW, /* -device virtio-tablet-ccw */ QEMU_CAPS_QCOW2_LUKS, /* qcow2 format support LUKS encryption */ QEMU_CAPS_DEVICE_PCIE_PCI_BRIDGE, /* -device pcie-pci-bridge */ + QEMU_CAPS_OBJECT_MEMORY_FILE_DISCARD, /* -object memory-backend-dile,discard-data= */ QEMU_CAPS_LAST /* this must always be the last item */ } virQEMUCapsFlags; -- 2.16.1

On Thu, Apr 12, 2018 at 18:39:50 +0200, Michal Privoznik wrote:
This capability tracks if memory-backend-file has discard-data attribute or not.
Neither this nor the next commit mention that they need to be squashed together. Since tests are broken otherwise, you really need to do that.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- .../qemucapabilitiesdata/caps_2.1.1.x86_64.replies | 20 +- tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml | 2 +- .../caps_2.10.0.aarch64.replies | 30 +- tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml | 2 +- .../qemucapabilitiesdata/caps_2.10.0.ppc64.replies | 28 +- tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml | 2 +- .../qemucapabilitiesdata/caps_2.10.0.s390x.replies | 32 +- tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml | 2 +- .../caps_2.10.0.x86_64.replies | 540 +++++++++--------- tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml | 2 +- .../qemucapabilitiesdata/caps_2.11.0.s390x.replies | 26 +- tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml | 2 +- .../caps_2.12.0.aarch64.replies | 24 +- tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml | 2 +- .../qemucapabilitiesdata/caps_2.12.0.ppc64.replies | 22 +- tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml | 2 +- .../qemucapabilitiesdata/caps_2.12.0.s390x.replies | 24 +- .../caps_2.12.0.x86_64.replies | 612 +++++++++++---------- tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml | 3 +- .../qemucapabilitiesdata/caps_2.4.0.x86_64.replies | 20 +- tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml | 2 +- .../qemucapabilitiesdata/caps_2.5.0.x86_64.replies | 22 +- tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml | 2 +- .../caps_2.6.0.aarch64.replies | 30 +- tests/qemucapabilitiesdata/caps_2.6.0.aarch64.xml | 2 +- .../qemucapabilitiesdata/caps_2.6.0.ppc64.replies | 28 +- tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml | 2 +- .../qemucapabilitiesdata/caps_2.6.0.x86_64.replies | 22 +- tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml | 2 +- .../qemucapabilitiesdata/caps_2.7.0.s390x.replies | 28 +- tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml | 2 +- .../qemucapabilitiesdata/caps_2.7.0.x86_64.replies | 22 +- tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml | 2 +- .../qemucapabilitiesdata/caps_2.8.0.s390x.replies | 32 +- tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml | 2 +- .../qemucapabilitiesdata/caps_2.8.0.x86_64.replies | 22 +- tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml | 2 +- .../qemucapabilitiesdata/caps_2.9.0.ppc64.replies | 28 +- tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml | 2 +- .../qemucapabilitiesdata/caps_2.9.0.s390x.replies | 32 +- tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml | 2 +- .../qemucapabilitiesdata/caps_2.9.0.x86_64.replies | 536 +++++++++--------- tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml | 2 +- 43 files changed, 1223 insertions(+), 1000 deletions(-) diff --git a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.replies b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.replies index 543bce9def..eeb5dd2582 100644 --- a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.replies @@ -2523,6 +2523,14 @@ "id": "libvirt-36" } +{ + "id": "libvirt-37", + "error": { + "class": "CommandNotFound", + "desc": "The command qom-list-properties has not been found" + } +} + { "return": [ { @@ -2625,7 +2633,7 @@ "cpu-max": 255 } ], - "id": "libvirt-37" + "id": "libvirt-38" } { @@ -2706,21 +2714,21 @@ "name": "qemu64" } ], - "id": "libvirt-38" + "id": "libvirt-39" } { "return": [ "tpm-tis" ], - "id": "libvirt-39" + "id": "libvirt-40" } { "return": [ "passthrough" ], - "id": "libvirt-40" + "id": "libvirt-41" } { @@ -3580,7 +3588,7 @@ "option": "drive" } ], - "id": "libvirt-41" + "id": "libvirt-42" } { @@ -3602,7 +3610,7 @@ "capability": "zero-blocks" } ], - "id": "libvirt-42" + "id": "libvirt-43" } { diff --git a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml index ca98ee14db..bc82624335 100644 --- a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml @@ -160,7 +160,7 @@ <flag name='isa-serial'/> <version>2001001</version> <kvmVersion>0</kvmVersion> - <microcodeVersion>58992</microcodeVersion> + <microcodeVersion>59147</microcodeVersion> <package></package> <arch>x86_64</arch> <cpu type='kvm' name='Opteron_G5'/> diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.aarch64.replies b/tests/qemucapabilitiesdata/caps_2.10.0.aarch64.replies index 11171d5b3f..8fc07248c3 100644 --- a/tests/qemucapabilitiesdata/caps_2.10.0.aarch64.replies +++ b/tests/qemucapabilitiesdata/caps_2.10.0.aarch64.replies @@ -4948,6 +4948,14 @@ "id": "libvirt-35" } +{ + "id": "libvirt-36", + "error": { + "class": "CommandNotFound", + "desc": "The command qom-list-properties has not been found" + } +} + { "return": [ { @@ -5212,7 +5220,7 @@ "cpu-max": 1 } ], - "id": "libvirt-36" + "id": "libvirt-37" } { @@ -5378,12 +5386,6 @@ "static": false } ], - "id": "libvirt-37" -} - -{ - "return": [ - ], "id": "libvirt-38" } @@ -5393,6 +5395,12 @@ "id": "libvirt-39" } +{ + "return": [ + ], + "id": "libvirt-40" +} + { "return": [ { @@ -6535,7 +6543,7 @@ "option": "drive" } ], - "id": "libvirt-40" + "id": "libvirt-41" } { @@ -6585,7 +6593,7 @@ "capability": "return-path" } ], - "id": "libvirt-41" + "id": "libvirt-42" } { @@ -16308,7 +16316,7 @@ "meta-type": "object" } ], - "id": "libvirt-42" + "id": "libvirt-43" } { @@ -16324,7 +16332,7 @@ "kernel": true } ], - "id": "libvirt-43" + "id": "libvirt-44" } { diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml index 1b3080a788..2d28d89cb5 100644 --- a/tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml @@ -183,7 +183,7 @@ <flag name='qcow2-luks'/> <version>2010000</version> <kvmVersion>0</kvmVersion> - <microcodeVersion>303541</microcodeVersion> + <microcodeVersion>303696</microcodeVersion> <package> (v2.10.0)</package> <arch>aarch64</arch> <cpu type='kvm' name='pxa262'/> diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.replies b/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.replies index 980f8ecc11..72dbc07c0e 100644 --- a/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.replies +++ b/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.replies @@ -5135,6 +5135,14 @@ "id": "libvirt-36" } +{ + "id": "libvirt-37", + "error": { + "class": "CommandNotFound", + "desc": "The command qom-list-properties has not been found" + } +} + { "return": [ { @@ -5250,7 +5258,7 @@ "cpu-max": 1 } ], - "id": "libvirt-37" + "id": "libvirt-38" } { @@ -7426,12 +7434,6 @@ "static": false } ], - "id": "libvirt-38" -} - -{ - "return": [ - ], "id": "libvirt-39" } @@ -7441,6 +7443,12 @@ "id": "libvirt-40" } +{ + "return": [ + ], + "id": "libvirt-41" +} + { "return": [ { @@ -8578,7 +8586,7 @@ "option": "drive" } ], - "id": "libvirt-41" + "id": "libvirt-42" } { @@ -8628,7 +8636,7 @@ "capability": "return-path" } ], - "id": "libvirt-42" + "id": "libvirt-43" } { @@ -18351,7 +18359,7 @@ "meta-type": "object" } ], - "id": "libvirt-43" + "id": "libvirt-44" } { diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml index 3f518f9207..60df4c97e3 100644 --- a/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml @@ -182,7 +182,7 @@ <flag name='qcow2-luks'/> <version>2010000</version> <kvmVersion>0</kvmVersion> - <microcodeVersion>382824</microcodeVersion> + <microcodeVersion>382979</microcodeVersion> <package> (v2.10.0)</package> <arch>ppc64</arch> <cpu type='kvm' name='default'/> diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.s390x.replies b/tests/qemucapabilitiesdata/caps_2.10.0.s390x.replies index 534756f0b3..4e43cc44c6 100644 --- a/tests/qemucapabilitiesdata/caps_2.10.0.s390x.replies +++ b/tests/qemucapabilitiesdata/caps_2.10.0.s390x.replies @@ -3402,6 +3402,14 @@ "id": "libvirt-33" } +{ + "id": "libvirt-34", + "error": { + "class": "CommandNotFound", + "desc": "The command qom-list-properties has not been found" + } +} + { "return": [ { @@ -3447,7 +3455,7 @@ "cpu-max": 248 } ], - "id": "libvirt-34" + "id": "libvirt-35" } { @@ -3981,12 +3989,6 @@ "migration-safe": true } ], - "id": "libvirt-35" -} - -{ - "return": [ - ], "id": "libvirt-36" } @@ -3996,6 +3998,12 @@ "id": "libvirt-37" } +{ + "return": [ + ], + "id": "libvirt-38" +} + { "return": [ { @@ -5098,7 +5106,7 @@ "option": "drive" } ], - "id": "libvirt-38" + "id": "libvirt-39" } { @@ -5148,7 +5156,7 @@ "capability": "return-path" } ], - "id": "libvirt-39" + "id": "libvirt-40" } { @@ -14871,7 +14879,7 @@ "meta-type": "object" } ], - "id": "libvirt-40" + "id": "libvirt-41" } { @@ -14911,11 +14919,11 @@ } } }, - "id": "libvirt-41" + "id": "libvirt-42" } { - "id": "libvirt-42", + "id": "libvirt-43", "error": { "class": "GenericError", "desc": "Property '.migratable' not found" diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml index b1b6d66c67..b5a0701c47 100644 --- a/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml @@ -143,7 +143,7 @@ <flag name='qcow2-luks'/> <version>2010000</version> <kvmVersion>0</kvmVersion> - <microcodeVersion>303326</microcodeVersion> + <microcodeVersion>303481</microcodeVersion> <package></package> <arch>s390x</arch> <hostCPU type='kvm' model='z14-base' migratability='no'> diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.replies index 6c6ecc2687..8606336fe2 100644 --- a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.replies @@ -4471,6 +4471,14 @@ "id": "libvirt-39" } +{ + "id": "libvirt-40", + "error": { + "class": "CommandNotFound", + "desc": "The command qom-list-properties has not been found" + } +} + { "return": [ { @@ -4657,7 +4665,7 @@ "alias": "q35" } ], - "id": "libvirt-40" + "id": "libvirt-41" } { @@ -4992,21 +5000,21 @@ "migration-safe": true } ], - "id": "libvirt-41" + "id": "libvirt-42" } { "return": [ "tpm-tis" ], - "id": "libvirt-42" + "id": "libvirt-43" } { "return": [ "passthrough" ], - "id": "libvirt-43" + "id": "libvirt-44" } { @@ -6285,7 +6293,7 @@ "option": "drive" } ], - "id": "libvirt-44" + "id": "libvirt-45" } { @@ -6335,7 +6343,7 @@ "capability": "return-path" } ], - "id": "libvirt-45" + "id": "libvirt-46" } { @@ -16058,185 +16066,6 @@ "meta-type": "object" } ], - "id": "libvirt-46" -} - -{ - "return": { - "model": { - "name": "base", - "props": { - "cmov": true, - "ia64": false, - "aes": true, - "mmx": true, - "rdpid": false, - "arat": true, - "pause-filter": false, - "xsavec": false, - "osxsave": false, - "kvm-asyncpf": true, - "perfctr-core": false, - "mpx": false, - "pbe": false, - "avx512cd": false, - "decodeassists": false, - "sse4.1": true, - "family": 6, - "avx512f": false, - "msr": true, - "mce": true, - "mca": true, - "xcrypt": false, - "min-level": 13, - "xgetbv1": false, - "cid": false, - "ds": false, - "fxsr": true, - "xsaveopt": true, - "xtpr": false, - "avx512vl": false, - "avx512-vpopcntdq": false, - "phe": false, - "extapic": false, - "3dnowprefetch": false, - "cr8legacy": false, - "xcrypt-en": false, - "pn": false, - "dca": false, - "vendor": "GenuineIntel", - "pku": false, - "smx": false, - "cmp-legacy": false, - "avx512-4fmaps": false, - "vmcb-clean": false, - "hle": false, - "3dnowext": false, - "npt": false, - "clwb": false, - "lbrv": false, - "adx": false, - "ss": true, - "pni": true, - "svm-lock": false, - "smep": true, - "smap": false, - "pfthreshold": false, - "x2apic": true, - "avx512vbmi": false, - "flushbyasid": false, - "f16c": true, - "ace2-en": false, - "pae": true, - "pat": true, - "sse": true, - "phe-en": false, - "kvm-nopiodelay": true, - "tm": false, - "kvmclock-stable-bit": true, - "hypervisor": true, - "pcommit": false, - "syscall": true, - "avx512dq": false, - "svm": false, - "invtsc": false, - "sse2": true, - "est": false, - "avx512ifma": false, - "tm2": false, - "kvm-pv-eoi": true, - "cx8": true, - "kvm-mmu": false, - "sse4.2": true, - "pge": true, - "pdcm": false, - "model": 60, - "movbe": true, - "nrip-save": false, - "ssse3": true, - "sse4a": false, - "invpcid": true, - "pdpe1gb": true, - "tsc-deadline": true, - "fma": true, - "cx16": true, - "de": true, - "stepping": 3, - "xsave": true, - "clflush": true, - "skinit": false, - "tsc": true, - "tce": false, - "fpu": true, - "ds-cpl": false, - "ibs": false, - "fma4": false, - "la57": false, - "osvw": false, - "apic": true, - "pmm": false, - "tsc-adjust": true, - "kvm-steal-time": true, - "kvmclock": true, - "lwp": false, - "xop": false, - "avx": true, - "ospke": false, - "acpi": false, - "avx512bw": false, - "ace2": false, - "fsgsbase": true, - "ht": false, - "nx": true, - "pclmulqdq": true, - "mmxext": false, - "popcnt": true, - "xsaves": false, - "lm": true, - "umip": false, - "pse": true, - "avx2": true, - "sep": true, - "nodeid-msr": false, - "misalignsse": false, - "min-xlevel": 2147483656, - "bmi1": true, - "bmi2": true, - "kvm-pv-unhalt": true, - "tsc-scale": false, - "topoext": false, - "clflushopt": false, - "monitor": false, - "avx512er": false, - "pmm-en": false, - "pcid": true, - "3dnow": false, - "erms": true, - "lahf-lm": true, - "fxsr-opt": false, - "xstore": false, - "rtm": false, - "lmce": true, - "perfctr-nb": false, - "rdrand": true, - "rdseed": false, - "avx512-4vnniw": false, - "vme": true, - "vmx": true, - "dtes64": false, - "mtrr": true, - "rdtscp": true, - "pse36": true, - "tbm": false, - "wdt": false, - "model-id": "Intel(R) Core(TM) i7-4810MQ CPU @ 2.80GHz", - "sha-ni": false, - "abm": true, - "avx512pf": false, - "xstore-en": false - } - } - }, "id": "libvirt-47" } @@ -16245,111 +16074,80 @@ "model": { "name": "base", "props": { - "phys-bits": 0, - "core-id": -1, - "xlevel": 2147483656, "cmov": true, "ia64": false, "aes": true, "mmx": true, - "arat": true, "rdpid": false, + "arat": true, "pause-filter": false, "xsavec": false, "osxsave": false, - "tsc-frequency": 0, - "xd": true, - "hv-vendor-id": "", "kvm-asyncpf": true, - "kvm_asyncpf": true, - "perfctr_core": false, "perfctr-core": false, "mpx": false, + "pbe": false, "avx512cd": false, "decodeassists": false, - "pbe": false, - "sse4_1": true, "sse4.1": true, - "sse4-1": true, "family": 6, - "vmware-cpuid-freq": true, "avx512f": false, - "xcrypt": false, - "hv-runtime": false, "msr": true, "mce": true, "mca": true, - "thread-id": -1, + "xcrypt": false, "min-level": 13, "xgetbv1": false, "cid": false, - "hv-relaxed": false, - "fxsr": true, "ds": false, - "hv-crash": false, + "fxsr": true, "xsaveopt": true, "xtpr": false, + "avx512vl": false, "avx512-vpopcntdq": false, "phe": false, - "avx512vl": false, "extapic": false, "3dnowprefetch": false, "cr8legacy": false, - "cpuid-0xb": true, "xcrypt-en": false, - "kvm_pv_eoi": true, - "apic-id": 4294967295, "pn": false, "dca": false, "vendor": "GenuineIntel", "pku": false, "smx": false, "cmp-legacy": false, - "cmp_legacy": false, - "node-id": -1, "avx512-4fmaps": false, "vmcb-clean": false, - "vmcb_clean": false, - "3dnowext": false, "hle": false, + "3dnowext": false, "npt": false, - "memory": "/machine/unattached/system[0]", "clwb": false, "lbrv": false, "adx": false, "ss": true, "pni": true, - "svm_lock": false, "svm-lock": false, "smep": true, - "pfthreshold": false, "smap": false, + "pfthreshold": false, "x2apic": true, "avx512vbmi": false, - "hv-stimer": false, - "i64": true, "flushbyasid": false, "f16c": true, "ace2-en": false, - "pat": true, "pae": true, + "pat": true, "sse": true, "phe-en": false, "kvm-nopiodelay": true, - "kvm_nopiodelay": true, "tm": false, "kvmclock-stable-bit": true, "hypervisor": true, - "socket-id": -1, "pcommit": false, "syscall": true, - "level": 13, "avx512dq": false, "svm": false, - "full-cpuid-auto-level": true, - "hv-reset": false, "invtsc": false, - "sse3": true, "sse2": true, "est": false, "avx512ifma": false, @@ -16357,62 +16155,44 @@ "kvm-pv-eoi": true, "cx8": true, "kvm-mmu": false, - "kvm_mmu": false, - "sse4_2": true, "sse4.2": true, - "sse4-2": true, "pge": true, - "fill-mtrr-mask": true, "pdcm": false, - "nodeid_msr": false, "model": 60, "movbe": true, "nrip-save": false, - "nrip_save": false, - "sse4a": false, "ssse3": true, - "kvm_pv_unhalt": true, + "sse4a": false, "invpcid": true, "pdpe1gb": true, "tsc-deadline": true, "fma": true, "cx16": true, "de": true, - "enforce": false, "stepping": 3, "xsave": true, "clflush": true, "skinit": false, - "tce": false, "tsc": true, + "tce": false, "fpu": true, "ds-cpl": false, - "ds_cpl": false, "ibs": false, - "host-phys-bits": false, "fma4": false, "la57": false, "osvw": false, - "check": true, - "hv-spinlocks": -1, - "pmm": false, "apic": true, - "pmu": false, - "min-xlevel2": 0, + "pmm": false, "tsc-adjust": true, - "tsc_adjust": true, "kvm-steal-time": true, - "kvm_steal_time": true, "kvmclock": true, - "l3-cache": true, "lwp": false, "xop": false, "avx": true, "ospke": false, - "ace2": false, "acpi": false, "avx512bw": false, - "hv-vapic": false, + "ace2": false, "fsgsbase": true, "ht": false, "nx": true, @@ -16420,28 +16200,20 @@ "mmxext": false, "popcnt": true, "xsaves": false, - "tcg-cpuid": true, "lm": true, "umip": false, - "avx2": true, "pse": true, + "avx2": true, "sep": true, - "pclmuldq": true, "nodeid-msr": false, - "kvm": true, "misalignsse": false, "min-xlevel": 2147483656, - "bmi2": true, "bmi1": true, + "bmi2": true, "kvm-pv-unhalt": true, - "realized": false, - "tsc_scale": false, "tsc-scale": false, "topoext": false, - "hv-vpindex": false, - "xlevel2": 0, "clflushopt": false, - "kvm-no-smi-migration": false, "monitor": false, "avx512er": false, "pmm-en": false, @@ -16449,17 +16221,11 @@ "3dnow": false, "erms": true, "lahf-lm": true, - "lahf_lm": true, - "xstore": false, - "hv-synic": false, "fxsr-opt": false, - "fxsr_opt": false, + "xstore": false, "rtm": false, "lmce": true, - "hv-time": false, "perfctr-nb": false, - "perfctr_nb": false, - "ffxsr": false, "rdrand": true, "rdseed": false, "avx512-4vnniw": false, @@ -16471,7 +16237,6 @@ "pse36": true, "tbm": false, "wdt": false, - "pause_filter": false, "model-id": "Intel(R) Core(TM) i7-4810MQ CPU @ 2.80GHz", "sha-ni": false, "abm": true, @@ -16483,6 +16248,249 @@ "id": "libvirt-48" } +{ + "return": { + "model": { + "name": "base", + "props": { + "phys-bits": 0, + "core-id": -1, + "xlevel": 2147483656, + "cmov": true, + "ia64": false, + "aes": true, + "mmx": true, + "arat": true, + "rdpid": false, + "pause-filter": false, + "xsavec": false, + "osxsave": false, + "tsc-frequency": 0, + "xd": true, + "hv-vendor-id": "", + "kvm-asyncpf": true, + "kvm_asyncpf": true, + "perfctr_core": false, + "perfctr-core": false, + "mpx": false, + "avx512cd": false, + "decodeassists": false, + "pbe": false, + "sse4_1": true, + "sse4.1": true, + "sse4-1": true, + "family": 6, + "vmware-cpuid-freq": true, + "avx512f": false, + "xcrypt": false, + "hv-runtime": false, + "msr": true, + "mce": true, + "mca": true, + "thread-id": -1, + "min-level": 13, + "xgetbv1": false, + "cid": false, + "hv-relaxed": false, + "fxsr": true, + "ds": false, + "hv-crash": false, + "xsaveopt": true, + "xtpr": false, + "avx512-vpopcntdq": false, + "phe": false, + "avx512vl": false, + "extapic": false, + "3dnowprefetch": false, + "cr8legacy": false, + "cpuid-0xb": true, + "xcrypt-en": false, + "kvm_pv_eoi": true, + "apic-id": 4294967295, + "pn": false, + "dca": false, + "vendor": "GenuineIntel", + "pku": false, + "smx": false, + "cmp-legacy": false, + "cmp_legacy": false, + "node-id": -1, + "avx512-4fmaps": false, + "vmcb-clean": false, + "vmcb_clean": false, + "3dnowext": false, + "hle": false, + "npt": false, + "memory": "/machine/unattached/system[0]", + "clwb": false, + "lbrv": false, + "adx": false, + "ss": true, + "pni": true, + "svm_lock": false, + "svm-lock": false, + "smep": true, + "pfthreshold": false, + "smap": false, + "x2apic": true, + "avx512vbmi": false, + "hv-stimer": false, + "i64": true, + "flushbyasid": false, + "f16c": true, + "ace2-en": false, + "pat": true, + "pae": true, + "sse": true, + "phe-en": false, + "kvm-nopiodelay": true, + "kvm_nopiodelay": true, + "tm": false, + "kvmclock-stable-bit": true, + "hypervisor": true, + "socket-id": -1, + "pcommit": false, + "syscall": true, + "level": 13, + "avx512dq": false, + "svm": false, + "full-cpuid-auto-level": true, + "hv-reset": false, + "invtsc": false, + "sse3": true, + "sse2": true, + "est": false, + "avx512ifma": false, + "tm2": false, + "kvm-pv-eoi": true, + "cx8": true, + "kvm-mmu": false, + "kvm_mmu": false, + "sse4_2": true, + "sse4.2": true, + "sse4-2": true, + "pge": true, + "fill-mtrr-mask": true, + "pdcm": false, + "nodeid_msr": false, + "model": 60, + "movbe": true, + "nrip-save": false, + "nrip_save": false, + "sse4a": false, + "ssse3": true, + "kvm_pv_unhalt": true, + "invpcid": true, + "pdpe1gb": true, + "tsc-deadline": true, + "fma": true, + "cx16": true, + "de": true, + "enforce": false, + "stepping": 3, + "xsave": true, + "clflush": true, + "skinit": false, + "tce": false, + "tsc": true, + "fpu": true, + "ds-cpl": false, + "ds_cpl": false, + "ibs": false, + "host-phys-bits": false, + "fma4": false, + "la57": false, + "osvw": false, + "check": true, + "hv-spinlocks": -1, + "pmm": false, + "apic": true, + "pmu": false, + "min-xlevel2": 0, + "tsc-adjust": true, + "tsc_adjust": true, + "kvm-steal-time": true, + "kvm_steal_time": true, + "kvmclock": true, + "l3-cache": true, + "lwp": false, + "xop": false, + "avx": true, + "ospke": false, + "ace2": false, + "acpi": false, + "avx512bw": false, + "hv-vapic": false, + "fsgsbase": true, + "ht": false, + "nx": true, + "pclmulqdq": true, + "mmxext": false, + "popcnt": true, + "xsaves": false, + "tcg-cpuid": true, + "lm": true, + "umip": false, + "avx2": true, + "pse": true, + "sep": true, + "pclmuldq": true, + "nodeid-msr": false, + "kvm": true, + "misalignsse": false, + "min-xlevel": 2147483656, + "bmi2": true, + "bmi1": true, + "kvm-pv-unhalt": true, + "realized": false, + "tsc_scale": false, + "tsc-scale": false, + "topoext": false, + "hv-vpindex": false, + "xlevel2": 0, + "clflushopt": false, + "kvm-no-smi-migration": false, + "monitor": false, + "avx512er": false, + "pmm-en": false, + "pcid": true, + "3dnow": false, + "erms": true, + "lahf-lm": true, + "lahf_lm": true, + "xstore": false, + "hv-synic": false, + "fxsr-opt": false, + "fxsr_opt": false, + "rtm": false, + "lmce": true, + "hv-time": false, + "perfctr-nb": false, + "perfctr_nb": false, + "ffxsr": false, + "rdrand": true, + "rdseed": false, + "avx512-4vnniw": false, + "vme": true, + "vmx": true, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "pse36": true, + "tbm": false, + "wdt": false, + "pause_filter": false, + "model-id": "Intel(R) Core(TM) i7-4810MQ CPU @ 2.80GHz", + "sha-ni": false, + "abm": true, + "avx512pf": false, + "xstore-en": false + } + } + }, + "id": "libvirt-49" +} + { "return": { "model": { @@ -16659,7 +16667,7 @@ } } }, - "id": "libvirt-49" + "id": "libvirt-50" } { @@ -16902,7 +16910,7 @@ } } }, - "id": "libvirt-50" + "id": "libvirt-51" } { diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml index cad21498e1..6ec971a33a 100644 --- a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml @@ -226,7 +226,7 @@ <flag name='qcow2-luks'/> <version>2010000</version> <kvmVersion>0</kvmVersion> - <microcodeVersion>344938</microcodeVersion> + <microcodeVersion>345093</microcodeVersion> <package> (v2.10.0)</package> <arch>x86_64</arch> <hostCPU type='kvm' model='base' migratability='yes'> diff --git a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.replies b/tests/qemucapabilitiesdata/caps_2.11.0.s390x.replies index 2de256009e..ee64b5b81d 100644 --- a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.replies +++ b/tests/qemucapabilitiesdata/caps_2.11.0.s390x.replies @@ -3521,6 +3521,14 @@ "id": "libvirt-34" } +{ + "id": "libvirt-35", + "error": { + "class": "CommandNotFound", + "desc": "The command qom-list-properties has not been found" + } +} + { "return": [ { @@ -3571,7 +3579,7 @@ "cpu-max": 248 } ], - "id": "libvirt-35" + "id": "libvirt-36" } { @@ -4105,20 +4113,20 @@ "migration-safe": true } ], - "id": "libvirt-36" + "id": "libvirt-37" } { "return": [ ], - "id": "libvirt-37" + "id": "libvirt-38" } { "return": [ "emulator" ], - "id": "libvirt-38" + "id": "libvirt-39" } { @@ -5239,7 +5247,7 @@ "option": "drive" } ], - "id": "libvirt-39" + "id": "libvirt-40" } { @@ -5297,7 +5305,7 @@ "capability": "x-multifd" } ], - "id": "libvirt-40" + "id": "libvirt-41" } { @@ -15165,7 +15173,7 @@ "meta-type": "object" } ], - "id": "libvirt-41" + "id": "libvirt-42" } { @@ -15204,11 +15212,11 @@ } } }, - "id": "libvirt-42" + "id": "libvirt-43" } { - "id": "libvirt-43", + "id": "libvirt-44", "error": { "class": "GenericError", "desc": "Property '.migratable' not found" diff --git a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml index 3a77b04d4f..ccc9e599a5 100644 --- a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml @@ -147,7 +147,7 @@ <flag name='qcow2-luks'/> <version>2011000</version> <kvmVersion>0</kvmVersion> - <microcodeVersion>342058</microcodeVersion> + <microcodeVersion>342213</microcodeVersion> <package></package> <arch>s390x</arch> <hostCPU type='kvm' model='z14-base' migratability='no'> diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.replies b/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.replies index 3512d88b67..0dd0c4eb04 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.replies +++ b/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.replies @@ -5275,6 +5275,14 @@ "id": "libvirt-35" } +{ + "id": "libvirt-36", + "error": { + "class": "CommandNotFound", + "desc": "The command qom-list-properties has not been found" + } +} + { "return": [ { @@ -5569,7 +5577,7 @@ "cpu-max": 1 } ], - "id": "libvirt-36" + "id": "libvirt-37" } { @@ -5745,20 +5753,20 @@ "static": false } ], - "id": "libvirt-37" + "id": "libvirt-38" } { "return": [ ], - "id": "libvirt-38" + "id": "libvirt-39" } { "return": [ "emulator" ], - "id": "libvirt-39" + "id": "libvirt-40" } { @@ -6919,7 +6927,7 @@ "option": "drive" } ], - "id": "libvirt-40" + "id": "libvirt-41" } { @@ -6981,7 +6989,7 @@ "capability": "dirty-bitmaps" } ], - "id": "libvirt-41" + "id": "libvirt-42" } { @@ -18349,7 +18357,7 @@ "meta-type": "object" } ], - "id": "libvirt-42" + "id": "libvirt-43" } { @@ -18365,7 +18373,7 @@ "kernel": false } ], - "id": "libvirt-43" + "id": "libvirt-44" } { diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml index b9c589e092..63e3f891c3 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml @@ -185,7 +185,7 @@ <flag name='pcie-pci-bridge'/> <version>2011090</version> <kvmVersion>0</kvmVersion> - <microcodeVersion>342346</microcodeVersion> + <microcodeVersion>342501</microcodeVersion> <package>v2.12.0-rc0</package> <arch>aarch64</arch> <cpu type='kvm' name='pxa262'/> diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.replies b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.replies index 2166b34973..e1e8863f39 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.replies +++ b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.replies @@ -5322,6 +5322,14 @@ "id": "libvirt-36" } +{ + "id": "libvirt-37", + "error": { + "class": "CommandNotFound", + "desc": "The command qom-list-properties has not been found" + } +} + { "return": [ { @@ -5457,7 +5465,7 @@ "cpu-max": 1 } ], - "id": "libvirt-37" + "id": "libvirt-38" } { @@ -7653,20 +7661,20 @@ "static": false } ], - "id": "libvirt-38" + "id": "libvirt-39" } { "return": [ ], - "id": "libvirt-39" + "id": "libvirt-40" } { "return": [ "emulator" ], - "id": "libvirt-40" + "id": "libvirt-41" } { @@ -8822,7 +8830,7 @@ "option": "drive" } ], - "id": "libvirt-41" + "id": "libvirt-42" } { @@ -8884,7 +8892,7 @@ "capability": "dirty-bitmaps" } ], - "id": "libvirt-42" + "id": "libvirt-43" } { @@ -20252,7 +20260,7 @@ "meta-type": "object" } ], - "id": "libvirt-43" + "id": "libvirt-44" } { diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml index 8094139624..455b6441b4 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml @@ -182,7 +182,7 @@ <flag name='qcow2-luks'/> <version>2011090</version> <kvmVersion>0</kvmVersion> - <microcodeVersion>419215</microcodeVersion> + <microcodeVersion>419370</microcodeVersion> <package>v2.12.0-rc0</package> <arch>ppc64</arch> <cpu type='kvm' name='default'/> diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.replies b/tests/qemucapabilitiesdata/caps_2.12.0.s390x.replies index c4e44c6d0f..3c1832800b 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.replies +++ b/tests/qemucapabilitiesdata/caps_2.12.0.s390x.replies @@ -3614,6 +3614,14 @@ "id": "libvirt-34" } +{ + "id": "libvirt-35", + "error": { + "class": "CommandNotFound", + "desc": "The command qom-list-properties has not been found" + } +} + { "return": [ { @@ -3669,7 +3677,7 @@ "alias": "s390-ccw-virtio" } ], - "id": "libvirt-35" + "id": "libvirt-36" } { @@ -6324,20 +6332,20 @@ "migration-safe": true } ], - "id": "libvirt-36" + "id": "libvirt-37" } { "return": [ ], - "id": "libvirt-37" + "id": "libvirt-38" } { "return": [ "emulator" ], - "id": "libvirt-38" + "id": "libvirt-39" } { @@ -7493,7 +7501,7 @@ "option": "drive" } ], - "id": "libvirt-39" + "id": "libvirt-40" } { @@ -7555,7 +7563,7 @@ "capability": "dirty-bitmaps" } ], - "id": "libvirt-40" + "id": "libvirt-41" } { @@ -18923,11 +18931,11 @@ "meta-type": "object" } ], - "id": "libvirt-41" + "id": "libvirt-42" } { - "id": "libvirt-42", + "id": "libvirt-43", "error": { "class": "GenericError", "desc": "The CPU definition 'max' is unknown." diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies index c086e04afd..c40046beef 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies @@ -4605,6 +4605,60 @@ "id": "libvirt-39" } +{ + "return": [ + { + "name": "policy", + "type": "HostMemPolicy" + }, + { + "name": "dump", + "type": "bool" + }, + { + "name": "share", + "type": "bool" + }, + { + "name": "prealloc", + "type": "bool" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "host-nodes", + "type": "int" + }, + { + "name": "id", + "type": "string" + }, + { + "name": "merge", + "type": "bool" + }, + { + "name": "align", + "type": "int" + }, + { + "name": "mem-path", + "type": "string" + }, + { + "name": "discard-data", + "type": "bool" + }, + { + "name": "type", + "type": "string" + } + ], + "id": "libvirt-40" +} + { "return": [ { @@ -4801,7 +4855,7 @@ "cpu-max": 255 } ], - "id": "libvirt-40" + "id": "libvirt-41" } { @@ -5315,7 +5369,7 @@ "migration-safe": true } ], - "id": "libvirt-41" + "id": "libvirt-42" } { @@ -5323,7 +5377,7 @@ "tpm-crb", "tpm-tis" ], - "id": "libvirt-42" + "id": "libvirt-43" } { @@ -5331,7 +5385,7 @@ "passthrough", "emulator" ], - "id": "libvirt-43" + "id": "libvirt-44" } { @@ -6618,7 +6672,7 @@ "option": "drive" } ], - "id": "libvirt-44" + "id": "libvirt-45" } { @@ -6680,7 +6734,7 @@ "capability": "dirty-bitmaps" } ], - "id": "libvirt-45" + "id": "libvirt-46" } { @@ -18048,196 +18102,6 @@ "meta-type": "object" } ], - "id": "libvirt-46" -} - -{ - "return": { - "model": { - "name": "base", - "props": { - "cmov": true, - "ia64": false, - "aes": true, - "mmx": true, - "rdpid": false, - "arat": true, - "gfni": false, - "pause-filter": false, - "xsavec": false, - "intel-pt": false, - "osxsave": false, - "kvm-asyncpf": true, - "perfctr-core": false, - "mpx": false, - "pbe": false, - "avx512cd": false, - "decodeassists": false, - "sse4.1": true, - "family": 6, - "avx512f": false, - "msr": true, - "mce": true, - "mca": true, - "xcrypt": false, - "min-level": 13, - "xgetbv1": false, - "cid": false, - "ds": false, - "fxsr": true, - "xsaveopt": true, - "xtpr": false, - "avx512vl": false, - "avx512-vpopcntdq": false, - "phe": false, - "extapic": false, - "3dnowprefetch": false, - "avx512vbmi2": false, - "cr8legacy": false, - "xcrypt-en": false, - "pn": false, - "dca": false, - "vendor": "GenuineIntel", - "pku": false, - "smx": false, - "cmp-legacy": false, - "avx512-4fmaps": false, - "vmcb-clean": false, - "hle": false, - "3dnowext": false, - "npt": false, - "clwb": false, - "lbrv": false, - "adx": false, - "ss": true, - "pni": true, - "svm-lock": false, - "smep": true, - "smap": false, - "pfthreshold": false, - "x2apic": true, - "avx512vbmi": false, - "avx512vnni": false, - "flushbyasid": false, - "f16c": true, - "ace2-en": false, - "pae": true, - "pat": true, - "sse": true, - "phe-en": false, - "kvm-nopiodelay": true, - "tm": false, - "kvmclock-stable-bit": true, - "hypervisor": true, - "pcommit": false, - "syscall": true, - "avx512dq": false, - "svm": false, - "invtsc": false, - "sse2": true, - "est": false, - "avx512ifma": false, - "tm2": false, - "kvm-pv-eoi": true, - "cx8": true, - "kvm-mmu": false, - "sse4.2": true, - "pge": true, - "avx512bitalg": false, - "pdcm": false, - "model": 63, - "movbe": true, - "nrip-save": false, - "ssse3": true, - "sse4a": false, - "invpcid": true, - "pdpe1gb": true, - "tsc-deadline": true, - "fma": true, - "cx16": true, - "de": true, - "stepping": 2, - "xsave": true, - "clflush": true, - "skinit": false, - "tsc": true, - "tce": false, - "fpu": true, - "ds-cpl": false, - "ibs": false, - "fma4": false, - "la57": false, - "osvw": false, - "apic": true, - "pmm": false, - "spec-ctrl": false, - "tsc-adjust": true, - "kvm-steal-time": true, - "kvmclock": true, - "lwp": false, - "xop": false, - "ibpb": false, - "avx": true, - "ospke": false, - "acpi": false, - "avx512bw": false, - "ace2": false, - "fsgsbase": true, - "ht": false, - "nx": true, - "pclmulqdq": true, - "mmxext": false, - "popcnt": true, - "vaes": false, - "xsaves": false, - "lm": true, - "umip": false, - "pse": true, - "avx2": true, - "sep": true, - "nodeid-msr": false, - "misalignsse": false, - "min-xlevel": 2147483656, - "bmi1": true, - "bmi2": true, - "kvm-pv-unhalt": true, - "tsc-scale": false, - "topoext": false, - "clflushopt": false, - "monitor": false, - "avx512er": false, - "pmm-en": false, - "pcid": true, - "3dnow": false, - "erms": true, - "lahf-lm": true, - "vpclmulqdq": false, - "fxsr-opt": false, - "xstore": false, - "rtm": false, - "kvm-hint-dedicated": true, - "lmce": true, - "perfctr-nb": false, - "rdrand": true, - "rdseed": false, - "avx512-4vnniw": false, - "vme": true, - "vmx": false, - "dtes64": false, - "mtrr": true, - "rdtscp": true, - "pse36": true, - "kvm-pv-tlb-flush": false, - "tbm": false, - "wdt": false, - "model-id": "Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz", - "sha-ni": false, - "abm": true, - "avx512pf": false, - "xstore-en": false - } - } - }, "id": "libvirt-47" } @@ -18246,9 +18110,6 @@ "model": { "name": "base", "props": { - "phys-bits": 0, - "core-id": -1, - "xlevel": 2147483656, "cmov": true, "ia64": false, "aes": true, @@ -18260,34 +18121,22 @@ "xsavec": false, "intel-pt": false, "osxsave": false, - "tsc-frequency": 0, - "xd": true, - "hv-vendor-id": "", "kvm-asyncpf": true, - "kvm_asyncpf": true, - "perfctr_core": false, "perfctr-core": false, "mpx": false, "pbe": false, - "decodeassists": false, "avx512cd": false, - "sse4_1": true, + "decodeassists": false, "sse4.1": true, - "sse4-1": true, "family": 6, - "vmware-cpuid-freq": true, "avx512f": false, "msr": true, "mce": true, "mca": true, - "hv-runtime": false, "xcrypt": false, - "thread-id": -1, "min-level": 13, "xgetbv1": false, "cid": false, - "hv-relaxed": false, - "hv-crash": false, "ds": false, "fxsr": true, "xsaveopt": true, @@ -18299,83 +18148,60 @@ "3dnowprefetch": false, "avx512vbmi2": false, "cr8legacy": false, - "cpuid-0xb": true, "xcrypt-en": false, - "kvm_pv_eoi": true, - "apic-id": 4294967295, "pn": false, "dca": false, "vendor": "GenuineIntel", "pku": false, "smx": false, - "cmp_legacy": false, "cmp-legacy": false, - "node-id": -1, "avx512-4fmaps": false, - "vmcb_clean": false, "vmcb-clean": false, - "3dnowext": false, "hle": false, + "3dnowext": false, "npt": false, - "memory": "/machine/unattached/system[0]", "clwb": false, "lbrv": false, "adx": false, "ss": true, "pni": true, - "svm_lock": false, "svm-lock": false, - "pfthreshold": false, "smep": true, "smap": false, + "pfthreshold": false, "x2apic": true, "avx512vbmi": false, "avx512vnni": false, - "hv-stimer": false, - "i64": true, "flushbyasid": false, "f16c": true, "ace2-en": false, - "pat": true, "pae": true, + "pat": true, "sse": true, "phe-en": false, - "kvm_nopiodelay": true, "kvm-nopiodelay": true, "tm": false, "kvmclock-stable-bit": true, "hypervisor": true, - "socket-id": -1, "pcommit": false, "syscall": true, - "level": 13, "avx512dq": false, "svm": false, - "full-cpuid-auto-level": true, - "hv-reset": false, "invtsc": false, - "sse3": true, "sse2": true, "est": false, "avx512ifma": false, "tm2": false, "kvm-pv-eoi": true, "cx8": true, - "kvm_mmu": false, "kvm-mmu": false, - "sse4_2": true, "sse4.2": true, - "sse4-2": true, "pge": true, - "fill-mtrr-mask": true, "avx512bitalg": false, - "nodeid_msr": false, "pdcm": false, - "movbe": true, "model": 63, - "nrip_save": false, + "movbe": true, "nrip-save": false, - "kvm_pv_unhalt": true, "ssse3": true, "sse4a": false, "invpcid": true, @@ -18384,7 +18210,6 @@ "fma": true, "cx16": true, "de": true, - "enforce": false, "stepping": 2, "xsave": true, "clflush": true, @@ -18392,66 +18217,47 @@ "tsc": true, "tce": false, "fpu": true, - "ibs": false, - "ds_cpl": false, "ds-cpl": false, - "host-phys-bits": false, + "ibs": false, "fma4": false, "la57": false, "osvw": false, - "check": true, - "hv-spinlocks": -1, - "pmu": false, - "pmm": false, "apic": true, + "pmm": false, "spec-ctrl": false, - "min-xlevel2": 0, "tsc-adjust": true, - "tsc_adjust": true, "kvm-steal-time": true, - "kvm_steal_time": true, "kvmclock": true, - "l3-cache": true, "lwp": false, - "ibpb": false, "xop": false, + "ibpb": false, "avx": true, "ospke": false, - "ace2": false, - "avx512bw": false, "acpi": false, - "hv-vapic": false, + "avx512bw": false, + "ace2": false, "fsgsbase": true, "ht": false, "nx": true, "pclmulqdq": true, "mmxext": false, - "vaes": false, "popcnt": true, + "vaes": false, "xsaves": false, - "tcg-cpuid": true, "lm": true, "umip": false, "pse": true, "avx2": true, "sep": true, - "pclmuldq": true, - "x-hv-max-vps": -1, "nodeid-msr": false, - "kvm": true, "misalignsse": false, "min-xlevel": 2147483656, - "kvm-pv-unhalt": true, - "bmi2": true, "bmi1": true, - "realized": false, - "tsc_scale": false, + "bmi2": true, + "kvm-pv-unhalt": true, "tsc-scale": false, "topoext": false, - "hv-vpindex": false, - "xlevel2": 0, "clflushopt": false, - "kvm-no-smi-migration": false, "monitor": false, "avx512er": false, "pmm-en": false, @@ -18459,24 +18265,18 @@ "3dnow": false, "erms": true, "lahf-lm": true, - "lahf_lm": true, "vpclmulqdq": false, "fxsr-opt": false, - "hv-synic": false, "xstore": false, - "fxsr_opt": false, - "kvm-hint-dedicated": true, "rtm": false, + "kvm-hint-dedicated": true, "lmce": true, - "hv-time": false, "perfctr-nb": false, - "perfctr_nb": false, - "ffxsr": false, "rdrand": true, "rdseed": false, "avx512-4vnniw": false, - "vmx": false, "vme": true, + "vmx": false, "dtes64": false, "mtrr": true, "rdtscp": true, @@ -18484,9 +18284,8 @@ "kvm-pv-tlb-flush": false, "tbm": false, "wdt": false, - "pause_filter": false, - "sha-ni": false, "model-id": "Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz", + "sha-ni": false, "abm": true, "avx512pf": false, "xstore-en": false @@ -18496,6 +18295,261 @@ "id": "libvirt-48" } +{ + "return": { + "model": { + "name": "base", + "props": { + "phys-bits": 0, + "core-id": -1, + "xlevel": 2147483656, + "cmov": true, + "ia64": false, + "aes": true, + "mmx": true, + "rdpid": false, + "arat": true, + "gfni": false, + "pause-filter": false, + "xsavec": false, + "intel-pt": false, + "osxsave": false, + "tsc-frequency": 0, + "xd": true, + "hv-vendor-id": "", + "kvm-asyncpf": true, + "kvm_asyncpf": true, + "perfctr_core": false, + "perfctr-core": false, + "mpx": false, + "pbe": false, + "decodeassists": false, + "avx512cd": false, + "sse4_1": true, + "sse4.1": true, + "sse4-1": true, + "family": 6, + "vmware-cpuid-freq": true, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "hv-runtime": false, + "xcrypt": false, + "thread-id": -1, + "min-level": 13, + "xgetbv1": false, + "cid": false, + "hv-relaxed": false, + "hv-crash": false, + "ds": false, + "fxsr": true, + "xsaveopt": true, + "xtpr": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": false, + "avx512vbmi2": false, + "cr8legacy": false, + "cpuid-0xb": true, + "xcrypt-en": false, + "kvm_pv_eoi": true, + "apic-id": 4294967295, + "pn": false, + "dca": false, + "vendor": "GenuineIntel", + "pku": false, + "smx": false, + "cmp_legacy": false, + "cmp-legacy": false, + "node-id": -1, + "avx512-4fmaps": false, + "vmcb_clean": false, + "vmcb-clean": false, + "3dnowext": false, + "hle": false, + "npt": false, + "memory": "/machine/unattached/system[0]", + "clwb": false, + "lbrv": false, + "adx": false, + "ss": true, + "pni": true, + "svm_lock": false, + "svm-lock": false, + "pfthreshold": false, + "smep": true, + "smap": false, + "x2apic": true, + "avx512vbmi": false, + "avx512vnni": false, + "hv-stimer": false, + "i64": true, + "flushbyasid": false, + "f16c": true, + "ace2-en": false, + "pat": true, + "pae": true, + "sse": true, + "phe-en": false, + "kvm_nopiodelay": true, + "kvm-nopiodelay": true, + "tm": false, + "kvmclock-stable-bit": true, + "hypervisor": true, + "socket-id": -1, + "pcommit": false, + "syscall": true, + "level": 13, + "avx512dq": false, + "svm": false, + "full-cpuid-auto-level": true, + "hv-reset": false, + "invtsc": false, + "sse3": true, + "sse2": true, + "est": false, + "avx512ifma": false, + "tm2": false, + "kvm-pv-eoi": true, + "cx8": true, + "kvm_mmu": false, + "kvm-mmu": false, + "sse4_2": true, + "sse4.2": true, + "sse4-2": true, + "pge": true, + "fill-mtrr-mask": true, + "avx512bitalg": false, + "nodeid_msr": false, + "pdcm": false, + "movbe": true, + "model": 63, + "nrip_save": false, + "nrip-save": false, + "kvm_pv_unhalt": true, + "ssse3": true, + "sse4a": false, + "invpcid": true, + "pdpe1gb": true, + "tsc-deadline": true, + "fma": true, + "cx16": true, + "de": true, + "enforce": false, + "stepping": 2, + "xsave": true, + "clflush": true, + "skinit": false, + "tsc": true, + "tce": false, + "fpu": true, + "ibs": false, + "ds_cpl": false, + "ds-cpl": false, + "host-phys-bits": false, + "fma4": false, + "la57": false, + "osvw": false, + "check": true, + "hv-spinlocks": -1, + "pmu": false, + "pmm": false, + "apic": true, + "spec-ctrl": false, + "min-xlevel2": 0, + "tsc-adjust": true, + "tsc_adjust": true, + "kvm-steal-time": true, + "kvm_steal_time": true, + "kvmclock": true, + "l3-cache": true, + "lwp": false, + "ibpb": false, + "xop": false, + "avx": true, + "ospke": false, + "ace2": false, + "avx512bw": false, + "acpi": false, + "hv-vapic": false, + "fsgsbase": true, + "ht": false, + "nx": true, + "pclmulqdq": true, + "mmxext": false, + "vaes": false, + "popcnt": true, + "xsaves": false, + "tcg-cpuid": true, + "lm": true, + "umip": false, + "pse": true, + "avx2": true, + "sep": true, + "pclmuldq": true, + "x-hv-max-vps": -1, + "nodeid-msr": false, + "kvm": true, + "misalignsse": false, + "min-xlevel": 2147483656, + "kvm-pv-unhalt": true, + "bmi2": true, + "bmi1": true, + "realized": false, + "tsc_scale": false, + "tsc-scale": false, + "topoext": false, + "hv-vpindex": false, + "xlevel2": 0, + "clflushopt": false, + "kvm-no-smi-migration": false, + "monitor": false, + "avx512er": false, + "pmm-en": false, + "pcid": true, + "3dnow": false, + "erms": true, + "lahf-lm": true, + "lahf_lm": true, + "vpclmulqdq": false, + "fxsr-opt": false, + "hv-synic": false, + "xstore": false, + "fxsr_opt": false, + "kvm-hint-dedicated": true, + "rtm": false, + "lmce": true, + "hv-time": false, + "perfctr-nb": false, + "perfctr_nb": false, + "ffxsr": false, + "rdrand": true, + "rdseed": false, + "avx512-4vnniw": false, + "vmx": false, + "vme": true, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "pse36": true, + "kvm-pv-tlb-flush": false, + "tbm": false, + "wdt": false, + "pause_filter": false, + "sha-ni": false, + "model-id": "Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz", + "abm": true, + "avx512pf": false, + "xstore-en": false + } + } + }, + "id": "libvirt-49" +} + { "return": { "model": { @@ -18683,7 +18737,7 @@ } } }, - "id": "libvirt-49" + "id": "libvirt-50" } { @@ -18938,7 +18992,7 @@ } } }, - "id": "libvirt-50" + "id": "libvirt-51" } { diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml index 9d477f7fec..aec866d1ae 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml @@ -221,9 +221,10 @@ <flag name='dump-completed'/> <flag name='qcow2-luks'/> <flag name='pcie-pci-bridge'/> + <flag name='memory-backend-file.discard-data'/> <version>2011090</version> <kvmVersion>0</kvmVersion> - <microcodeVersion>390060</microcodeVersion> + <microcodeVersion>390813</microcodeVersion> <package>v2.12.0-rc0</package> <arch>x86_64</arch> <hostCPU type='kvm' model='base' migratability='yes'> diff --git a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.replies index 68ecb0c17d..b11dcc4421 100644 --- a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.replies @@ -3114,6 +3114,14 @@ "id": "libvirt-39" } +{ + "id": "libvirt-40", + "error": { + "class": "CommandNotFound", + "desc": "The command qom-list-properties has not been found" + } +} + { "return": [ { @@ -3240,7 +3248,7 @@ "cpu-max": 255 } ], - "id": "libvirt-40" + "id": "libvirt-41" } { @@ -3330,21 +3338,21 @@ "name": "qemu64" } ], - "id": "libvirt-41" + "id": "libvirt-42" } { "return": [ "tpm-tis" ], - "id": "libvirt-42" + "id": "libvirt-43" } { "return": [ "passthrough" ], - "id": "libvirt-43" + "id": "libvirt-44" } { @@ -4352,7 +4360,7 @@ "option": "drive" } ], - "id": "libvirt-44" + "id": "libvirt-45" } { @@ -4382,7 +4390,7 @@ "capability": "events" } ], - "id": "libvirt-45" + "id": "libvirt-46" } { diff --git a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml index a94a47ee5d..1ae2f31ea0 100644 --- a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml @@ -185,7 +185,7 @@ <flag name='isa-serial'/> <version>2004000</version> <kvmVersion>0</kvmVersion> - <microcodeVersion>75406</microcodeVersion> + <microcodeVersion>75561</microcodeVersion> <package></package> <arch>x86_64</arch> <cpu type='kvm' name='Opteron_G5'/> diff --git a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.replies index 5bc505abb3..e2012d0e3b 100644 --- a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.replies @@ -3277,6 +3277,14 @@ "id": "libvirt-39" } +{ + "id": "libvirt-40", + "error": { + "class": "CommandNotFound", + "desc": "The command qom-list-properties has not been found" + } +} + { "return": [ { @@ -3411,7 +3419,7 @@ "cpu-max": 255 } ], - "id": "libvirt-40" + "id": "libvirt-41" } { @@ -3501,21 +3509,21 @@ "name": "qemu64" } ], - "id": "libvirt-41" + "id": "libvirt-42" } { "return": [ "tpm-tis" ], - "id": "libvirt-42" + "id": "libvirt-43" } { "return": [ "passthrough" ], - "id": "libvirt-43" + "id": "libvirt-44" } { @@ -4560,7 +4568,7 @@ "option": "drive" } ], - "id": "libvirt-44" + "id": "libvirt-45" } { @@ -4594,7 +4602,7 @@ "capability": "x-postcopy-ram" } ], - "id": "libvirt-45" + "id": "libvirt-46" } { @@ -12139,7 +12147,7 @@ "meta-type": "array" } ], - "id": "libvirt-46" + "id": "libvirt-47" } { diff --git a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml index 7576e0b1dd..58a9289375 100644 --- a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml @@ -191,7 +191,7 @@ <flag name='isa-serial'/> <version>2005000</version> <kvmVersion>0</kvmVersion> - <microcodeVersion>216528</microcodeVersion> + <microcodeVersion>216683</microcodeVersion> <package></package> <arch>x86_64</arch> <cpu type='kvm' name='Opteron_G5'/> diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.aarch64.replies b/tests/qemucapabilitiesdata/caps_2.6.0.aarch64.replies index 0ec7193b09..b3aecdcf5a 100644 --- a/tests/qemucapabilitiesdata/caps_2.6.0.aarch64.replies +++ b/tests/qemucapabilitiesdata/caps_2.6.0.aarch64.replies @@ -3619,6 +3619,14 @@ "id": "libvirt-35" } +{ + "id": "libvirt-36", + "error": { + "class": "CommandNotFound", + "desc": "The command qom-list-properties has not been found" + } +} + { "return": [ { @@ -3791,7 +3799,7 @@ "cpu-max": 1 } ], - "id": "libvirt-36" + "id": "libvirt-37" } { @@ -3890,12 +3898,6 @@ "name": "pxa270" } ], - "id": "libvirt-37" -} - -{ - "return": [ - ], "id": "libvirt-38" } @@ -3905,6 +3907,12 @@ "id": "libvirt-39" } +{ + "return": [ + ], + "id": "libvirt-40" +} + { "return": [ { @@ -4874,7 +4882,7 @@ "option": "drive" } ], - "id": "libvirt-40" + "id": "libvirt-41" } { @@ -4908,7 +4916,7 @@ "capability": "postcopy-ram" } ], - "id": "libvirt-41" + "id": "libvirt-42" } { @@ -12913,7 +12921,7 @@ "meta-type": "array" } ], - "id": "libvirt-42" + "id": "libvirt-43" } { @@ -12929,7 +12937,7 @@ "kernel": true } ], - "id": "libvirt-43" + "id": "libvirt-44" } { diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_2.6.0.aarch64.xml index 34bc3919ea..de809b0213 100644 --- a/tests/qemucapabilitiesdata/caps_2.6.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_2.6.0.aarch64.xml @@ -171,7 +171,7 @@ <flag name='dump-completed'/> <version>2006000</version> <kvmVersion>0</kvmVersion> - <microcodeVersion>228241</microcodeVersion> + <microcodeVersion>228396</microcodeVersion> <package></package> <arch>aarch64</arch> <cpu type='kvm' name='pxa262'/> diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.replies b/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.replies index d4a893bb4d..5eddbbab71 100644 --- a/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.replies +++ b/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.replies @@ -3815,6 +3815,14 @@ "id": "libvirt-36" } +{ + "id": "libvirt-37", + "error": { + "class": "CommandNotFound", + "desc": "The command qom-list-properties has not been found" + } +} + { "return": [ { @@ -3884,7 +3892,7 @@ "cpu-max": 255 } ], - "id": "libvirt-37" + "id": "libvirt-38" } { @@ -5186,12 +5194,6 @@ "name": "MPC8541E_v11" } ], - "id": "libvirt-38" -} - -{ - "return": [ - ], "id": "libvirt-39" } @@ -5201,6 +5203,12 @@ "id": "libvirt-40" } +{ + "return": [ + ], + "id": "libvirt-41" +} + { "return": [ { @@ -6165,7 +6173,7 @@ "option": "drive" } ], - "id": "libvirt-41" + "id": "libvirt-42" } { @@ -6199,7 +6207,7 @@ "capability": "postcopy-ram" } ], - "id": "libvirt-42" + "id": "libvirt-43" } { @@ -14204,7 +14212,7 @@ "meta-type": "array" } ], - "id": "libvirt-43" + "id": "libvirt-44" } { diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml index 9ae59448ba..7b9d0ed479 100644 --- a/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml @@ -166,7 +166,7 @@ <flag name='dump-completed'/> <version>2006000</version> <kvmVersion>0</kvmVersion> - <microcodeVersion>263005</microcodeVersion> + <microcodeVersion>263160</microcodeVersion> <package></package> <arch>ppc64</arch> <cpu type='kvm' name='default'/> diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.replies index 73a22ed0bb..c4cc9fdb7a 100644 --- a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.replies @@ -3359,6 +3359,14 @@ "id": "libvirt-39" } +{ + "id": "libvirt-40", + "error": { + "class": "CommandNotFound", + "desc": "The command qom-list-properties has not been found" + } +} + { "return": [ { @@ -3469,7 +3477,7 @@ "cpu-max": 255 } ], - "id": "libvirt-40" + "id": "libvirt-41" } { @@ -3559,21 +3567,21 @@ "name": "qemu64" } ], - "id": "libvirt-41" + "id": "libvirt-42" } { "return": [ "tpm-tis" ], - "id": "libvirt-42" + "id": "libvirt-43" } { "return": [ "passthrough" ], - "id": "libvirt-43" + "id": "libvirt-44" } { @@ -4667,7 +4675,7 @@ "option": "drive" } ], - "id": "libvirt-44" + "id": "libvirt-45" } { @@ -4701,7 +4709,7 @@ "capability": "postcopy-ram" } ], - "id": "libvirt-45" + "id": "libvirt-46" } { @@ -12706,7 +12714,7 @@ "meta-type": "array" } ], - "id": "libvirt-46" + "id": "libvirt-47" } { diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml index 748b5ebc56..3bd327e783 100644 --- a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml @@ -202,7 +202,7 @@ <flag name='dump-completed'/> <version>2006000</version> <kvmVersion>0</kvmVersion> - <microcodeVersion>227332</microcodeVersion> + <microcodeVersion>227487</microcodeVersion> <package></package> <arch>x86_64</arch> <cpu type='kvm' name='Opteron_G5'/> diff --git a/tests/qemucapabilitiesdata/caps_2.7.0.s390x.replies b/tests/qemucapabilitiesdata/caps_2.7.0.s390x.replies index 61fbd9a667..a8491bed7a 100644 --- a/tests/qemucapabilitiesdata/caps_2.7.0.s390x.replies +++ b/tests/qemucapabilitiesdata/caps_2.7.0.s390x.replies @@ -2547,6 +2547,14 @@ "id": "libvirt-33" } +{ + "id": "libvirt-34", + "error": { + "class": "CommandNotFound", + "desc": "The command qom-list-properties has not been found" + } +} + { "return": [ { @@ -2577,7 +2585,7 @@ "cpu-max": 248 } ], - "id": "libvirt-34" + "id": "libvirt-35" } { @@ -2586,12 +2594,6 @@ "name": "host" } ], - "id": "libvirt-35" -} - -{ - "return": [ - ], "id": "libvirt-36" } @@ -2601,6 +2603,12 @@ "id": "libvirt-37" } +{ + "return": [ + ], + "id": "libvirt-38" +} + { "return": [ { @@ -3534,7 +3542,7 @@ "option": "drive" } ], - "id": "libvirt-38" + "id": "libvirt-39" } { @@ -3568,7 +3576,7 @@ "capability": "postcopy-ram" } ], - "id": "libvirt-39" + "id": "libvirt-40" } { @@ -11924,7 +11932,7 @@ "meta-type": "object" } ], - "id": "libvirt-40" + "id": "libvirt-41" } { diff --git a/tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml index c35cade3df..19a74bf7be 100644 --- a/tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml @@ -133,7 +133,7 @@ <flag name='dump-completed'/> <version>2007000</version> <kvmVersion>0</kvmVersion> - <microcodeVersion>216732</microcodeVersion> + <microcodeVersion>216887</microcodeVersion> <package></package> <arch>s390x</arch> <cpu type='kvm' name='host'/> diff --git a/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.replies index eaa84d3381..2a34dc5ca8 100644 --- a/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.replies @@ -3554,6 +3554,14 @@ "id": "libvirt-39" } +{ + "id": "libvirt-40", + "error": { + "class": "CommandNotFound", + "desc": "The command qom-list-properties has not been found" + } +} + { "return": [ { @@ -3700,7 +3708,7 @@ "cpu-max": 255 } ], - "id": "libvirt-40" + "id": "libvirt-41" } { @@ -3793,21 +3801,21 @@ "name": "qemu64" } ], - "id": "libvirt-41" + "id": "libvirt-42" } { "return": [ "tpm-tis" ], - "id": "libvirt-42" + "id": "libvirt-43" } { "return": [ "passthrough" ], - "id": "libvirt-43" + "id": "libvirt-44" } { @@ -4905,7 +4913,7 @@ "option": "drive" } ], - "id": "libvirt-44" + "id": "libvirt-45" } { @@ -4939,7 +4947,7 @@ "capability": "postcopy-ram" } ], - "id": "libvirt-45" + "id": "libvirt-46" } { @@ -13295,7 +13303,7 @@ "meta-type": "object" } ], - "id": "libvirt-46" + "id": "libvirt-47" } { diff --git a/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml index b9e5b31108..158b0c0b3c 100644 --- a/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml @@ -206,7 +206,7 @@ <flag name='dump-completed'/> <version>2007000</version> <kvmVersion>0</kvmVersion> - <microcodeVersion>239029</microcodeVersion> + <microcodeVersion>239184</microcodeVersion> <package> (v2.7.0)</package> <arch>x86_64</arch> <cpu type='kvm' name='Opteron_G5'/> diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.replies b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.replies index 818118caf2..f9bb30e734 100644 --- a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.replies +++ b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.replies @@ -2820,6 +2820,14 @@ "id": "libvirt-33" } +{ + "id": "libvirt-34", + "error": { + "class": "CommandNotFound", + "desc": "The command qom-list-properties has not been found" + } +} + { "return": [ { @@ -2855,7 +2863,7 @@ "alias": "s390-ccw-virtio" } ], - "id": "libvirt-34" + "id": "libvirt-35" } { @@ -3181,12 +3189,6 @@ "migration-safe": true } ], - "id": "libvirt-35" -} - -{ - "return": [ - ], "id": "libvirt-36" } @@ -3196,6 +3198,12 @@ "id": "libvirt-37" } +{ + "return": [ + ], + "id": "libvirt-38" +} + { "return": [ { @@ -4154,7 +4162,7 @@ "option": "drive" } ], - "id": "libvirt-38" + "id": "libvirt-39" } { @@ -4192,7 +4200,7 @@ "capability": "x-colo" } ], - "id": "libvirt-39" + "id": "libvirt-40" } { @@ -12962,7 +12970,7 @@ "meta-type": "object" } ], - "id": "libvirt-40" + "id": "libvirt-41" } { @@ -12988,11 +12996,11 @@ } } }, - "id": "libvirt-41" + "id": "libvirt-42" } { - "id": "libvirt-42", + "id": "libvirt-43", "error": { "class": "GenericError", "desc": "Property '.migratable' not found" diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml index 82d7dd7916..1c28b8957a 100644 --- a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml @@ -135,7 +135,7 @@ <flag name='dump-completed'/> <version>2007093</version> <kvmVersion>0</kvmVersion> - <microcodeVersion>241633</microcodeVersion> + <microcodeVersion>241788</microcodeVersion> <package></package> <arch>s390x</arch> <hostCPU type='kvm' model='zEC12.2-base' migratability='no'> diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.replies index 30d28c7b5f..965848eff2 100644 --- a/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.replies @@ -3696,6 +3696,14 @@ "id": "libvirt-39" } +{ + "id": "libvirt-40", + "error": { + "class": "CommandNotFound", + "desc": "The command qom-list-properties has not been found" + } +} + { "return": [ { @@ -3862,7 +3870,7 @@ "cpu-max": 255 } ], - "id": "libvirt-40" + "id": "libvirt-41" } { @@ -4068,21 +4076,21 @@ "static": false } ], - "id": "libvirt-41" + "id": "libvirt-42" } { "return": [ "tpm-tis" ], - "id": "libvirt-42" + "id": "libvirt-43" } { "return": [ "passthrough" ], - "id": "libvirt-43" + "id": "libvirt-44" } { @@ -5205,7 +5213,7 @@ "option": "drive" } ], - "id": "libvirt-44" + "id": "libvirt-45" } { @@ -5243,7 +5251,7 @@ "capability": "x-colo" } ], - "id": "libvirt-45" + "id": "libvirt-46" } { @@ -14013,7 +14021,7 @@ "meta-type": "object" } ], - "id": "libvirt-46" + "id": "libvirt-47" } { diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml index 2cdd492316..f80562ced5 100644 --- a/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml @@ -208,7 +208,7 @@ <flag name='dump-completed'/> <version>2008000</version> <kvmVersion>0</kvmVersion> - <microcodeVersion>255684</microcodeVersion> + <microcodeVersion>255839</microcodeVersion> <package> (v2.8.0)</package> <arch>x86_64</arch> <cpu type='kvm' name='host' usable='yes'/> diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.replies b/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.replies index f367da8d2b..2783fa3673 100644 --- a/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.replies +++ b/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.replies @@ -4317,6 +4317,14 @@ "id": "libvirt-36" } +{ + "id": "libvirt-37", + "error": { + "class": "CommandNotFound", + "desc": "The command qom-list-properties has not been found" + } +} + { "return": [ { @@ -4427,7 +4435,7 @@ "cpu-max": 1 } ], - "id": "libvirt-37" + "id": "libvirt-38" } { @@ -6603,12 +6611,6 @@ "static": false } ], - "id": "libvirt-38" -} - -{ - "return": [ - ], "id": "libvirt-39" } @@ -6618,6 +6620,12 @@ "id": "libvirt-40" } +{ + "return": [ + ], + "id": "libvirt-41" +} + { "return": [ { @@ -7725,7 +7733,7 @@ "option": "drive" } ], - "id": "libvirt-41" + "id": "libvirt-42" } { @@ -7767,7 +7775,7 @@ "capability": "release-ram" } ], - "id": "libvirt-42" + "id": "libvirt-43" } { @@ -17053,7 +17061,7 @@ "meta-type": "object" } ], - "id": "libvirt-43" + "id": "libvirt-44" } { diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml index 7c8973ae05..d053f7760d 100644 --- a/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml @@ -174,7 +174,7 @@ <flag name='dump-completed'/> <version>2009000</version> <kvmVersion>0</kvmVersion> - <microcodeVersion>346538</microcodeVersion> + <microcodeVersion>346693</microcodeVersion> <package> (v2.9.0)</package> <arch>ppc64</arch> <cpu type='kvm' name='default'/> diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.s390x.replies b/tests/qemucapabilitiesdata/caps_2.9.0.s390x.replies index cbacec6d02..d59fafd776 100644 --- a/tests/qemucapabilitiesdata/caps_2.9.0.s390x.replies +++ b/tests/qemucapabilitiesdata/caps_2.9.0.s390x.replies @@ -3101,6 +3101,14 @@ "id": "libvirt-33" } +{ + "id": "libvirt-34", + "error": { + "class": "CommandNotFound", + "desc": "The command qom-list-properties has not been found" + } +} + { "return": [ { @@ -3141,7 +3149,7 @@ "cpu-max": 248 } ], - "id": "libvirt-34" + "id": "libvirt-35" } { @@ -3531,12 +3539,6 @@ "migration-safe": true } ], - "id": "libvirt-35" -} - -{ - "return": [ - ], "id": "libvirt-36" } @@ -3546,6 +3548,12 @@ "id": "libvirt-37" } +{ + "return": [ + ], + "id": "libvirt-38" +} + { "return": [ { @@ -4618,7 +4626,7 @@ "option": "drive" } ], - "id": "libvirt-38" + "id": "libvirt-39" } { @@ -4660,7 +4668,7 @@ "capability": "release-ram" } ], - "id": "libvirt-39" + "id": "libvirt-40" } { @@ -13946,7 +13954,7 @@ "meta-type": "object" } ], - "id": "libvirt-40" + "id": "libvirt-41" } { @@ -13973,11 +13981,11 @@ } } }, - "id": "libvirt-41" + "id": "libvirt-42" } { - "id": "libvirt-42", + "id": "libvirt-43", "error": { "class": "GenericError", "desc": "Property '.migratable' not found" diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml index d99924f996..dc16ba8b22 100644 --- a/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml @@ -138,7 +138,7 @@ <flag name='dump-completed'/> <version>2009000</version> <kvmVersion>0</kvmVersion> - <microcodeVersion>265051</microcodeVersion> + <microcodeVersion>265206</microcodeVersion> <package></package> <arch>s390x</arch> <hostCPU type='kvm' model='z13.2-base' migratability='no'> diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies index 5da1b41c2e..287b754425 100644 --- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies @@ -4015,6 +4015,14 @@ "id": "libvirt-39" } +{ + "id": "libvirt-40", + "error": { + "class": "CommandNotFound", + "desc": "The command qom-list-properties has not been found" + } +} + { "return": [ { @@ -4191,7 +4199,7 @@ "cpu-max": 255 } ], - "id": "libvirt-40" + "id": "libvirt-41" } { @@ -4473,21 +4481,21 @@ "migration-safe": true } ], - "id": "libvirt-41" + "id": "libvirt-42" } { "return": [ "tpm-tis" ], - "id": "libvirt-42" + "id": "libvirt-43" } { "return": [ "passthrough" ], - "id": "libvirt-43" + "id": "libvirt-44" } { @@ -5736,7 +5744,7 @@ "option": "drive" } ], - "id": "libvirt-44" + "id": "libvirt-45" } { @@ -5778,7 +5786,7 @@ "capability": "release-ram" } ], - "id": "libvirt-45" + "id": "libvirt-46" } { @@ -15064,185 +15072,6 @@ "meta-type": "object" } ], - "id": "libvirt-46" -} - -{ - "return": { - "model": { - "name": "base", - "props": { - "cmov": true, - "ia64": false, - "aes": true, - "mmx": true, - "rdpid": false, - "arat": true, - "pause-filter": false, - "xsavec": true, - "osxsave": false, - "kvm-asyncpf": true, - "perfctr-core": false, - "mpx": true, - "pbe": false, - "avx512cd": false, - "decodeassists": false, - "sse4.1": true, - "family": 6, - "avx512f": false, - "msr": true, - "mce": true, - "mca": true, - "xcrypt": false, - "min-level": 13, - "xgetbv1": true, - "cid": false, - "ds": false, - "fxsr": true, - "xsaveopt": true, - "xtpr": false, - "avx512vl": false, - "avx512-vpopcntdq": false, - "phe": false, - "extapic": false, - "3dnowprefetch": true, - "cr8legacy": false, - "xcrypt-en": false, - "pn": false, - "dca": false, - "vendor": "GenuineIntel", - "pku": false, - "smx": false, - "cmp-legacy": false, - "avx512-4fmaps": false, - "vmcb-clean": false, - "hle": true, - "3dnowext": false, - "npt": false, - "clwb": false, - "lbrv": false, - "adx": true, - "ss": true, - "pni": true, - "svm-lock": false, - "smep": true, - "smap": true, - "pfthreshold": false, - "x2apic": true, - "avx512vbmi": false, - "flushbyasid": false, - "f16c": true, - "ace2-en": false, - "pae": true, - "pat": true, - "sse": true, - "phe-en": false, - "kvm-nopiodelay": true, - "tm": false, - "kvmclock-stable-bit": true, - "hypervisor": true, - "pcommit": false, - "syscall": true, - "avx512dq": false, - "svm": false, - "invtsc": false, - "sse2": true, - "est": false, - "avx512ifma": false, - "tm2": false, - "kvm-pv-eoi": true, - "cx8": true, - "kvm-mmu": false, - "sse4.2": true, - "pge": true, - "pdcm": false, - "model": 94, - "movbe": true, - "nrip-save": false, - "ssse3": true, - "sse4a": false, - "invpcid": true, - "pdpe1gb": true, - "tsc-deadline": true, - "fma": true, - "cx16": true, - "de": true, - "stepping": 3, - "xsave": true, - "clflush": true, - "skinit": false, - "tsc": true, - "tce": false, - "fpu": true, - "ds-cpl": false, - "ibs": false, - "fma4": false, - "la57": false, - "osvw": false, - "apic": true, - "pmm": false, - "tsc-adjust": true, - "kvm-steal-time": true, - "kvmclock": true, - "lwp": false, - "xop": false, - "avx": true, - "ospke": false, - "acpi": false, - "avx512bw": false, - "ace2": false, - "fsgsbase": true, - "ht": false, - "nx": true, - "pclmulqdq": true, - "mmxext": false, - "popcnt": true, - "xsaves": true, - "lm": true, - "umip": false, - "pse": true, - "avx2": true, - "sep": true, - "nodeid-msr": false, - "misalignsse": false, - "min-xlevel": 2147483656, - "bmi1": true, - "bmi2": true, - "kvm-pv-unhalt": true, - "tsc-scale": false, - "topoext": false, - "clflushopt": true, - "monitor": false, - "avx512er": false, - "pmm-en": false, - "pcid": true, - "3dnow": false, - "erms": true, - "lahf-lm": true, - "fxsr-opt": false, - "xstore": false, - "rtm": true, - "lmce": true, - "perfctr-nb": false, - "rdrand": true, - "rdseed": true, - "avx512-4vnniw": false, - "vme": true, - "vmx": true, - "dtes64": false, - "mtrr": true, - "rdtscp": true, - "pse36": true, - "tbm": false, - "wdt": false, - "model-id": "Intel(R) Xeon(R) CPU E3-1245 v5 @ 3.50GHz", - "sha-ni": false, - "abm": true, - "avx512pf": false, - "xstore-en": false - } - } - }, "id": "libvirt-47" } @@ -15251,110 +15080,80 @@ "model": { "name": "base", "props": { - "phys-bits": 0, - "core-id": -1, - "xlevel": 2147483656, "cmov": true, "ia64": false, "aes": true, "mmx": true, - "arat": true, "rdpid": false, + "arat": true, "pause-filter": false, "xsavec": true, "osxsave": false, - "tsc-frequency": 0, - "xd": true, - "hv-vendor-id": "", "kvm-asyncpf": true, - "kvm_asyncpf": true, - "perfctr_core": false, "perfctr-core": false, "mpx": true, + "pbe": false, "avx512cd": false, "decodeassists": false, - "pbe": false, - "sse4_1": true, "sse4.1": true, - "sse4-1": true, "family": 6, - "vmware-cpuid-freq": true, "avx512f": false, - "xcrypt": false, - "hv-runtime": false, "msr": true, "mce": true, "mca": true, - "thread-id": -1, + "xcrypt": false, "min-level": 13, "xgetbv1": true, "cid": false, - "hv-relaxed": false, - "fxsr": true, "ds": false, - "hv-crash": false, + "fxsr": true, "xsaveopt": true, "xtpr": false, + "avx512vl": false, "avx512-vpopcntdq": false, "phe": false, - "avx512vl": false, "extapic": false, "3dnowprefetch": true, "cr8legacy": false, - "cpuid-0xb": true, "xcrypt-en": false, - "kvm_pv_eoi": true, - "apic-id": 4294967295, "pn": false, "dca": false, "vendor": "GenuineIntel", "pku": false, "smx": false, "cmp-legacy": false, - "cmp_legacy": false, "avx512-4fmaps": false, "vmcb-clean": false, - "vmcb_clean": false, - "3dnowext": false, "hle": true, + "3dnowext": false, "npt": false, - "memory": "/machine/unattached/system[0]", "clwb": false, "lbrv": false, "adx": true, "ss": true, "pni": true, - "svm_lock": false, "svm-lock": false, "smep": true, - "pfthreshold": false, "smap": true, + "pfthreshold": false, "x2apic": true, "avx512vbmi": false, - "hv-stimer": false, - "i64": true, "flushbyasid": false, "f16c": true, "ace2-en": false, - "pat": true, "pae": true, + "pat": true, "sse": true, "phe-en": false, "kvm-nopiodelay": true, - "kvm_nopiodelay": true, "tm": false, "kvmclock-stable-bit": true, "hypervisor": true, - "socket-id": -1, "pcommit": false, "syscall": true, - "level": 13, "avx512dq": false, "svm": false, - "full-cpuid-auto-level": true, - "hv-reset": false, "invtsc": false, - "sse3": true, "sse2": true, "est": false, "avx512ifma": false, @@ -15362,62 +15161,44 @@ "kvm-pv-eoi": true, "cx8": true, "kvm-mmu": false, - "kvm_mmu": false, - "sse4_2": true, "sse4.2": true, - "sse4-2": true, "pge": true, - "fill-mtrr-mask": true, "pdcm": false, - "nodeid_msr": false, "model": 94, "movbe": true, "nrip-save": false, - "nrip_save": false, - "sse4a": false, "ssse3": true, - "kvm_pv_unhalt": true, + "sse4a": false, "invpcid": true, "pdpe1gb": true, "tsc-deadline": true, "fma": true, "cx16": true, "de": true, - "enforce": false, "stepping": 3, "xsave": true, "clflush": true, "skinit": false, - "tce": false, "tsc": true, + "tce": false, "fpu": true, "ds-cpl": false, - "ds_cpl": false, "ibs": false, - "host-phys-bits": false, "fma4": false, "la57": false, "osvw": false, - "check": true, - "hv-spinlocks": -1, - "pmm": false, "apic": true, - "pmu": false, - "min-xlevel2": 0, + "pmm": false, "tsc-adjust": true, - "tsc_adjust": true, "kvm-steal-time": true, - "kvm_steal_time": true, "kvmclock": true, - "l3-cache": true, "lwp": false, "xop": false, "avx": true, "ospke": false, - "ace2": false, "acpi": false, "avx512bw": false, - "hv-vapic": false, + "ace2": false, "fsgsbase": true, "ht": false, "nx": true, @@ -15427,25 +15208,18 @@ "xsaves": true, "lm": true, "umip": false, - "avx2": true, "pse": true, + "avx2": true, "sep": true, - "pclmuldq": true, "nodeid-msr": false, - "kvm": true, "misalignsse": false, "min-xlevel": 2147483656, - "bmi2": true, "bmi1": true, + "bmi2": true, "kvm-pv-unhalt": true, - "realized": false, - "tsc_scale": false, "tsc-scale": false, "topoext": false, - "hv-vpindex": false, - "xlevel2": 0, "clflushopt": true, - "kvm-no-smi-migration": false, "monitor": false, "avx512er": false, "pmm-en": false, @@ -15453,17 +15227,11 @@ "3dnow": false, "erms": true, "lahf-lm": true, - "lahf_lm": true, - "xstore": false, - "hv-synic": false, "fxsr-opt": false, - "fxsr_opt": false, + "xstore": false, "rtm": true, "lmce": true, - "hv-time": false, "perfctr-nb": false, - "perfctr_nb": false, - "ffxsr": false, "rdrand": true, "rdseed": true, "avx512-4vnniw": false, @@ -15475,7 +15243,6 @@ "pse36": true, "tbm": false, "wdt": false, - "pause_filter": false, "model-id": "Intel(R) Xeon(R) CPU E3-1245 v5 @ 3.50GHz", "sha-ni": false, "abm": true, @@ -15487,6 +15254,247 @@ "id": "libvirt-48" } +{ + "return": { + "model": { + "name": "base", + "props": { + "phys-bits": 0, + "core-id": -1, + "xlevel": 2147483656, + "cmov": true, + "ia64": false, + "aes": true, + "mmx": true, + "arat": true, + "rdpid": false, + "pause-filter": false, + "xsavec": true, + "osxsave": false, + "tsc-frequency": 0, + "xd": true, + "hv-vendor-id": "", + "kvm-asyncpf": true, + "kvm_asyncpf": true, + "perfctr_core": false, + "perfctr-core": false, + "mpx": true, + "avx512cd": false, + "decodeassists": false, + "pbe": false, + "sse4_1": true, + "sse4.1": true, + "sse4-1": true, + "family": 6, + "vmware-cpuid-freq": true, + "avx512f": false, + "xcrypt": false, + "hv-runtime": false, + "msr": true, + "mce": true, + "mca": true, + "thread-id": -1, + "min-level": 13, + "xgetbv1": true, + "cid": false, + "hv-relaxed": false, + "fxsr": true, + "ds": false, + "hv-crash": false, + "xsaveopt": true, + "xtpr": false, + "avx512-vpopcntdq": false, + "phe": false, + "avx512vl": false, + "extapic": false, + "3dnowprefetch": true, + "cr8legacy": false, + "cpuid-0xb": true, + "xcrypt-en": false, + "kvm_pv_eoi": true, + "apic-id": 4294967295, + "pn": false, + "dca": false, + "vendor": "GenuineIntel", + "pku": false, + "smx": false, + "cmp-legacy": false, + "cmp_legacy": false, + "avx512-4fmaps": false, + "vmcb-clean": false, + "vmcb_clean": false, + "3dnowext": false, + "hle": true, + "npt": false, + "memory": "/machine/unattached/system[0]", + "clwb": false, + "lbrv": false, + "adx": true, + "ss": true, + "pni": true, + "svm_lock": false, + "svm-lock": false, + "smep": true, + "pfthreshold": false, + "smap": true, + "x2apic": true, + "avx512vbmi": false, + "hv-stimer": false, + "i64": true, + "flushbyasid": false, + "f16c": true, + "ace2-en": false, + "pat": true, + "pae": true, + "sse": true, + "phe-en": false, + "kvm-nopiodelay": true, + "kvm_nopiodelay": true, + "tm": false, + "kvmclock-stable-bit": true, + "hypervisor": true, + "socket-id": -1, + "pcommit": false, + "syscall": true, + "level": 13, + "avx512dq": false, + "svm": false, + "full-cpuid-auto-level": true, + "hv-reset": false, + "invtsc": false, + "sse3": true, + "sse2": true, + "est": false, + "avx512ifma": false, + "tm2": false, + "kvm-pv-eoi": true, + "cx8": true, + "kvm-mmu": false, + "kvm_mmu": false, + "sse4_2": true, + "sse4.2": true, + "sse4-2": true, + "pge": true, + "fill-mtrr-mask": true, + "pdcm": false, + "nodeid_msr": false, + "model": 94, + "movbe": true, + "nrip-save": false, + "nrip_save": false, + "sse4a": false, + "ssse3": true, + "kvm_pv_unhalt": true, + "invpcid": true, + "pdpe1gb": true, + "tsc-deadline": true, + "fma": true, + "cx16": true, + "de": true, + "enforce": false, + "stepping": 3, + "xsave": true, + "clflush": true, + "skinit": false, + "tce": false, + "tsc": true, + "fpu": true, + "ds-cpl": false, + "ds_cpl": false, + "ibs": false, + "host-phys-bits": false, + "fma4": false, + "la57": false, + "osvw": false, + "check": true, + "hv-spinlocks": -1, + "pmm": false, + "apic": true, + "pmu": false, + "min-xlevel2": 0, + "tsc-adjust": true, + "tsc_adjust": true, + "kvm-steal-time": true, + "kvm_steal_time": true, + "kvmclock": true, + "l3-cache": true, + "lwp": false, + "xop": false, + "avx": true, + "ospke": false, + "ace2": false, + "acpi": false, + "avx512bw": false, + "hv-vapic": false, + "fsgsbase": true, + "ht": false, + "nx": true, + "pclmulqdq": true, + "mmxext": false, + "popcnt": true, + "xsaves": true, + "lm": true, + "umip": false, + "avx2": true, + "pse": true, + "sep": true, + "pclmuldq": true, + "nodeid-msr": false, + "kvm": true, + "misalignsse": false, + "min-xlevel": 2147483656, + "bmi2": true, + "bmi1": true, + "kvm-pv-unhalt": true, + "realized": false, + "tsc_scale": false, + "tsc-scale": false, + "topoext": false, + "hv-vpindex": false, + "xlevel2": 0, + "clflushopt": true, + "kvm-no-smi-migration": false, + "monitor": false, + "avx512er": false, + "pmm-en": false, + "pcid": true, + "3dnow": false, + "erms": true, + "lahf-lm": true, + "lahf_lm": true, + "xstore": false, + "hv-synic": false, + "fxsr-opt": false, + "fxsr_opt": false, + "rtm": true, + "lmce": true, + "hv-time": false, + "perfctr-nb": false, + "perfctr_nb": false, + "ffxsr": false, + "rdrand": true, + "rdseed": true, + "avx512-4vnniw": false, + "vme": true, + "vmx": true, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "pse36": true, + "tbm": false, + "wdt": false, + "pause_filter": false, + "model-id": "Intel(R) Xeon(R) CPU E3-1245 v5 @ 3.50GHz", + "sha-ni": false, + "abm": true, + "avx512pf": false, + "xstore-en": false + } + } + }, + "id": "libvirt-49" +} + { "return": { "model": { @@ -15663,7 +15671,7 @@ } } }, - "id": "libvirt-49" + "id": "libvirt-50" } { @@ -15904,7 +15912,7 @@ } } }, - "id": "libvirt-50" + "id": "libvirt-51" } { diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml index 5bd53f71f5..27190356ef 100644 --- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml @@ -221,7 +221,7 @@ <flag name='dump-completed'/> <version>2009000</version> <kvmVersion>0</kvmVersion> - <microcodeVersion>320947</microcodeVersion> + <microcodeVersion>321102</microcodeVersion> <package> (v2.9.0)</package> <arch>x86_64</arch> <hostCPU type='kvm' model='base' migratability='yes'> -- 2.16.1

On Thu, Apr 12, 2018 at 18:39:51 +0200, Michal Privoznik wrote:
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
So this really needs to be squashed into the previous commit. Also It would help if you'd describe what you are doing since it does not seem to be the classic churn from just updating the ordering of capabilities. Also I'd suggest to not add a sign-off to patches which you don't intend to push, since the commit hook will save you from doing a mistake.
---
[...]
diff --git a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml index ca98ee14db..bc82624335 100644 --- a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml @@ -160,7 +160,7 @@ <flag name='isa-serial'/> <version>2001001</version> <kvmVersion>0</kvmVersion> - <microcodeVersion>58992</microcodeVersion> + <microcodeVersion>59147</microcodeVersion>
I think this change is not warranted here. If you regenerated the capabilities, you need to make sure that the emulators you use have the same config, so that we don't change anything that's not necessary. There are a few other examples here, e.g. with the cpu flags. It's a shame though that object-add QMP command is not introspectable via the QMP schema. It would quite simplify this series. NACK to change to data which is not relevant to the capability you are introducing.

On 04/17/2018 10:39 AM, Peter Krempa wrote:
On Thu, Apr 12, 2018 at 18:39:51 +0200, Michal Privoznik wrote:
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
So this really needs to be squashed into the previous commit. Also It would help if you'd describe what you are doing since it does not seem to be the classic churn from just updating the ordering of capabilities.
Also I'd suggest to not add a sign-off to patches which you don't intend to push, since the commit hook will save you from doing a mistake.
---
[...]
diff --git a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml index ca98ee14db..bc82624335 100644 --- a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml @@ -160,7 +160,7 @@ <flag name='isa-serial'/> <version>2001001</version> <kvmVersion>0</kvmVersion> - <microcodeVersion>58992</microcodeVersion> + <microcodeVersion>59147</microcodeVersion>
I think this change is not warranted here. If you regenerated the capabilities, you need to make sure that the emulators you use have the same config, so that we don't change anything that's not necessary.
There are a few other examples here, e.g. with the cpu flags.
It's a shame though that object-add QMP command is not introspectable via the QMP schema. It would quite simplify this series.
NACK to change to data which is not relevant to the capability you are introducing.
In fact it is. In the tests, microcode version is just the file length of input .replies file. It doesn't reflect any real microcode version. Just look at testQemuCaps() from tests/qemucapabilitiestest.c. Michal

On Tue, Apr 17, 2018 at 10:52:40 +0200, Michal Privoznik wrote:
On 04/17/2018 10:39 AM, Peter Krempa wrote:
On Thu, Apr 12, 2018 at 18:39:51 +0200, Michal Privoznik wrote:
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
So this really needs to be squashed into the previous commit. Also It would help if you'd describe what you are doing since it does not seem to be the classic churn from just updating the ordering of capabilities.
Also I'd suggest to not add a sign-off to patches which you don't intend to push, since the commit hook will save you from doing a mistake.
---
[...]
diff --git a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml index ca98ee14db..bc82624335 100644 --- a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml @@ -160,7 +160,7 @@ <flag name='isa-serial'/> <version>2001001</version> <kvmVersion>0</kvmVersion> - <microcodeVersion>58992</microcodeVersion> + <microcodeVersion>59147</microcodeVersion>
I think this change is not warranted here. If you regenerated the capabilities, you need to make sure that the emulators you use have the same config, so that we don't change anything that's not necessary.
There are a few other examples here, e.g. with the cpu flags.
It's a shame though that object-add QMP command is not introspectable via the QMP schema. It would quite simplify this series.
NACK to change to data which is not relevant to the capability you are introducing.
In fact it is. In the tests, microcode version is just the file length of input .replies file. It doesn't reflect any real microcode version. Just look at testQemuCaps() from tests/qemucapabilitiestest.c.
Oh ... (hits face with palm). Also I've noticed that the churn in the cpu flags data looks like just git wrongly picking how to create the diff. At any rate, it needs to be squashed to the previous commit.

https://bugzilla.redhat.com/show_bug.cgi?id=1480668 Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/qemu/qemu_command.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index f864350bd5..67350719aa 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -3148,6 +3148,12 @@ qemuBuildMemoryBackendStr(virJSONValuePtr *backendProps, NULL) < 0) goto cleanup; + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_MEMORY_FILE_DISCARD) && + virJSONValueObjectAdd(props, + "B:discard-data", true, + NULL) < 0) + goto cleanup; + switch (memAccess) { case VIR_DOMAIN_MEMORY_ACCESS_SHARED: if (virJSONValueObjectAdd(props, "b:share", true, NULL) < 0) -- 2.16.1

On Thu, Apr 12, 2018 at 18:39:52 +0200, Michal Privoznik wrote:
https://bugzilla.redhat.com/show_bug.cgi?id=1480668
Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/qemu/qemu_command.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index f864350bd5..67350719aa 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -3148,6 +3148,12 @@ qemuBuildMemoryBackendStr(virJSONValuePtr *backendProps, NULL) < 0) goto cleanup;
+ if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_MEMORY_FILE_DISCARD) && + virJSONValueObjectAdd(props, + "B:discard-data", true,
This code path is used also for NVDIMMs, and since the documentaion for the option states that: The new option can be used to indicate that the file contents can be destroyed and don't need to be flushed to disk when QEMU exits or when the memory backend object is removed. I'm not sure whether this is right.

On 04/17/2018 10:05 AM, Peter Krempa wrote:
On Thu, Apr 12, 2018 at 18:39:52 +0200, Michal Privoznik wrote:
https://bugzilla.redhat.com/show_bug.cgi?id=1480668
Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/qemu/qemu_command.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index f864350bd5..67350719aa 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -3148,6 +3148,12 @@ qemuBuildMemoryBackendStr(virJSONValuePtr *backendProps, NULL) < 0) goto cleanup;
+ if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_MEMORY_FILE_DISCARD) && + virJSONValueObjectAdd(props, + "B:discard-data", true,
This code path is used also for NVDIMMs, and since the documentaion for the option states that:
The new option can be used to indicate that the file contents can be destroyed and don't need to be flushed to disk when QEMU exits or when the memory backend object is removed.
I'm not sure whether this is right.
Okay, I'll make it configurable via domain XML. However, I'm struggling to come up with useful design. Perhaps we can have <discardData/> element under <memoryBacking/>? <memoryBacking> <discardData/> </memoryBacking> and in order to be able to fine tune this per nvdimm/RAM modules we can have: <memory model='nvdimm'> <source ../> <target ../> <discardData/> </memory> However, this would allow the element even for cases when memory-backing-ram is used (or the old way of configuration without any memory-backend-* at all). Michal

On Tue, Apr 17, 2018 at 10:49:39 +0200, Michal Privoznik wrote:
On 04/17/2018 10:05 AM, Peter Krempa wrote:
On Thu, Apr 12, 2018 at 18:39:52 +0200, Michal Privoznik wrote:
https://bugzilla.redhat.com/show_bug.cgi?id=1480668
Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/qemu/qemu_command.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index f864350bd5..67350719aa 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -3148,6 +3148,12 @@ qemuBuildMemoryBackendStr(virJSONValuePtr *backendProps, NULL) < 0) goto cleanup;
+ if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_MEMORY_FILE_DISCARD) && + virJSONValueObjectAdd(props, + "B:discard-data", true,
This code path is used also for NVDIMMs, and since the documentaion for the option states that:
The new option can be used to indicate that the file contents can be destroyed and don't need to be flushed to disk when QEMU exits or when the memory backend object is removed.
I'm not sure whether this is right.
Okay, I'll make it configurable via domain XML. However, I'm struggling to come up with useful design. Perhaps we can have <discardData/> element under <memoryBacking/>?
<memoryBacking> <discardData/> </memoryBacking>
and in order to be able to fine tune this per nvdimm/RAM modules we can have:
<memory model='nvdimm'> <source ../> <target ../> <discardData/> </memory>
However, this would allow the element even for cases when memory-backing-ram is used (or the old way of configuration without any memory-backend-* at all).
Well, I think you need to think more about how this is going to be used. I think that for NVDIMMs we should never use that option, but for normal memory dimms we should always use it. I don't really think that having it configurable would add any benefit. I just wanted to point out that for NVDIMMS which are supposed to be persistent we should not destroy the data.
participants (2)
-
Michal Privoznik
-
Peter Krempa