qemuDomainPCIAddrSetCreateFromDomain is renamed to
virDomainPCIAddrSetCreateFromDomain and 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 | 43 ++++++++++++++++++++++++++++++++++++++++++
src/conf/domain_addr.h | 7 +++++++
src/libvirt_private.syms | 1 +
src/qemu/qemu_domain_address.c | 43 +-----------------------------------------
src/qemu/qemu_domain_address.h | 6 ------
src/qemu/qemu_hotplug.c | 12 ++++++------
6 files changed, 58 insertions(+), 54 deletions(-)
diff --git a/src/conf/domain_addr.c b/src/conf/domain_addr.c
index 3ac7d3f..ec68ca0 100644
--- a/src/conf/domain_addr.c
+++ b/src/conf/domain_addr.c
@@ -2250,3 +2250,46 @@ virDomainSupportsPCI(virDomainDefPtr def,
return false;
}
+
+
+virDomainPCIAddressSetPtr
+virDomainPCIAddrSetCreateFromDomain(virDomainDefPtr def,
+ bool virtioMMIOEnabled,
+ bool videoPrimaryEnabled,
+ bool gpexEnabled)
+{
+ virDomainPCIAddressSetPtr addrs = NULL;
+ int max_idx = -1;
+ int nbuses = 0;
+ virDomainPCIAddressSetPtr ret = NULL;
+ size_t i;
+
+ for (i = 0; i < def->ncontrollers; i++) {
+ if (def->controllers[i]->type == VIR_DOMAIN_CONTROLLER_TYPE_PCI) {
+ if ((int) def->controllers[i]->idx > max_idx)
+ max_idx = def->controllers[i]->idx;
+ }
+ }
+
+ nbuses = max_idx + 1;
+
+ if (!(addrs = virDomainPCIAddressSetCreate(def, nbuses, false)))
+ goto cleanup;
+
+ if (virDomainSupportsPCI(def, gpexEnabled)) {
+ if (virDomainValidateDevicePCISlotsChipsets(def, addrs,
+ videoPrimaryEnabled) < 0)
+ goto cleanup;
+
+ if (virDomainAssignDevicePCISlots(def, addrs, virtioMMIOEnabled) < 0)
+ goto cleanup;
+ }
+
+ ret = addrs;
+ addrs = NULL;
+
+ cleanup:
+ virDomainPCIAddressSetFree(addrs);
+
+ return ret;
+}
diff --git a/src/conf/domain_addr.h b/src/conf/domain_addr.h
index f06ae46..5bfec3b 100644
--- a/src/conf/domain_addr.h
+++ b/src/conf/domain_addr.h
@@ -290,4 +290,11 @@ virDomainSupportsPCI(virDomainDefPtr def,
bool gpexEnabled)
ATTRIBUTE_NONNULL(1);
+virDomainPCIAddressSetPtr
+virDomainPCIAddrSetCreateFromDomain(virDomainDefPtr def,
+ bool virtioMMIOEnabled,
+ bool videoPrimaryEnabled,
+ bool gpexEnabled)
+ ATTRIBUTE_NONNULL(1);
+
#endif /* __DOMAIN_ADDR_H__ */
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index 9d1024b..a111f02 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -112,6 +112,7 @@ virDomainPCIAddressSetFree;
virDomainPCIAddressSetGrow;
virDomainPCIAddressSlotInUse;
virDomainPCIAddressValidate;
+virDomainPCIAddrSetCreateFromDomain;
virDomainPCIBusFullyReserved;
virDomainPCIControllerModelToConnectType;
virDomainSupportsPCI;
diff --git a/src/qemu/qemu_domain_address.c b/src/qemu/qemu_domain_address.c
index 795fcd0..2754623 100644
--- a/src/qemu/qemu_domain_address.c
+++ b/src/qemu/qemu_domain_address.c
@@ -397,47 +397,6 @@ qemuDomainPCIControllerSetDefaultModelName(virDomainControllerDefPtr
cont)
}
}
-virDomainPCIAddressSetPtr
-qemuDomainPCIAddrSetCreateFromDomain(virDomainDefPtr def,
- bool virtioMMIOEnabled,
- bool videoPrimaryEnabled,
- bool gpexEnabled)
-{
- virDomainPCIAddressSetPtr addrs = NULL;
- int max_idx = -1;
- int nbuses = 0;
- virDomainPCIAddressSetPtr ret = NULL;
- size_t i;
-
- for (i = 0; i < def->ncontrollers; i++) {
- if (def->controllers[i]->type == VIR_DOMAIN_CONTROLLER_TYPE_PCI) {
- if ((int) def->controllers[i]->idx > max_idx)
- max_idx = def->controllers[i]->idx;
- }
- }
-
- nbuses = max_idx + 1;
-
- if (!(addrs = virDomainPCIAddressSetCreate(def, nbuses, false)))
- goto cleanup;
-
- if (virDomainSupportsPCI(def, gpexEnabled)) {
- if (virDomainValidateDevicePCISlotsChipsets(def, addrs,
- videoPrimaryEnabled) < 0)
- goto cleanup;
-
- if (virDomainAssignDevicePCISlots(def, addrs, virtioMMIOEnabled) < 0)
- goto cleanup;
- }
-
- ret = addrs;
- addrs = NULL;
-
- cleanup:
- virDomainPCIAddressSetFree(addrs);
-
- return ret;
-}
static int
qemuDomainAssignPCIAddresses(virDomainDefPtr def,
@@ -521,7 +480,7 @@ qemuDomainAssignPCIAddresses(virDomainDefPtr def,
goto cleanup;
}
- if (!(addrs = qemuDomainPCIAddrSetCreateFromDomain(def,
+ if (!(addrs = virDomainPCIAddrSetCreateFromDomain(def,
virtioMMIOEnabled,
videoPrimaryEnabled,
gpexEnabled)))
diff --git a/src/qemu/qemu_domain_address.h b/src/qemu/qemu_domain_address.h
index 77a5541..b6ef65d 100644
--- a/src/qemu/qemu_domain_address.h
+++ b/src/qemu/qemu_domain_address.h
@@ -41,12 +41,6 @@ virDomainCCWAddressSetPtr
qemuDomainCCWAddrSetCreateFromDomain(virDomainDefPtr def)
ATTRIBUTE_NONNULL(1);
-virDomainPCIAddressSetPtr
-qemuDomainPCIAddrSetCreateFromDomain(virDomainDefPtr def,
- bool virtioMMIOEnabled,
- bool videoPrimaryEnabled,
- bool gpexEnabled)
- ATTRIBUTE_NONNULL(1);
# define __QEMU_DOMAIN_ADDRESS_H__
diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
index fa7a8e9..a193cc0 100644
--- a/src/qemu/qemu_hotplug.c
+++ b/src/qemu/qemu_hotplug.c
@@ -334,7 +334,7 @@ qemuDomainAttachVirtioDiskDevice(virConnectPtr conn,
goto error;
} else if (!disk->info.type ||
disk->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI) {
- if (!(pciaddrs = qemuDomainPCIAddrSetCreateFromDomain(vm->def,
+ if (!(pciaddrs = virDomainPCIAddrSetCreateFromDomain(vm->def,
virQEMUCapsGet(priv->qemuCaps,
QEMU_CAPS_DEVICE_VIRTIO_MMIO),
virQEMUCapsGet(priv->qemuCaps,
QEMU_CAPS_DEVICE_VIDEO_PRIMARY),
virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_OBJECT_GPEX))))
@@ -456,7 +456,7 @@ int qemuDomainAttachControllerDevice(virQEMUDriverPtr driver,
if (controller->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE ||
controller->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI) {
- if (!(pciaddrs = qemuDomainPCIAddrSetCreateFromDomain(vm->def,
+ if (!(pciaddrs = virDomainPCIAddrSetCreateFromDomain(vm->def,
virQEMUCapsGet(priv->qemuCaps,
QEMU_CAPS_DEVICE_VIRTIO_MMIO),
virQEMUCapsGet(priv->qemuCaps,
QEMU_CAPS_DEVICE_VIDEO_PRIMARY),
virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_OBJECT_GPEX))))
@@ -976,7 +976,7 @@ qemuDomainAttachNetDevice(virQEMUDriverPtr driver,
_("virtio-s390 net device cannot be hotplugged."));
goto cleanup;
} else {
- if (!(pciaddrs = qemuDomainPCIAddrSetCreateFromDomain(vm->def,
+ if (!(pciaddrs = virDomainPCIAddrSetCreateFromDomain(vm->def,
virQEMUCapsGet(priv->qemuCaps,
QEMU_CAPS_DEVICE_VIRTIO_MMIO),
virQEMUCapsGet(priv->qemuCaps,
QEMU_CAPS_DEVICE_VIDEO_PRIMARY),
virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_OBJECT_GPEX))))
@@ -1258,7 +1258,7 @@ qemuDomainAttachHostPCIDevice(virQEMUDriverPtr driver,
if (qemuAssignDeviceHostdevAlias(vm->def, &hostdev->info->alias, -1)
< 0)
goto error;
- if (!(pciaddrs = qemuDomainPCIAddrSetCreateFromDomain(vm->def,
+ if (!(pciaddrs = virDomainPCIAddrSetCreateFromDomain(vm->def,
virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DEVICE_VIRTIO_MMIO),
virQEMUCapsGet(priv->qemuCaps,
QEMU_CAPS_DEVICE_VIDEO_PRIMARY),
virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_OBJECT_GPEX))))
@@ -1507,7 +1507,7 @@ qemuDomainAttachChrDeviceAssignAddr(virDomainDefPtr def,
} else if (chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_SERIAL &&
chr->targetType == VIR_DOMAIN_CHR_SERIAL_TARGET_TYPE_PCI) {
- if (!(pciaddrs = qemuDomainPCIAddrSetCreateFromDomain(def,
+ if (!(pciaddrs = virDomainPCIAddrSetCreateFromDomain(def,
virQEMUCapsGet(priv->qemuCaps,
QEMU_CAPS_DEVICE_VIRTIO_MMIO),
virQEMUCapsGet(priv->qemuCaps,
QEMU_CAPS_DEVICE_VIDEO_PRIMARY),
virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_OBJECT_GPEX))))
@@ -1638,7 +1638,7 @@ qemuDomainAttachRNGDevice(virQEMUDriverPtr driver,
if (rng->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE ||
rng->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI) {
- if (!(pciaddrs = qemuDomainPCIAddrSetCreateFromDomain(vm->def,
+ if (!(pciaddrs = virDomainPCIAddrSetCreateFromDomain(vm->def,
virQEMUCapsGet(priv->qemuCaps,
QEMU_CAPS_DEVICE_VIRTIO_MMIO),
virQEMUCapsGet(priv->qemuCaps,
QEMU_CAPS_DEVICE_VIDEO_PRIMARY),
virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_OBJECT_GPEX))))
--
2.7.4 (Apple Git-66)