From: Andrea Bolognani Date: Mon, 16 May 2016 08:08:29 +0000 (+0200) Subject: qemu: Drop QEMU_CAPS_CPU_HOST X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=859743c27c48d036f91c0c697f3ad6749a18880d;p=libvirt.git qemu: Drop QEMU_CAPS_CPU_HOST The only QEMU versions that don't have such capability are <0.11, which we no longer support anyway --- diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 8098416be5..07a3b9a747 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -929,11 +929,9 @@ virQEMUCapsInitGuestFromBinary(virCapsPtr caps, machines = NULL; nmachines = 0; - if ((virQEMUCapsGet(qemubinCaps, QEMU_CAPS_CPU_HOST) || - (caps->host.cpu && - caps->host.cpu->model && - virQEMUCapsGetCPUDefinitions(qemubinCaps, NULL) > 0)) && - !virCapabilitiesAddGuestFeature(guest, "cpuselection", true, false)) + /* CPU selection is always available, because all QEMU versions + * we support can use at least '-cpu host' */ + if (!virCapabilitiesAddGuestFeature(guest, "cpuselection", true, false)) goto cleanup; if (virQEMUCapsGet(qemubinCaps, QEMU_CAPS_BOOTINDEX) && @@ -1303,9 +1301,6 @@ virQEMUCapsComputeCmdFlags(const char *help, if (version >= 13000) virQEMUCapsSet(qemuCaps, QEMU_CAPS_PCI_MULTIFUNCTION); - if (version >= 11000) - virQEMUCapsSet(qemuCaps, QEMU_CAPS_CPU_HOST); - if (version >= 1001000) { virQEMUCapsSet(qemuCaps, QEMU_CAPS_IPV6_MIGRATION); virQEMUCapsSet(qemuCaps, QEMU_CAPS_VNC_SHARE_POLICY); @@ -3391,7 +3386,6 @@ virQEMUCapsInitQMPBasic(virQEMUCapsPtr qemuCaps) virQEMUCapsSet(qemuCaps, QEMU_CAPS_FSDEV_READONLY); virQEMUCapsSet(qemuCaps, QEMU_CAPS_VIRTIO_BLK_SG_IO); virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_COPY_ON_READ); - virQEMUCapsSet(qemuCaps, QEMU_CAPS_CPU_HOST); virQEMUCapsSet(qemuCaps, QEMU_CAPS_FSDEV_WRITEOUT); virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_IOTUNE); virQEMUCapsSet(qemuCaps, QEMU_CAPS_WAKEUP); diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 2d8f82ddf7..7b0d150726 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -161,7 +161,7 @@ typedef enum { QEMU_CAPS_VIRTIO_BLK_SCSI, /* virtio-blk-pci.scsi */ QEMU_CAPS_VIRTIO_BLK_SG_IO, /* SG_IO commands, since 0.11 */ QEMU_CAPS_DRIVE_COPY_ON_READ, /* -drive copy-on-read */ - QEMU_CAPS_CPU_HOST, /* support for -cpu host */ + X_QEMU_CAPS_CPU_HOST, /* support for -cpu host */ QEMU_CAPS_FSDEV_WRITEOUT, /* -fsdev writeout supported */ /* 85 */ diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index fc92b7d123..25f34de7cd 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -6487,17 +6487,10 @@ qemuBuildCpuModelArgStr(virQEMUDriverPtr driver, if ((cpu->mode == VIR_CPU_MODE_HOST_PASSTHROUGH) || ((cpu->mode == VIR_CPU_MODE_HOST_MODEL) && ARCH_IS_PPC64(def->os.arch))) { - const char *mode = virCPUModeTypeToString(cpu->mode); - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_CPU_HOST)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("CPU mode '%s' is not supported by QEMU" - " binary"), mode); - goto cleanup; - } if (def->virtType != VIR_DOMAIN_VIRT_KVM) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("CPU mode '%s' is only supported with kvm"), - mode); + virCPUModeTypeToString(cpu->mode)); goto cleanup; } virBufferAddLit(buf, "host"); diff --git a/tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml index 257a123896..80b7ab8d4f 100644 --- a/tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml @@ -55,7 +55,6 @@ - diff --git a/tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml index 39d4cc362f..452b05fe62 100644 --- a/tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml @@ -57,7 +57,6 @@ - diff --git a/tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml index cbb6d8801c..c185d9af87 100644 --- a/tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml @@ -57,7 +57,6 @@ - diff --git a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml index cb3aa68e0a..8bf550b5ba 100644 --- a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml @@ -56,7 +56,6 @@ - diff --git a/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml index bdd7f5f10e..d5664fa0e2 100644 --- a/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml @@ -57,7 +57,6 @@ - diff --git a/tests/qemucapabilitiesdata/caps_1.6.50.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.6.50.x86_64.xml index 122082d517..66491967e0 100644 --- a/tests/qemucapabilitiesdata/caps_1.6.50.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.6.50.x86_64.xml @@ -57,7 +57,6 @@ - diff --git a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml index f7ae674d03..aa5626d215 100644 --- a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml @@ -58,7 +58,6 @@ - diff --git a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml index 37ab286726..50aae1e6d2 100644 --- a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml @@ -57,7 +57,6 @@ - diff --git a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml index eb411f57a4..0dd20d17ac 100644 --- a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml @@ -57,7 +57,6 @@ - diff --git a/tests/qemucapabilitiesdata/caps_2.6.0-gicv2.aarch64.xml b/tests/qemucapabilitiesdata/caps_2.6.0-gicv2.aarch64.xml index 362ec1c796..954247c8f5 100644 --- a/tests/qemucapabilitiesdata/caps_2.6.0-gicv2.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_2.6.0-gicv2.aarch64.xml @@ -48,7 +48,6 @@ - diff --git a/tests/qemucapabilitiesdata/caps_2.6.0-gicv3.aarch64.xml b/tests/qemucapabilitiesdata/caps_2.6.0-gicv3.aarch64.xml index 21380491d7..979b96a3e8 100644 --- a/tests/qemucapabilitiesdata/caps_2.6.0-gicv3.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_2.6.0-gicv3.aarch64.xml @@ -48,7 +48,6 @@ - diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.ppc64le.xml b/tests/qemucapabilitiesdata/caps_2.6.0.ppc64le.xml index 1d5d67043f..d3e88aad90 100644 --- a/tests/qemucapabilitiesdata/caps_2.6.0.ppc64le.xml +++ b/tests/qemucapabilitiesdata/caps_2.6.0.ppc64le.xml @@ -46,7 +46,6 @@ - diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml index 70788272ec..7d47f2a1c9 100644 --- a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml @@ -57,7 +57,6 @@ - diff --git a/tests/qemuhelptest.c b/tests/qemuhelptest.c index c0bc98ed6e..6cd6883dba 100644 --- a/tests/qemuhelptest.c +++ b/tests/qemuhelptest.c @@ -169,7 +169,6 @@ mymain(void) QEMU_CAPS_NO_SHUTDOWN, QEMU_CAPS_NO_ACPI, QEMU_CAPS_VIRTIO_BLK_SG_IO, - QEMU_CAPS_CPU_HOST, QEMU_CAPS_VNC); DO_TEST("qemu-kvm-0.12.1.2-rhel60", 12001, 1, 0, QEMU_CAPS_DRIVE_BOOT, @@ -205,7 +204,6 @@ mymain(void) QEMU_CAPS_NO_SHUTDOWN, QEMU_CAPS_NO_ACPI, QEMU_CAPS_VIRTIO_BLK_SG_IO, - QEMU_CAPS_CPU_HOST, QEMU_CAPS_VNC, QEMU_CAPS_DEVICE_QXL, QEMU_CAPS_DEVICE_VGA, @@ -243,7 +241,6 @@ mymain(void) QEMU_CAPS_NO_SHUTDOWN, QEMU_CAPS_NO_ACPI, QEMU_CAPS_VIRTIO_BLK_SG_IO, - QEMU_CAPS_CPU_HOST, QEMU_CAPS_VNC); DO_TEST("qemu-kvm-0.13.0", 13000, 1, 0, QEMU_CAPS_DRIVE_BOOT, @@ -285,7 +282,6 @@ mymain(void) QEMU_CAPS_NO_SHUTDOWN, QEMU_CAPS_NO_ACPI, QEMU_CAPS_VIRTIO_BLK_SG_IO, - QEMU_CAPS_CPU_HOST, QEMU_CAPS_SCSI_LSI, QEMU_CAPS_VNC, QEMU_CAPS_DEVICE_QXL, @@ -343,7 +339,6 @@ mymain(void) QEMU_CAPS_NO_ACPI, QEMU_CAPS_VIRTIO_BLK_SCSI, QEMU_CAPS_VIRTIO_BLK_SG_IO, - QEMU_CAPS_CPU_HOST, QEMU_CAPS_BLOCKIO, QEMU_CAPS_VNC, QEMU_CAPS_DEVICE_QXL, @@ -406,7 +401,6 @@ mymain(void) QEMU_CAPS_VIRTIO_BLK_SCSI, QEMU_CAPS_VIRTIO_BLK_SG_IO, QEMU_CAPS_DRIVE_COPY_ON_READ, - QEMU_CAPS_CPU_HOST, QEMU_CAPS_SCSI_CD, QEMU_CAPS_BLOCKIO, QEMU_CAPS_VNC, @@ -469,7 +463,6 @@ mymain(void) QEMU_CAPS_FSDEV_READONLY, QEMU_CAPS_VIRTIO_BLK_SCSI, QEMU_CAPS_VIRTIO_BLK_SG_IO, - QEMU_CAPS_CPU_HOST, QEMU_CAPS_FSDEV_WRITEOUT, QEMU_CAPS_SCSI_BLOCK, QEMU_CAPS_SCSI_CD, @@ -547,7 +540,6 @@ mymain(void) QEMU_CAPS_VIRTIO_BLK_SCSI, QEMU_CAPS_VIRTIO_BLK_SG_IO, QEMU_CAPS_DRIVE_COPY_ON_READ, - QEMU_CAPS_CPU_HOST, QEMU_CAPS_FSDEV_WRITEOUT, QEMU_CAPS_DRIVE_IOTUNE, QEMU_CAPS_SCSI_DISK_CHANNEL, diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 1f6b6dfd78..c326ad3f0b 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -647,7 +647,7 @@ mymain(void) QEMU_CAPS_NO_KVM_PIT); DO_TEST("clock-catchup", QEMU_CAPS_RTC, QEMU_CAPS_NO_KVM_PIT); DO_TEST("cpu-kvmclock", QEMU_CAPS_ENABLE_KVM); - DO_TEST("cpu-host-kvmclock", QEMU_CAPS_ENABLE_KVM, QEMU_CAPS_CPU_HOST); + DO_TEST("cpu-host-kvmclock", QEMU_CAPS_ENABLE_KVM); DO_TEST("kvmclock", QEMU_CAPS_KVM); DO_TEST("clock-timer-hyperv-rtc", QEMU_CAPS_KVM); @@ -1289,10 +1289,9 @@ mymain(void) DO_TEST("cpu-host-model-fallback", NONE); DO_TEST_FAILURE("cpu-host-model-nofallback", NONE); skipLegacyCPUs = false; - DO_TEST("cpu-host-passthrough", QEMU_CAPS_KVM, QEMU_CAPS_CPU_HOST); + DO_TEST("cpu-host-passthrough", QEMU_CAPS_KVM); DO_TEST_FAILURE("cpu-host-passthrough", NONE); - DO_TEST_FAILURE("cpu-qemu-host-passthrough", - QEMU_CAPS_KVM, QEMU_CAPS_CPU_HOST); + DO_TEST_FAILURE("cpu-qemu-host-passthrough", QEMU_CAPS_KVM); driver.caps->host.cpu = cpuHaswell; DO_TEST("cpu-Haswell", QEMU_CAPS_KVM); @@ -1389,9 +1388,9 @@ mymain(void) QEMU_CAPS_NODEFCONFIG); DO_TEST("pseries-cpu-exact", QEMU_CAPS_CHARDEV, QEMU_CAPS_NODEFCONFIG); - DO_TEST("pseries-cpu-compat", QEMU_CAPS_KVM, QEMU_CAPS_CPU_HOST, + DO_TEST("pseries-cpu-compat", QEMU_CAPS_KVM, QEMU_CAPS_CHARDEV, QEMU_CAPS_NODEFCONFIG); - DO_TEST("pseries-cpu-le", QEMU_CAPS_KVM, QEMU_CAPS_CPU_HOST, + DO_TEST("pseries-cpu-le", QEMU_CAPS_KVM, QEMU_CAPS_CHARDEV, QEMU_CAPS_NODEFCONFIG); DO_TEST("pseries-panic-missing", QEMU_CAPS_CHARDEV, QEMU_CAPS_NODEFCONFIG); @@ -1717,49 +1716,49 @@ mymain(void) QEMU_CAPS_DEVICE_VIRTIO_MMIO); DO_TEST("aarch64-cpu-passthrough", QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DEVICE_VIRTIO_MMIO, - QEMU_CAPS_CPU_HOST, QEMU_CAPS_KVM); + QEMU_CAPS_KVM); DO_TEST("aarch64-gic-none", - QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST, + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_MACH_VIRT_GIC_VERSION); DO_TEST("aarch64-gic-none", - QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST); + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT); DO_TEST("aarch64-gic-default", - QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST, + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_MACH_VIRT_GIC_VERSION); DO_TEST("aarch64-gic-default", - QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST); + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT); DO_TEST("aarch64-gic-v2", - QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST, + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_MACH_VIRT_GIC_VERSION); DO_TEST("aarch64-gic-v2", - QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST); + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT); DO_TEST("aarch64-gic-v3", - QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST, + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_MACH_VIRT_GIC_VERSION); DO_TEST_FAILURE("aarch64-gic-v3", - QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST); + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT); DO_TEST("aarch64-gic-host", - QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST, + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_MACH_VIRT_GIC_VERSION); DO_TEST_FAILURE("aarch64-gic-host", - QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST); + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT); DO_TEST_PARSE_ERROR("aarch64-gic-invalid", - QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST, + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_MACH_VIRT_GIC_VERSION); DO_TEST_FAILURE("aarch64-gic-not-virt", - QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST, + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_MACH_VIRT_GIC_VERSION); DO_TEST_FAILURE("aarch64-gic-not-arm", - QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST, + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_MACH_VIRT_GIC_VERSION); driver.caps->host.cpu->arch = VIR_ARCH_AARCH64; DO_TEST("aarch64-kvm-32-on-64", QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DEVICE_VIRTIO_MMIO, - QEMU_CAPS_KVM, QEMU_CAPS_CPU_HOST, QEMU_CAPS_CPU_AARCH64_OFF); + QEMU_CAPS_KVM, QEMU_CAPS_CPU_AARCH64_OFF); DO_TEST_FAILURE("aarch64-kvm-32-on-64", QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DEVICE_VIRTIO_MMIO, - QEMU_CAPS_KVM, QEMU_CAPS_CPU_HOST); + QEMU_CAPS_KVM); driver.caps->host.cpu->arch = cpuDefault->arch; DO_TEST("kvm-pit-device", QEMU_CAPS_KVM_PIT_TICK_POLICY); @@ -1787,7 +1786,7 @@ mymain(void) DO_TEST_FAILURE("shmem-small-size", QEMU_CAPS_PCIDEVICE, QEMU_CAPS_DEVICE_IVSHMEM); DO_TEST_PARSE_ERROR("shmem-msi-only", NONE); - DO_TEST("cpu-host-passthrough-features", QEMU_CAPS_KVM, QEMU_CAPS_CPU_HOST); + DO_TEST("cpu-host-passthrough-features", QEMU_CAPS_KVM); DO_TEST_FAILURE("memory-align-fail", NONE); DO_TEST_FAILURE("memory-hotplug-nonuma", QEMU_CAPS_DEVICE_PC_DIMM);