From nobody Thu May 2 21:47:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1492095463697794.5270944454293; Thu, 13 Apr 2017 07:57:43 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 4D28C61D02; Thu, 13 Apr 2017 14:57:42 +0000 (UTC) Received: from colo-mx.corp.redhat.com (unknown [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 1E4507A4C3; Thu, 13 Apr 2017 14:57:42 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id C3CB75EC6C; Thu, 13 Apr 2017 14:57:41 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v3DEvMMP023618 for ; Thu, 13 Apr 2017 10:57:22 -0400 Received: by smtp.corp.redhat.com (Postfix) id 858908884D; Thu, 13 Apr 2017 14:57:22 +0000 (UTC) Received: from antique-work.brq.redhat.com (dhcp129-230.brq.redhat.com [10.34.129.230]) by smtp.corp.redhat.com (Postfix) with ESMTP id B721DC05C0 for ; Thu, 13 Apr 2017 14:57:21 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 4D28C61D02 Authentication-Results: ext-mx10.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx10.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=libvir-list-bounces@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 4D28C61D02 From: Pavel Hrdina To: libvir-list@redhat.com Date: Thu, 13 Apr 2017 16:57:13 +0200 Message-Id: In-Reply-To: References: In-Reply-To: References: X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH 1/4] qemu: refactor qemuDomainMachineIs* and qemuDomainMachineNeedsFDC X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Thu, 13 Apr 2017 14:57:43 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" These functions don't require the whole virDomainDef structure, they only need *machine* and *arch*. Signed-off-by: Pavel Hrdina --- src/qemu/qemu_alias.c | 4 +-- src/qemu/qemu_capabilities.c | 10 +++--- src/qemu/qemu_command.c | 42 +++++++++++----------- src/qemu/qemu_domain.c | 79 ++++++++++++++++++++++----------------= ---- src/qemu/qemu_domain.h | 14 ++++---- src/qemu/qemu_domain_address.c | 16 ++++----- src/qemu/qemu_hotplug.c | 14 ++++---- src/qemu/qemu_parse_command.c | 8 ++--- 8 files changed, 95 insertions(+), 92 deletions(-) diff --git a/src/qemu/qemu_alias.c b/src/qemu/qemu_alias.c index 05e1293ef0..2169744245 100644 --- a/src/qemu/qemu_alias.c +++ b/src/qemu/qemu_alias.c @@ -152,14 +152,14 @@ qemuAssignDeviceControllerAlias(virDomainDefPtr domai= nDef, * first (and currently only) IDE controller is an integrated * controller hardcoded with id "ide" */ - if (qemuDomainMachineHasBuiltinIDE(domainDef) && + if (qemuDomainMachineHasBuiltinIDE(domainDef->os.machine) && controller->idx =3D=3D 0) return VIR_STRDUP(controller->info.alias, "ide"); } else if (controller->type =3D=3D VIR_DOMAIN_CONTROLLER_TYPE_SATA) { /* for any Q35 machine, the first SATA controller is the * integrated one, and it too is hardcoded with id "ide" */ - if (qemuDomainMachineIsQ35(domainDef) && controller->idx =3D=3D 0) + if (qemuDomainMachineIsQ35(domainDef->os.machine) && controller->i= dx =3D=3D 0) return VIR_STRDUP(controller->info.alias, "ide"); } else if (controller->type =3D=3D VIR_DOMAIN_CONTROLLER_TYPE_USB) { /* first USB device is "usb", others are normal "usb%d" */ diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 3ab99f450e..06f122ed0d 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -2315,7 +2315,7 @@ bool virQEMUCapsHasPCIMultiBus(virQEMUCapsPtr qemuCap= s, /* If 'virt' supports PCI, it supports multibus. * No extra conditions here for simplicity. */ - if (qemuDomainMachineIsVirt(def)) + if (qemuDomainMachineIsVirt(def->os.machine, def->os.arch)) return true; =20 return false; @@ -5369,7 +5369,7 @@ virQEMUCapsSupportsChardev(const virDomainDef *def, return false; =20 if ((def->os.arch =3D=3D VIR_ARCH_PPC) || ARCH_IS_PPC64(def->os.arch))= { - if (!qemuDomainMachineIsPSeries(def)) + if (!qemuDomainMachineIsPSeries(def->os.machine, def->os.arch)) return false; /* only pseries need -device spapr-vty with -chardev */ if (chr->deviceType =3D=3D VIR_DOMAIN_CHR_DEVICE_TYPE_SERIAL && @@ -5396,8 +5396,8 @@ virQEMUCapsSupportsVmport(virQEMUCapsPtr qemuCaps, if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_MACHINE_VMPORT_OPT)) return false; =20 - return qemuDomainMachineIsI440FX(def) || - qemuDomainMachineIsQ35(def) || + return qemuDomainMachineIsI440FX(def->os.machine) || + qemuDomainMachineIsQ35(def->os.machine) || STREQ(def->os.machine, "isapc"); } =20 @@ -5409,7 +5409,7 @@ virQEMUCapsSupportsSMM(virQEMUCapsPtr qemuCaps, if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_MACHINE_SMM_OPT)) return false; =20 - return qemuDomainMachineIsQ35(def); + return qemuDomainMachineIsQ35(def->os.machine); } =20 =20 diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 57654246c0..599bc292db 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -1390,7 +1390,7 @@ qemuCheckCCWS390AddressSupport(const virDomainDef *de= f, const char *devicename) { if (info.type =3D=3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW) { - if (!qemuDomainMachineIsS390CCW(def)) { + if (!qemuDomainMachineIsS390CCW(def->os.machine)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("cannot use CCW address type for device " "'%s' using machine type '%s'"), @@ -2294,7 +2294,7 @@ qemuBuildDiskDriveCommandLine(virCommandPtr cmd, =20 /* PowerPC pseries based VMs do not support floppy device */ if (disk->device =3D=3D VIR_DOMAIN_DISK_DEVICE_FLOPPY && - qemuDomainMachineIsPSeries(def)) { + qemuDomainMachineIsPSeries(def->os.machine, def->os.arch)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("PowerPC pseries machines do not support flop= py device")); return -1; @@ -2345,7 +2345,7 @@ qemuBuildDiskDriveCommandLine(virCommandPtr cmd, disk->info.alias) < 0) return -1; =20 - if (!qemuDomainMachineNeedsFDC(def)) { + if (!qemuDomainMachineNeedsFDC(def->os.machine)) { virCommandAddArg(cmd, "-global"); virCommandAddArgFormat(cmd, "isa-fdc.%s", optstr); } else { @@ -2360,7 +2360,7 @@ qemuBuildDiskDriveCommandLine(virCommandPtr cmd, bootindex) < 0) return -1; =20 - if (!qemuDomainMachineNeedsFDC(def)) { + if (!qemuDomainMachineNeedsFDC(def->os.machine)) { virCommandAddArg(cmd, "-global"); virCommandAddArgFormat(cmd, "isa-fdc.%s", optstr); } else { @@ -3076,7 +3076,7 @@ qemuBuildControllerDevStr(const virDomainDef *domainD= ef, * specified, or one with a single IDE contraller had multiple * ide controllers specified. */ - if (qemuDomainMachineHasBuiltinIDE(domainDef)) + if (qemuDomainMachineHasBuiltinIDE(domainDef->os.machine)) virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("Only a single IDE controller is supported " "for this machine type")); @@ -3174,18 +3174,18 @@ qemuBuildControllerDevCommandLine(virCommandPtr cmd, =20 /* first SATA controller on Q35 machines is implicit */ if (cont->type =3D=3D VIR_DOMAIN_CONTROLLER_TYPE_SATA && - cont->idx =3D=3D 0 && qemuDomainMachineIsQ35(def)) + cont->idx =3D=3D 0 && qemuDomainMachineIsQ35(def->os.machi= ne)) continue; =20 /* first IDE controller is implicit on various machines */ if (cont->type =3D=3D VIR_DOMAIN_CONTROLLER_TYPE_IDE && - cont->idx =3D=3D 0 && qemuDomainMachineHasBuiltinIDE(def)) + cont->idx =3D=3D 0 && qemuDomainMachineHasBuiltinIDE(def->= os.machine)) continue; =20 if (cont->type =3D=3D VIR_DOMAIN_CONTROLLER_TYPE_USB && cont->model =3D=3D -1 && - !qemuDomainMachineIsQ35(def) && - !qemuDomainMachineIsVirt(def)) { + !qemuDomainMachineIsQ35(def->os.machine) && + !qemuDomainMachineIsVirt(def->os.machine, def->os.arch)) { =20 /* An appropriate default USB controller model should alre= ady * have been selected in qemuDomainDeviceDefPostParse(); if @@ -3222,8 +3222,8 @@ qemuBuildControllerDevCommandLine(virCommandPtr cmd, * not to add one either. Add a legacy USB controller, unless we're * creating a kind of guest we want to keep legacy-free */ if (usbcontroller =3D=3D 0 && - !qemuDomainMachineIsQ35(def) && - !qemuDomainMachineIsVirt(def) && + !qemuDomainMachineIsQ35(def->os.machine) && + !qemuDomainMachineIsVirt(def->os.machine, def->os.arch) && !ARCH_IS_S390(def->os.arch)) virCommandAddArg(cmd, "-usb"); =20 @@ -4104,7 +4104,7 @@ qemuBuildNVRAMCommandLine(virCommandPtr cmd, if (!def->nvram) return 0; =20 - if (qemuDomainMachineIsPSeries(def)) { + if (qemuDomainMachineIsPSeries(def->os.machine, def->os.arch)) { if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_NVRAM)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("nvram device is not supported by " @@ -6487,7 +6487,7 @@ qemuBuildPMCommandLine(virCommandPtr cmd, if (def->pm.s3) { const char *pm_object =3D "PIIX4_PM"; =20 - if (qemuDomainMachineIsQ35(def) && + if (qemuDomainMachineIsQ35(def->os.machine) && virQEMUCapsGet(qemuCaps, QEMU_CAPS_ICH9_DISABLE_S3)) { pm_object =3D "ICH9-LPC"; } else if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_PIIX_DISABLE_S3)) { @@ -6504,7 +6504,7 @@ qemuBuildPMCommandLine(virCommandPtr cmd, if (def->pm.s4) { const char *pm_object =3D "PIIX4_PM"; =20 - if (qemuDomainMachineIsQ35(def) && + if (qemuDomainMachineIsQ35(def->os.machine) && virQEMUCapsGet(qemuCaps, QEMU_CAPS_ICH9_DISABLE_S4)) { pm_object =3D "ICH9-LPC"; } else if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_PIIX_DISABLE_S4)) { @@ -6693,7 +6693,7 @@ qemuBuildIOMMUCommandLine(virCommandPtr cmd, virDomainIOMMUModelTypeToString(iommu->model)); return -1; } - if (!qemuDomainMachineIsQ35(def)) { + if (!qemuDomainMachineIsQ35(def->os.machine)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("IOMMU device: '%s' is only supported with " "Q35 machines"), @@ -6732,13 +6732,13 @@ qemuBuildGlobalControllerCommandLine(virCommandPtr = cmd, case VIR_DOMAIN_CONTROLLER_MODEL_PCI_ROOT: hoststr =3D "i440FX-pcihost"; cap =3D virQEMUCapsGet(qemuCaps, QEMU_CAPS_I440FX_PCI_HOLE= 64_SIZE); - machine =3D qemuDomainMachineIsI440FX(def); + machine =3D qemuDomainMachineIsI440FX(def->os.machine); break; =20 case VIR_DOMAIN_CONTROLLER_MODEL_PCIE_ROOT: hoststr =3D "q35-pcihost"; cap =3D virQEMUCapsGet(qemuCaps, QEMU_CAPS_Q35_PCI_HOLE64_= SIZE); - machine =3D qemuDomainMachineIsQ35(def); + machine =3D qemuDomainMachineIsQ35(def->os.machine); break; =20 default: @@ -7323,7 +7323,7 @@ qemuBuildMachineCommandLine(virCommandPtr cmd, =20 if (def->features[VIR_DOMAIN_FEATURE_GIC] =3D=3D VIR_TRISTATE_SWIT= CH_ON) { if (def->gic_version !=3D VIR_GIC_VERSION_NONE) { - if (!qemuDomainMachineIsVirt(def)) { + if (!qemuDomainMachineIsVirt(def->os.machine, def->os.arch= )) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("gic-version option is available " "only for ARM virt machine")); @@ -7352,7 +7352,7 @@ qemuBuildMachineCommandLine(virCommandPtr cmd, virQEMUCapsGet(qemuCaps, QEMU_CAPS_MACHINE_IOMMU)) { switch (def->iommu->model) { case VIR_DOMAIN_IOMMU_MODEL_INTEL: - if (!qemuDomainMachineIsQ35(def)) { + if (!qemuDomainMachineIsQ35(def->os.machine)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("IOMMU device: '%s' is only supported= with " "Q35 machines"), @@ -9615,7 +9615,7 @@ qemuBuildPanicCommandLine(virCommandPtr cmd, /* For pSeries guests, the firmware provides the same * functionality as the pvpanic device. The address * cannot be configured by the user */ - if (!qemuDomainMachineIsPSeries(def)) { + if (!qemuDomainMachineIsPSeries(def->os.machine, def->os.arch)= ) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("only pSeries guests support panic device= " "of model 'pseries'")); @@ -10041,7 +10041,7 @@ qemuBuildSerialChrDeviceStr(char **deviceStr, { virBuffer cmd =3D VIR_BUFFER_INITIALIZER; =20 - if (qemuDomainMachineIsPSeries(def)) { + if (qemuDomainMachineIsPSeries(def->os.machine, def->os.arch)) { if (serial->deviceType =3D=3D VIR_DOMAIN_CHR_DEVICE_TYPE_SERIAL && serial->info.type =3D=3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_SPAPRV= IO) { virBufferAsprintf(&cmd, "spapr-vty,chardev=3Dchar%s", diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 39bc8c7483..e1c46848b0 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -2365,7 +2365,7 @@ qemuDomainDefAddDefaultDevices(virDomainDefPtr def, addDefaultUSB =3D false; break; } - if (qemuDomainMachineIsQ35(def)) { + if (qemuDomainMachineIsQ35(def->os.machine)) { addPCIeRoot =3D true; addImplicitSATA =3D true; =20 @@ -2382,7 +2382,7 @@ qemuDomainDefAddDefaultDevices(virDomainDefPtr def, addDefaultUSB =3D false; break; } - if (qemuDomainMachineIsI440FX(def)) + if (qemuDomainMachineIsI440FX(def->os.machine)) addPCIRoot =3D true; break; =20 @@ -2390,7 +2390,7 @@ qemuDomainDefAddDefaultDevices(virDomainDefPtr def, case VIR_ARCH_AARCH64: addDefaultUSB =3D false; addDefaultMemballoon =3D false; - if (qemuDomainMachineIsVirt(def)) + if (qemuDomainMachineIsVirt(def->os.machine, def->os.arch)) addPCIeRoot =3D virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_GPEX= ); break; =20 @@ -2402,7 +2402,7 @@ qemuDomainDefAddDefaultDevices(virDomainDefPtr def, /* For pSeries guests, the firmware provides the same * functionality as the pvpanic device, so automatically * add the definition if not already present */ - if (qemuDomainMachineIsPSeries(def)) + if (qemuDomainMachineIsPSeries(def->os.machine, def->os.arch)) addPanicDevice =3D true; break; =20 @@ -2552,7 +2552,7 @@ qemuDomainDefEnableDefaultFeatures(virDomainDefPtr de= f, * was not included in the domain XML, we need to choose a suitable * GIC version ourselves */ if (def->features[VIR_DOMAIN_FEATURE_GIC] =3D=3D VIR_TRISTATE_SWITCH_A= BSENT && - qemuDomainMachineIsVirt(def)) { + qemuDomainMachineIsVirt(def->os.machine, def->os.arch)) { =20 VIR_DEBUG("Looking for usable GIC version in domain capabilities"); for (version =3D VIR_GIC_VERSION_LAST - 1; @@ -2940,7 +2940,7 @@ qemuDomainDefValidate(const virDomainDef *def, /* These are the QEMU implementation limitations. But we * have to live with them for now. */ =20 - if (!qemuDomainMachineIsQ35(def)) { + if (!qemuDomainMachineIsQ35(def->os.machine)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("Secure boot is supported with q35 machine ty= pes only")); goto cleanup; @@ -3039,7 +3039,7 @@ qemuDomainDefaultNetModel(const virDomainDef *def, if (STREQ(def->os.machine, "versatilepb")) return "smc91c111"; =20 - if (qemuDomainMachineIsVirt(def)) + if (qemuDomainMachineIsVirt(def->os.machine, def->os.arch)) return "virtio"; =20 /* Incomplete. vexpress (and a few others) use this, but not all @@ -3198,14 +3198,14 @@ qemuDomainControllerDefPostParse(virDomainControlle= rDefPtr cont, =20 case VIR_DOMAIN_CONTROLLER_TYPE_PCI: if (cont->model =3D=3D VIR_DOMAIN_CONTROLLER_MODEL_PCI_EXPANDER_BU= S && - !qemuDomainMachineIsI440FX(def)) { + !qemuDomainMachineIsI440FX(def->os.machine)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("pci-expander-bus controllers are only suppor= ted " "on 440fx-based machinetypes")); return -1; } if (cont->model =3D=3D VIR_DOMAIN_CONTROLLER_MODEL_PCIE_EXPANDER_B= US && - !qemuDomainMachineIsQ35(def)) { + !qemuDomainMachineIsQ35(def->os.machine)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("pcie-expander-bus controllers are only suppo= rted " "on q35-based machinetypes")); @@ -3360,7 +3360,7 @@ qemuDomainDeviceDefPostParse(virDomainDeviceDefPtr de= v, =20 if (dev->type =3D=3D VIR_DOMAIN_DEVICE_PANIC && dev->data.panic->model =3D=3D VIR_DOMAIN_PANIC_MODEL_DEFAULT) { - if (qemuDomainMachineIsPSeries(def)) + if (qemuDomainMachineIsPSeries(def->os.machine, def->os.arch)) dev->data.panic->model =3D VIR_DOMAIN_PANIC_MODEL_PSERIES; else if (ARCH_IS_S390(def->os.arch)) dev->data.panic->model =3D VIR_DOMAIN_PANIC_MODEL_S390; @@ -4047,7 +4047,8 @@ qemuDomainDefFormatBuf(virQEMUDriverPtr driver, * because other architectures and machine types were introduced * when libvirt already supported . */ - if (ARCH_IS_X86(def->os.arch) && qemuDomainMachineIsI440FX(def) && + if (ARCH_IS_X86(def->os.arch) && + qemuDomainMachineIsI440FX(def->os.machine) && usb && usb->idx =3D=3D 0 && (usb->model =3D=3D -1 || usb->model =3D=3D VIR_DOMAIN_CONTROLLER_MODEL_USB_PIIX3_UHCI)= ) { @@ -5855,21 +5856,21 @@ qemuFindAgentConfig(virDomainDefPtr def) =20 =20 bool -qemuDomainMachineIsQ35(const virDomainDef *def) +qemuDomainMachineIsQ35(const char *machine) { - return (STRPREFIX(def->os.machine, "pc-q35") || - STREQ(def->os.machine, "q35")); + return (STRPREFIX(machine, "pc-q35") || + STREQ(machine, "q35")); } =20 =20 bool -qemuDomainMachineIsI440FX(const virDomainDef *def) +qemuDomainMachineIsI440FX(const char *machine) { - return (STREQ(def->os.machine, "pc") || - STRPREFIX(def->os.machine, "pc-0.") || - STRPREFIX(def->os.machine, "pc-1.") || - STRPREFIX(def->os.machine, "pc-i440") || - STRPREFIX(def->os.machine, "rhel")); + return (STREQ(machine, "pc") || + STRPREFIX(machine, "pc-0.") || + STRPREFIX(machine, "pc-1.") || + STRPREFIX(machine, "pc-i440") || + STRPREFIX(machine, "rhel")); } =20 =20 @@ -5904,9 +5905,9 @@ qemuDomainMachineHasPCIeRoot(const virDomainDef *def) =20 =20 bool -qemuDomainMachineNeedsFDC(const virDomainDef *def) +qemuDomainMachineNeedsFDC(const char *machine) { - char *p =3D STRSKIP(def->os.machine, "pc-q35-"); + const char *p =3D STRSKIP(machine, "pc-q35-"); =20 if (p) { if (STRPREFIX(p, "1.") || @@ -5922,21 +5923,22 @@ qemuDomainMachineNeedsFDC(const virDomainDef *def) =20 =20 bool -qemuDomainMachineIsS390CCW(const virDomainDef *def) +qemuDomainMachineIsS390CCW(const char *machine) { - return STRPREFIX(def->os.machine, "s390-ccw"); + return STRPREFIX(machine, "s390-ccw"); } =20 =20 bool -qemuDomainMachineIsVirt(const virDomainDef *def) +qemuDomainMachineIsVirt(const char *machine, + const virArch arch) { - if (def->os.arch !=3D VIR_ARCH_ARMV7L && - def->os.arch !=3D VIR_ARCH_AARCH64) + if (arch !=3D VIR_ARCH_ARMV7L && + arch !=3D VIR_ARCH_AARCH64) return false; =20 - if (STRNEQ(def->os.machine, "virt") && - !STRPREFIX(def->os.machine, "virt-")) + if (STRNEQ(machine, "virt") && + !STRPREFIX(machine, "virt-")) return false; =20 return true; @@ -5944,13 +5946,14 @@ qemuDomainMachineIsVirt(const virDomainDef *def) =20 =20 bool -qemuDomainMachineIsPSeries(const virDomainDef *def) +qemuDomainMachineIsPSeries(const char *machine, + const virArch arch) { - if (!ARCH_IS_PPC64(def->os.arch)) + if (!ARCH_IS_PPC64(arch)) return false; =20 - if (STRNEQ(def->os.machine, "pseries") && - !STRPREFIX(def->os.machine, "pseries-")) + if (STRNEQ(machine, "pseries") && + !STRPREFIX(machine, "pseries-")) return false; =20 return true; @@ -6152,12 +6155,12 @@ qemuDomainDefValidateMemoryHotplug(const virDomainD= ef *def, =20 =20 bool -qemuDomainMachineHasBuiltinIDE(const virDomainDef *def) +qemuDomainMachineHasBuiltinIDE(const char *machine) { - return qemuDomainMachineIsI440FX(def) || - STREQ(def->os.machine, "malta") || - STREQ(def->os.machine, "sun4u") || - STREQ(def->os.machine, "g3beige"); + return qemuDomainMachineIsI440FX(machine) || + STREQ(machine, "malta") || + STREQ(machine, "sun4u") || + STREQ(machine, "g3beige"); } =20 =20 diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h index caac5d5503..f66510da70 100644 --- a/src/qemu/qemu_domain.h +++ b/src/qemu/qemu_domain.h @@ -675,15 +675,15 @@ void qemuDomainMemoryDeviceAlignSize(virDomainDefPtr = def, =20 virDomainChrDefPtr qemuFindAgentConfig(virDomainDefPtr def); =20 -bool qemuDomainMachineIsQ35(const virDomainDef *def); -bool qemuDomainMachineIsI440FX(const virDomainDef *def); +bool qemuDomainMachineIsQ35(const char *machine); +bool qemuDomainMachineIsI440FX(const char *machine); bool qemuDomainMachineHasPCIRoot(const virDomainDef *def); bool qemuDomainMachineHasPCIeRoot(const virDomainDef *def); -bool qemuDomainMachineNeedsFDC(const virDomainDef *def); -bool qemuDomainMachineIsS390CCW(const virDomainDef *def); -bool qemuDomainMachineIsVirt(const virDomainDef *def); -bool qemuDomainMachineIsPSeries(const virDomainDef *def); -bool qemuDomainMachineHasBuiltinIDE(const virDomainDef *def); +bool qemuDomainMachineNeedsFDC(const char *machine); +bool qemuDomainMachineIsS390CCW(const char *machine); +bool qemuDomainMachineIsVirt(const char *machine, const virArch arch); +bool qemuDomainMachineIsPSeries(const char *machine, const virArch arch); +bool qemuDomainMachineHasBuiltinIDE(const char *machine); =20 int qemuDomainUpdateCurrentMemorySize(virQEMUDriverPtr driver, virDomainObjPtr vm); diff --git a/src/qemu/qemu_domain_address.c b/src/qemu/qemu_domain_address.c index 22d8bf67d9..2df5d05d03 100644 --- a/src/qemu/qemu_domain_address.c +++ b/src/qemu/qemu_domain_address.c @@ -88,7 +88,7 @@ qemuDomainSetSCSIControllerModel(const virDomainDef *def, return -1; } } else { - if (qemuDomainMachineIsPSeries(def)) { + if (qemuDomainMachineIsPSeries(def->os.machine, def->os.arch)) { *model =3D VIR_DOMAIN_CONTROLLER_MODEL_SCSI_IBMVSCSI; } else if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_LSI)) { *model =3D VIR_DOMAIN_CONTROLLER_MODEL_SCSI_LSILOGIC; @@ -245,7 +245,7 @@ qemuDomainAssignSpaprVIOAddresses(virDomainDefPtr def, =20 for (i =3D 0; i < def->nserials; i++) { if (def->serials[i]->deviceType =3D=3D VIR_DOMAIN_CHR_DEVICE_TYPE_= SERIAL && - qemuDomainMachineIsPSeries(def)) + qemuDomainMachineIsPSeries(def->os.machine, def->os.arch)) def->serials[i]->info.type =3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_= SPAPRVIO; if (qemuDomainAssignSpaprVIOAddress(def, &def->serials[i]->info, VIO_ADDR_SERIAL) < 0) @@ -253,7 +253,7 @@ qemuDomainAssignSpaprVIOAddresses(virDomainDefPtr def, } =20 if (def->nvram) { - if (qemuDomainMachineIsPSeries(def)) + if (qemuDomainMachineIsPSeries(def->os.machine, def->os.arch)) def->nvram->info.type =3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_SPAPR= VIO; if (qemuDomainAssignSpaprVIOAddress(def, &def->nvram->info, VIO_ADDR_NVRAM) < 0) @@ -375,7 +375,7 @@ qemuDomainAssignS390Addresses(virDomainDefPtr def, int ret =3D -1; virDomainCCWAddressSetPtr addrs =3D NULL; =20 - if (qemuDomainMachineIsS390CCW(def) && + if (qemuDomainMachineIsS390CCW(def->os.machine) && virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_CCW)) { qemuDomainPrimeVirtioDeviceAddresses( def, VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW); @@ -445,7 +445,7 @@ qemuDomainAssignARMVirtioMMIOAddresses(virDomainDefPtr = def, return; =20 if (!(STRPREFIX(def->os.machine, "vexpress-") || - qemuDomainMachineIsVirt(def))) + qemuDomainMachineIsVirt(def->os.machine, def->os.arch))) return; =20 /* We use virtio-mmio by default on mach-virt guests only if they alre= ady @@ -1479,12 +1479,12 @@ qemuDomainValidateDevicePCISlotsChipsets(virDomainD= efPtr def, virQEMUCapsPtr qemuCaps, virDomainPCIAddressSetPtr addrs) { - if (qemuDomainMachineIsI440FX(def) && + if (qemuDomainMachineIsI440FX(def->os.machine) && qemuDomainValidateDevicePCISlotsPIIX3(def, qemuCaps, addrs) < 0) { return -1; } =20 - if (qemuDomainMachineIsQ35(def) && + if (qemuDomainMachineIsQ35(def->os.machine) && qemuDomainValidateDevicePCISlotsQ35(def, qemuCaps, addrs) < 0) { return -1; } @@ -1845,7 +1845,7 @@ qemuDomainSupportsPCI(virDomainDefPtr def, if (STREQ(def->os.machine, "versatilepb")) return true; =20 - if (qemuDomainMachineIsVirt(def) && + if (qemuDomainMachineIsVirt(def->os.machine, def->os.arch) && virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_GPEX)) return true; =20 diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index a6dac6f095..36cfe675c2 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -329,7 +329,7 @@ qemuDomainAttachVirtioDiskDevice(virConnectPtr conn, qemuDomainSecretInfoPtr encinfo; =20 if (!disk->info.type) { - if (qemuDomainMachineIsS390CCW(vm->def) && + if (qemuDomainMachineIsS390CCW(vm->def->os.machine) && virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_VIRTIO_CCW)) disk->info.type =3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW; else if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_VIRTIO_S390)) @@ -497,7 +497,7 @@ int qemuDomainAttachControllerDevice(virQEMUDriverPtr d= river, } =20 if (controller->info.type =3D=3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE) { - if (qemuDomainMachineIsS390CCW(vm->def) && + if (qemuDomainMachineIsS390CCW(vm->def->os.machine) && virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_VIRTIO_CCW)) controller->info.type =3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW; else if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_VIRTIO_S390)) @@ -1141,7 +1141,7 @@ qemuDomainAttachNetDevice(virQEMUDriverPtr driver, goto cleanup; } =20 - if (qemuDomainMachineIsS390CCW(vm->def) && + if (qemuDomainMachineIsS390CCW(vm->def->os.machine) && virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_VIRTIO_CCW)) { net->info.type =3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW; if (!(ccwaddrs =3D qemuDomainCCWAddrSetCreateFromDomain(vm->def))) @@ -2079,7 +2079,7 @@ qemuDomainAttachRNGDevice(virConnectPtr conn, goto cleanup; =20 if (rng->info.type =3D=3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE) { - if (qemuDomainMachineIsS390CCW(vm->def) && + if (qemuDomainMachineIsS390CCW(vm->def->os.machine) && virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_VIRTIO_CCW)) { rng->info.type =3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW; } else if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_VIRTIO_S390)) { @@ -2620,7 +2620,7 @@ qemuDomainAttachSCSIVHostDevice(virQEMUDriverPtr driv= er, goto cleanup; =20 if (hostdev->info->type =3D=3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE) { - if (qemuDomainMachineIsS390CCW(vm->def) && + if (qemuDomainMachineIsS390CCW(vm->def->os.machine) && virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_VIRTIO_CCW)) hostdev->info->type =3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW; } @@ -4447,7 +4447,7 @@ qemuDomainDetachVirtioDiskDevice(virQEMUDriverPtr dri= ver, goto cleanup; } =20 - if (qemuDomainMachineIsS390CCW(vm->def) && + if (qemuDomainMachineIsS390CCW(vm->def->os.machine) && virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_VIRTIO_CCW)) { if (!virDomainDeviceAddressIsValid(&detach->info, VIR_DOMAIN_DEVICE_ADDRESS_TYPE_= CCW)) { @@ -5007,7 +5007,7 @@ qemuDomainDetachNetDevice(virQEMUDriverPtr driver, virDomainNetGetActualHostdev(= detach)); goto cleanup; } - if (qemuDomainMachineIsS390CCW(vm->def) && + if (qemuDomainMachineIsS390CCW(vm->def->os.machine) && virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_VIRTIO_CCW)) { if (!virDomainDeviceAddressIsValid(&detach->info, VIR_DOMAIN_DEVICE_ADDRESS_TYPE_= CCW)) { diff --git a/src/qemu/qemu_parse_command.c b/src/qemu/qemu_parse_command.c index fc176c1681..4627e85751 100644 --- a/src/qemu/qemu_parse_command.c +++ b/src/qemu/qemu_parse_command.c @@ -654,7 +654,7 @@ qemuParseCommandLineDisk(virDomainXMLOptionPtr xmlopt, if (VIR_ALLOC(def->src) < 0) goto error; =20 - if (qemuDomainMachineIsPSeries(dom)) + if (qemuDomainMachineIsPSeries(dom->os.machine, dom->os.arch)) def->bus =3D VIR_DOMAIN_DISK_BUS_SCSI; else def->bus =3D VIR_DOMAIN_DISK_BUS_IDE; @@ -746,7 +746,7 @@ qemuParseCommandLineDisk(virDomainXMLOptionPtr xmlopt, } else if (STREQ(keywords[i], "if")) { if (STREQ(values[i], "ide")) { def->bus =3D VIR_DOMAIN_DISK_BUS_IDE; - if (qemuDomainMachineIsPSeries(dom)) { + if (qemuDomainMachineIsPSeries(dom->os.machine, dom->os.ar= ch)) { virReportError(VIR_ERR_INTERNAL_ERROR, _("pseries systems do not support ide d= evices '%s'"), val); goto error; @@ -1950,7 +1950,7 @@ qemuParseCommandLine(virCapsPtr caps, } if (STREQ(arg, "-cdrom")) { disk->device =3D VIR_DOMAIN_DISK_DEVICE_CDROM; - if (qemuDomainMachineIsPSeries(def)) + if (qemuDomainMachineIsPSeries(def->os.machine, def->os.ar= ch)) disk->bus =3D VIR_DOMAIN_DISK_BUS_SCSI; if (VIR_STRDUP(disk->dst, "hdc") < 0) goto error; @@ -1965,7 +1965,7 @@ qemuParseCommandLine(virCapsPtr caps, disk->bus =3D VIR_DOMAIN_DISK_BUS_IDE; else disk->bus =3D VIR_DOMAIN_DISK_BUS_SCSI; - if (qemuDomainMachineIsPSeries(def)) + if (qemuDomainMachineIsPSeries(def->os.machine, def->os= .arch)) disk->bus =3D VIR_DOMAIN_DISK_BUS_SCSI; } if (VIR_STRDUP(disk->dst, arg + 1) < 0) --=20 2.12.2 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Thu May 2 21:47:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1492095451565349.71855593772193; Thu, 13 Apr 2017 07:57:31 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id F3B8FC04B926; Thu, 13 Apr 2017 14:57:29 +0000 (UTC) Received: from colo-mx.corp.redhat.com (unknown [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id C15A1781F3; Thu, 13 Apr 2017 14:57:29 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 56AFD5EC68; Thu, 13 Apr 2017 14:57:29 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v3DEvOFj023638 for ; Thu, 13 Apr 2017 10:57:24 -0400 Received: by smtp.corp.redhat.com (Postfix) id C910EC05BE; Thu, 13 Apr 2017 14:57:24 +0000 (UTC) Received: from antique-work.brq.redhat.com (dhcp129-230.brq.redhat.com [10.34.129.230]) by smtp.corp.redhat.com (Postfix) with ESMTP id 509C5C05C0 for ; Thu, 13 Apr 2017 14:57:22 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com F3B8FC04B926 Authentication-Results: ext-mx07.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx07.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=libvir-list-bounces@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com F3B8FC04B926 From: Pavel Hrdina To: libvir-list@redhat.com Date: Thu, 13 Apr 2017 16:57:14 +0200 Message-Id: <99acad46c21eedb9bca601893ad75cb994e7a335.1492095383.git.phrdina@redhat.com> In-Reply-To: References: In-Reply-To: References: X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH 2/4] qemu: use qemuDomainMachineIsPSeries X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Thu, 13 Apr 2017 14:57:30 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Pavel Hrdina --- src/qemu/qemu_capabilities.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 06f122ed0d..ba5cb19427 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -5544,8 +5544,7 @@ virQEMUCapsFillDomainDeviceDiskCaps(virQEMUCapsPtr qe= muCaps, VIR_DOMAIN_DISK_DEVICE_LUN); =20 /* PowerPC pseries based VMs do not support floppy device */ - if (!ARCH_IS_PPC64(qemuCaps->arch) || - (STRNEQ(machine, "pseries") && !STRPREFIX(machine, "pseries-"))) + if (!qemuDomainMachineIsPSeries(machine, qemuCaps->arch)) VIR_DOMAIN_CAPS_ENUM_SET(disk->diskDevice, VIR_DOMAIN_DISK_DEVICE_= FLOPPY); =20 VIR_DOMAIN_CAPS_ENUM_SET(disk->bus, @@ -5555,8 +5554,7 @@ virQEMUCapsFillDomainDeviceDiskCaps(virQEMUCapsPtr qe= muCaps, /* VIR_DOMAIN_DISK_BUS_SD */); =20 /* PowerPC pseries based VMs do not support floppy device */ - if (!ARCH_IS_PPC64(qemuCaps->arch) || - (STRNEQ(machine, "pseries") && !STRPREFIX(machine, "pseries-"))) + if (!qemuDomainMachineIsPSeries(machine, qemuCaps->arch)) VIR_DOMAIN_CAPS_ENUM_SET(disk->bus, VIR_DOMAIN_DISK_BUS_FDC); =20 if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_USB_STORAGE)) --=20 2.12.2 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Thu May 2 21:47:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1492095464926319.04423117390525; Thu, 13 Apr 2017 07:57:44 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 4539C2E6056; Thu, 13 Apr 2017 14:57:42 +0000 (UTC) Received: from colo-mx.corp.redhat.com (unknown [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id EB685C05C2; Thu, 13 Apr 2017 14:57:41 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 96AC65EC6B; Thu, 13 Apr 2017 14:57:41 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v3DEvPYd023643 for ; Thu, 13 Apr 2017 10:57:25 -0400 Received: by smtp.corp.redhat.com (Postfix) id CED83C05BE; Thu, 13 Apr 2017 14:57:25 +0000 (UTC) Received: from antique-work.brq.redhat.com (dhcp129-230.brq.redhat.com [10.34.129.230]) by smtp.corp.redhat.com (Postfix) with ESMTP id 5345CC05C3 for ; Thu, 13 Apr 2017 14:57:24 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 4539C2E6056 Authentication-Results: ext-mx05.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx05.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=libvir-list-bounces@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 4539C2E6056 From: Pavel Hrdina To: libvir-list@redhat.com Date: Thu, 13 Apr 2017 16:57:15 +0200 Message-Id: <24b76f56ab07b2491b84bab9b68fded6385d4aa8.1492095383.git.phrdina@redhat.com> In-Reply-To: References: In-Reply-To: References: X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH 3/4] qemu: report IDE bus in domain capabilities only if it's supported X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Thu, 13 Apr 2017 14:57:44 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=3D1441964 Signed-off-by: Pavel Hrdina --- src/qemu/qemu_capabilities.c | 4 +++- tests/domaincapsschemadata/qemu_2.6.0-gicv2-virt.aarch64.xml | 1 - tests/domaincapsschemadata/qemu_2.6.0-gicv3-virt.aarch64.xml | 1 - tests/domaincapsschemadata/qemu_2.6.0.aarch64.xml | 1 - tests/domaincapsschemadata/qemu_2.6.0.ppc64le.xml | 1 - tests/domaincapsschemadata/qemu_2.7.0.s390x.xml | 1 - tests/domaincapsschemadata/qemu_2.8.0.s390x.xml | 1 - 7 files changed, 3 insertions(+), 7 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index ba5cb19427..5197090825 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -5547,8 +5547,10 @@ virQEMUCapsFillDomainDeviceDiskCaps(virQEMUCapsPtr q= emuCaps, if (!qemuDomainMachineIsPSeries(machine, qemuCaps->arch)) VIR_DOMAIN_CAPS_ENUM_SET(disk->diskDevice, VIR_DOMAIN_DISK_DEVICE_= FLOPPY); =20 + if (qemuDomainMachineHasBuiltinIDE(machine)) + VIR_DOMAIN_CAPS_ENUM_SET(disk->bus, VIR_DOMAIN_DISK_BUS_IDE); + VIR_DOMAIN_CAPS_ENUM_SET(disk->bus, - VIR_DOMAIN_DISK_BUS_IDE, VIR_DOMAIN_DISK_BUS_SCSI, VIR_DOMAIN_DISK_BUS_VIRTIO, /* VIR_DOMAIN_DISK_BUS_SD */); diff --git a/tests/domaincapsschemadata/qemu_2.6.0-gicv2-virt.aarch64.xml b= /tests/domaincapsschemadata/qemu_2.6.0-gicv2-virt.aarch64.xml index 1fa7f6dff8..54b89dc72b 100644 --- a/tests/domaincapsschemadata/qemu_2.6.0-gicv2-virt.aarch64.xml +++ b/tests/domaincapsschemadata/qemu_2.6.0-gicv2-virt.aarch64.xml @@ -63,7 +63,6 @@ lun - ide fdc scsi virtio diff --git a/tests/domaincapsschemadata/qemu_2.6.0-gicv3-virt.aarch64.xml b= /tests/domaincapsschemadata/qemu_2.6.0-gicv3-virt.aarch64.xml index d60fc1df98..60bf2f54f7 100644 --- a/tests/domaincapsschemadata/qemu_2.6.0-gicv3-virt.aarch64.xml +++ b/tests/domaincapsschemadata/qemu_2.6.0-gicv3-virt.aarch64.xml @@ -63,7 +63,6 @@ lun - ide fdc scsi virtio diff --git a/tests/domaincapsschemadata/qemu_2.6.0.aarch64.xml b/tests/doma= incapsschemadata/qemu_2.6.0.aarch64.xml index fcc6f50e0e..1a980927cf 100644 --- a/tests/domaincapsschemadata/qemu_2.6.0.aarch64.xml +++ b/tests/domaincapsschemadata/qemu_2.6.0.aarch64.xml @@ -63,7 +63,6 @@ lun - ide fdc scsi virtio diff --git a/tests/domaincapsschemadata/qemu_2.6.0.ppc64le.xml b/tests/doma= incapsschemadata/qemu_2.6.0.ppc64le.xml index 755c4f4475..4ecf8651b4 100644 --- a/tests/domaincapsschemadata/qemu_2.6.0.ppc64le.xml +++ b/tests/domaincapsschemadata/qemu_2.6.0.ppc64le.xml @@ -37,7 +37,6 @@ lun - ide scsi virtio usb diff --git a/tests/domaincapsschemadata/qemu_2.7.0.s390x.xml b/tests/domain= capsschemadata/qemu_2.7.0.s390x.xml index 999e2795d8..dc6d2d8f0c 100644 --- a/tests/domaincapsschemadata/qemu_2.7.0.s390x.xml +++ b/tests/domaincapsschemadata/qemu_2.7.0.s390x.xml @@ -32,7 +32,6 @@ lun - ide fdc scsi virtio diff --git a/tests/domaincapsschemadata/qemu_2.8.0.s390x.xml b/tests/domain= capsschemadata/qemu_2.8.0.s390x.xml index 0b8135bc5c..53c3190f20 100644 --- a/tests/domaincapsschemadata/qemu_2.8.0.s390x.xml +++ b/tests/domaincapsschemadata/qemu_2.8.0.s390x.xml @@ -113,7 +113,6 @@ lun - ide fdc scsi virtio --=20 2.12.2 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Thu May 2 21:47:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 14920954682911008.4814231412092; Thu, 13 Apr 2017 07:57:48 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id E9A946AAD1; Thu, 13 Apr 2017 14:57:46 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id BC55A17C1D; Thu, 13 Apr 2017 14:57:46 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 704A218523D1; Thu, 13 Apr 2017 14:57:46 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v3DEvQFo023651 for ; Thu, 13 Apr 2017 10:57:26 -0400 Received: by smtp.corp.redhat.com (Postfix) id 9E3B0ACD54; Thu, 13 Apr 2017 14:57:26 +0000 (UTC) Received: from antique-work.brq.redhat.com (dhcp129-230.brq.redhat.com [10.34.129.230]) by smtp.corp.redhat.com (Postfix) with ESMTP id 25A87C05C7 for ; Thu, 13 Apr 2017 14:57:25 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com E9A946AAD1 Authentication-Results: ext-mx02.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx02.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=libvir-list-bounces@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com E9A946AAD1 From: Pavel Hrdina To: libvir-list@redhat.com Date: Thu, 13 Apr 2017 16:57:16 +0200 Message-Id: In-Reply-To: References: In-Reply-To: References: X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH 4/4] tests: domaincapstest: add test for Q35 machine type X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Thu, 13 Apr 2017 14:57:47 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Pavel Hrdina --- .../domaincapsschemadata/qemu_2.9.0-q35.x86_64.xml | 125 +++++++++++++++++= ++++ tests/domaincapstest.c | 4 + 2 files changed, 129 insertions(+) create mode 100644 tests/domaincapsschemadata/qemu_2.9.0-q35.x86_64.xml diff --git a/tests/domaincapsschemadata/qemu_2.9.0-q35.x86_64.xml b/tests/d= omaincapsschemadata/qemu_2.9.0-q35.x86_64.xml new file mode 100644 index 0000000000..f6d54d9a12 --- /dev/null +++ b/tests/domaincapsschemadata/qemu_2.9.0-q35.x86_64.xml @@ -0,0 +1,125 @@ + + /usr/bin/qemu-system-x86_64 + kvm + pc-q35-2.9 + x86_64 + + + + /usr/share/AAVMF/AAVMF_CODE.fd + /usr/share/OVMF/OVMF_CODE.fd + + rom + pflash + + + yes + no + + + + + + + Skylake-Client + Intel + + + + + + + + + + + qemu64 + qemu32 + phenom + pentium3 + pentium2 + pentium + n270 + kvm64 + kvm32 + coreduo + core2duo + athlon + Westmere + Skylake-Client + SandyBridge + Penryn + Opteron_G5 + Opteron_G4 + Opteron_G3 + Opteron_G2 + Opteron_G1 + Nehalem + IvyBridge + Haswell + Haswell-noTSX + Conroe + Broadwell + Broadwell-noTSX + 486 + + + + + + disk + cdrom + floppy + lun + + + fdc + scsi + virtio + usb + sata + + + + + sdl + vnc + spice + + + + + + subsystem + + + default + mandatory + requisite + optional + + + usb + pci + scsi + + + + default + kvm + vfio + + + + + + + diff --git a/tests/domaincapstest.c b/tests/domaincapstest.c index edf06c4e8e..5a36fcf29d 100644 --- a/tests/domaincapstest.c +++ b/tests/domaincapstest.c @@ -522,6 +522,10 @@ mymain(void) "/usr/bin/qemu-system-x86_64", NULL, "x86_64", VIR_DOMAIN_VIRT_KVM); =20 + DO_TEST_QEMU("2.9.0", "caps_2.9.0", + "/usr/bin/qemu-system-x86_64", "q35", + "x86_64", VIR_DOMAIN_VIRT_KVM); + DO_TEST_QEMU("2.9.0-tcg", "caps_2.9.0", "/usr/bin/qemu-system-x86_64", NULL, "x86_64", VIR_DOMAIN_VIRT_QEMU); --=20 2.12.2 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list