[libvirt] [PATCH 04/13] Move and rename qemuDomainMachineIsQ35 et al

Tomasz Flendrich t.flendrich at gmail.com
Wed Jul 20 00:07:18 UTC 2016


qemuDomainMachineIsQ35 is renamed to virDomainMachineIsQ35,
qemuDomainMachineIsI440FX is renamed to virDomainMachineIsI440FX,
both are moved from qemu_domain_address.c to domain_addr.c

All these functions are being moved because they don't depend on
qemu, so they have the potential to be reused for more hypervisors.
---
 src/conf/domain_addr.c         | 19 +++++++++++++++++++
 src/conf/domain_addr.h         |  8 ++++++++
 src/libvirt_private.syms       |  2 ++
 src/qemu/qemu_alias.c          |  2 +-
 src/qemu/qemu_capabilities.c   |  4 ++--
 src/qemu/qemu_command.c        | 16 ++++++++--------
 src/qemu/qemu_domain.c         | 31 ++++++-------------------------
 src/qemu/qemu_domain.h         |  2 --
 src/qemu/qemu_domain_address.c |  4 ++--
 9 files changed, 48 insertions(+), 40 deletions(-)

diff --git a/src/conf/domain_addr.c b/src/conf/domain_addr.c
index fcfd84a..f3a75a0 100644
--- a/src/conf/domain_addr.c
+++ b/src/conf/domain_addr.c
@@ -1369,3 +1369,22 @@ virDomainCollectPCIAddress(virDomainDefPtr def ATTRIBUTE_UNUSED,
  cleanup:
     return ret;
 }
+
+
+bool
+virDomainMachineIsQ35(const virDomainDef *def)
+{
+    return (STRPREFIX(def->os.machine, "pc-q35") ||
+            STREQ(def->os.machine, "q35"));
+}
+
+
+bool
+virDomainMachineIsI440FX(const virDomainDef *def)
+{
+    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"));
+}
diff --git a/src/conf/domain_addr.h b/src/conf/domain_addr.h
index 273ec0d..fb90ec9 100644
--- a/src/conf/domain_addr.h
+++ b/src/conf/domain_addr.h
@@ -238,4 +238,12 @@ virDomainCollectPCIAddress(virDomainDefPtr def,
                            virDomainDeviceInfoPtr info,
                            void *opaque);
 
+bool
+virDomainMachineIsQ35(const virDomainDef *def);
+
+bool
+virDomainMachineIsI440FX(const virDomainDef *def);
+
+
+
 #endif /* __DOMAIN_ADDR_H__ */
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index 51b3a3f..2697afa 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -93,6 +93,8 @@ virDomainCCWAddressSetFree;
 virDomainCCWAddressValidate;
 virDomainCollectPCIAddress;
 virDomainGetBlkioParametersAssignFromDef;
+virDomainMachineIsI440FX;
+virDomainMachineIsQ35;
 virDomainPCIAddressAsString;
 virDomainPCIAddressBusSetModel;
 virDomainPCIAddressEnsureAddr;
diff --git a/src/qemu/qemu_alias.c b/src/qemu/qemu_alias.c
index d624071..9e4e03c 100644
--- a/src/qemu/qemu_alias.c
+++ b/src/qemu/qemu_alias.c
@@ -157,7 +157,7 @@ qemuAssignDeviceControllerAlias(virDomainDefPtr domainDef,
         /* 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 == 0)
+        if (virDomainMachineIsQ35(domainDef) && controller->idx == 0)
             return VIR_STRDUP(controller->info.alias, "ide");
     } else if (controller->type == 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 f600ce9..6989a87 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -4045,8 +4045,8 @@ virQEMUCapsSupportsVmport(virQEMUCapsPtr qemuCaps,
     if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_MACHINE_VMPORT_OPT))
         return false;
 
-    return qemuDomainMachineIsI440FX(def) ||
-        qemuDomainMachineIsQ35(def) ||
+    return virDomainMachineIsI440FX(def) ||
+        virDomainMachineIsQ35(def) ||
         STREQ(def->os.machine, "isapc");
 }
 
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index fe4bb88..24295bd 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -2823,7 +2823,7 @@ qemuBuildControllerDevCommandLine(virCommandPtr cmd,
 
             /* first SATA controller on Q35 machines is implicit */
             if (cont->type == VIR_DOMAIN_CONTROLLER_TYPE_SATA &&
-                cont->idx == 0 && qemuDomainMachineIsQ35(def))
+                cont->idx == 0 && virDomainMachineIsQ35(def))
                     continue;
 
             /* first IDE controller is implicit on various machines */
@@ -2833,7 +2833,7 @@ qemuBuildControllerDevCommandLine(virCommandPtr cmd,
 
             if (cont->type == VIR_DOMAIN_CONTROLLER_TYPE_USB &&
                 cont->model == -1 &&
-                !qemuDomainMachineIsQ35(def)) {
+                !virDomainMachineIsQ35(def)) {
                 bool need_legacy = false;
 
                 /* We're not using legacy usb controller for q35 */
@@ -2869,7 +2869,7 @@ qemuBuildControllerDevCommandLine(virCommandPtr cmd,
     }
 
     if (usbcontroller == 0 &&
-        !qemuDomainMachineIsQ35(def) &&
+        !virDomainMachineIsQ35(def) &&
         !qemuDomainMachineIsVirt(def) &&
         !ARCH_IS_S390(def->os.arch))
         virCommandAddArg(cmd, "-usb");
@@ -5979,7 +5979,7 @@ qemuBuildPMCommandLine(virCommandPtr cmd,
     if (def->pm.s3) {
         const char *pm_object = "PIIX4_PM";
 
-        if (qemuDomainMachineIsQ35(def) &&
+        if (virDomainMachineIsQ35(def) &&
             virQEMUCapsGet(qemuCaps, QEMU_CAPS_ICH9_DISABLE_S3)) {
             pm_object = "ICH9-LPC";
         } else if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_PIIX_DISABLE_S3)) {
@@ -5996,7 +5996,7 @@ qemuBuildPMCommandLine(virCommandPtr cmd,
     if (def->pm.s4) {
         const char *pm_object = "PIIX4_PM";
 
-        if (qemuDomainMachineIsQ35(def) &&
+        if (virDomainMachineIsQ35(def) &&
             virQEMUCapsGet(qemuCaps, QEMU_CAPS_ICH9_DISABLE_S4)) {
             pm_object = "ICH9-LPC";
         } else if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_PIIX_DISABLE_S4)) {
@@ -6178,7 +6178,7 @@ qemuBuildIOMMUCommandLine(virCommandPtr cmd,
                            virDomainIOMMUModelTypeToString(def->iommu->model));
             return -1;
         }
-        if (!qemuDomainMachineIsQ35(def)) {
+        if (!virDomainMachineIsQ35(def)) {
             virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
                            _("IOMMU device: '%s' is only supported with "
                              "Q35 machines"),
@@ -6212,13 +6212,13 @@ qemuBuildGlobalControllerCommandLine(virCommandPtr cmd,
             case VIR_DOMAIN_CONTROLLER_MODEL_PCI_ROOT:
                 hoststr = "i440FX-pcihost";
                 cap = virQEMUCapsGet(qemuCaps, QEMU_CAPS_I440FX_PCI_HOLE64_SIZE);
-                machine = qemuDomainMachineIsI440FX(def);
+                machine = virDomainMachineIsI440FX(def);
                 break;
 
             case VIR_DOMAIN_CONTROLLER_MODEL_PCIE_ROOT:
                 hoststr = "q35-pcihost";
                 cap = virQEMUCapsGet(qemuCaps, QEMU_CAPS_Q35_PCI_HOLE64_SIZE);
-                machine = qemuDomainMachineIsQ35(def);
+                machine = virDomainMachineIsQ35(def);
                 break;
 
             default:
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index e51584e..8c23157 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -1936,7 +1936,7 @@ qemuDomainDefAddDefaultDevices(virDomainDefPtr def,
             addDefaultUSB = false;
             break;
         }
-        if (qemuDomainMachineIsQ35(def)) {
+        if (virDomainMachineIsQ35(def)) {
             addPCIeRoot = true;
             addImplicitSATA = true;
 
@@ -1949,7 +1949,7 @@ qemuDomainDefAddDefaultDevices(virDomainDefPtr def,
                 addDefaultUSB = false;
             break;
         }
-        if (qemuDomainMachineIsI440FX(def))
+        if (virDomainMachineIsI440FX(def))
             addPCIRoot = true;
         break;
 
@@ -2499,14 +2499,14 @@ qemuDomainDeviceDefPostParse(virDomainDeviceDefPtr dev,
 
         if (cont->type == VIR_DOMAIN_CONTROLLER_TYPE_PCI) {
             if (cont->model == VIR_DOMAIN_CONTROLLER_MODEL_PCI_EXPANDER_BUS &&
-                !qemuDomainMachineIsI440FX(def)) {
+                !virDomainMachineIsI440FX(def)) {
                 virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
                                _("pci-expander-bus controllers are only supported "
                                  "on 440fx-based machinetypes"));
                 goto cleanup;
             }
             if (cont->model == VIR_DOMAIN_CONTROLLER_MODEL_PCIE_EXPANDER_BUS &&
-                !qemuDomainMachineIsQ35(def)) {
+                !virDomainMachineIsQ35(def)) {
                 virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
                                _("pcie-expander-bus controllers are only supported "
                                  "on q35-based machinetypes"));
@@ -3213,7 +3213,7 @@ qemuDomainDefFormatBuf(virQEMUDriverPtr driver,
          *  with libvirt <= 0.9.4. Limitation doesn't apply to other archs
          *  and can cause problems on PPC64.
          */
-        if (ARCH_IS_X86(def->os.arch) && qemuDomainMachineIsI440FX(def) &&
+        if (ARCH_IS_X86(def->os.arch) && virDomainMachineIsI440FX(def) &&
             usb && usb->idx == 0 && usb->model == -1) {
             VIR_DEBUG("Removing default USB controller from domain '%s'"
                       " for migration compatibility", def->name);
@@ -4992,25 +4992,6 @@ qemuFindAgentConfig(virDomainDefPtr def)
 
 
 bool
-qemuDomainMachineIsQ35(const virDomainDef *def)
-{
-    return (STRPREFIX(def->os.machine, "pc-q35") ||
-            STREQ(def->os.machine, "q35"));
-}
-
-
-bool
-qemuDomainMachineIsI440FX(const virDomainDef *def)
-{
-    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"));
-}
-
-
-bool
 qemuDomainMachineNeedsFDC(const virDomainDef *def)
 {
     char *p = STRSKIP(def->os.machine, "pc-q35-");
@@ -5238,7 +5219,7 @@ qemuDomainDefValidateMemoryHotplug(const virDomainDef *def,
 bool
 qemuDomainMachineHasBuiltinIDE(const virDomainDef *def)
 {
-    return qemuDomainMachineIsI440FX(def) ||
+    return virDomainMachineIsI440FX(def) ||
         STREQ(def->os.machine, "malta") ||
         STREQ(def->os.machine, "sun4u") ||
         STREQ(def->os.machine, "g3beige");
diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h
index bf96ad3..81086d9 100644
--- a/src/qemu/qemu_domain.h
+++ b/src/qemu/qemu_domain.h
@@ -622,8 +622,6 @@ void qemuDomainMemoryDeviceAlignSize(virDomainDefPtr def,
 
 virDomainChrDefPtr qemuFindAgentConfig(virDomainDefPtr def);
 
-bool qemuDomainMachineIsQ35(const virDomainDef *def);
-bool qemuDomainMachineIsI440FX(const virDomainDef *def);
 bool qemuDomainMachineNeedsFDC(const virDomainDef *def);
 bool qemuDomainMachineIsS390CCW(const virDomainDef *def);
 bool qemuDomainMachineIsVirt(const virDomainDef *def);
diff --git a/src/qemu/qemu_domain_address.c b/src/qemu/qemu_domain_address.c
index 777aab5..02642f9 100644
--- a/src/qemu/qemu_domain_address.c
+++ b/src/qemu/qemu_domain_address.c
@@ -747,12 +747,12 @@ qemuDomainValidateDevicePCISlotsChipsets(virDomainDefPtr def,
                                          virDomainPCIAddressSetPtr addrs,
                                          bool videoPrimaryEnabled)
 {
-    if (qemuDomainMachineIsI440FX(def) &&
+    if (virDomainMachineIsI440FX(def) &&
         qemuDomainValidateDevicePCISlotsPIIX3(def, addrs, videoPrimaryEnabled) < 0) {
         return -1;
     }
 
-    if (qemuDomainMachineIsQ35(def) &&
+    if (virDomainMachineIsQ35(def) &&
         qemuDomainValidateDevicePCISlotsQ35(def, addrs, videoPrimaryEnabled) < 0) {
         return -1;
     }
-- 
2.7.4 (Apple Git-66)




More information about the libvir-list mailing list