qemuDomainAssignVirtioSerialAddresses is renamed to
virDomainAssignVirtioSerialAddresses 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 | 38 ++++++++++++++++++++++++++++++++++++++
src/conf/domain_addr.h | 4 ++++
src/libvirt_private.syms | 1 +
src/qemu/qemu_domain_address.c | 40 +---------------------------------------
4 files changed, 44 insertions(+), 39 deletions(-)
diff --git a/src/conf/domain_addr.c b/src/conf/domain_addr.c
index 67c12a4..4b7fead 100644
--- a/src/conf/domain_addr.c
+++ b/src/conf/domain_addr.c
@@ -1190,3 +1190,41 @@ virDomainVirtioSerialAddrReserve(virDomainDefPtr def
ATTRIBUTE_UNUSED,
VIR_FREE(str);
return ret;
}
+
+
+int
+virDomainAssignVirtioSerialAddresses(virDomainDefPtr def)
+{
+ int ret = -1;
+ size_t i;
+ virDomainVirtioSerialAddrSetPtr addrs = NULL;
+
+ if (!(addrs = virDomainVirtioSerialAddrSetCreateFromDomain(def)))
+ goto cleanup;
+
+ VIR_DEBUG("Finished reserving existing ports");
+
+ for (i = 0; i < def->nconsoles; i++) {
+ virDomainChrDefPtr chr = def->consoles[i];
+ if (chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_CONSOLE &&
+ chr->targetType == VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_VIRTIO &&
+ !virDomainVirtioSerialAddrIsComplete(&chr->info) &&
+ virDomainVirtioSerialAddrAutoAssign(def, addrs, &chr->info, true) <
0)
+ goto cleanup;
+ }
+
+ for (i = 0; i < def->nchannels; i++) {
+ virDomainChrDefPtr chr = def->channels[i];
+ if (chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_CHANNEL &&
+ chr->targetType == VIR_DOMAIN_CHR_CHANNEL_TARGET_TYPE_VIRTIO &&
+ !virDomainVirtioSerialAddrIsComplete(&chr->info) &&
+ virDomainVirtioSerialAddrAutoAssign(def, addrs, &chr->info, false)
< 0)
+ goto cleanup;
+ }
+
+ ret = 0;
+
+ cleanup:
+ virDomainVirtioSerialAddrSetFree(addrs);
+ return ret;
+}
diff --git a/src/conf/domain_addr.h b/src/conf/domain_addr.h
index a060683..74ae3ab 100644
--- a/src/conf/domain_addr.h
+++ b/src/conf/domain_addr.h
@@ -228,4 +228,8 @@ virDomainVirtioSerialAddrReserve(virDomainDefPtr def,
void *data)
ATTRIBUTE_NONNULL(3) ATTRIBUTE_NONNULL(4);
+int
+virDomainAssignVirtioSerialAddresses(virDomainDefPtr def)
+ ATTRIBUTE_NONNULL(1);
+
#endif /* __DOMAIN_ADDR_H__ */
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index bdf8304..e1bfce9 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -85,6 +85,7 @@ virPCIDeviceAddressParseXML;
# conf/domain_addr.h
+virDomainAssignVirtioSerialAddresses;
virDomainCCWAddressAllocate;
virDomainCCWAddressAssign;
virDomainCCWAddressSetCreate;
diff --git a/src/qemu/qemu_domain_address.c b/src/qemu/qemu_domain_address.c
index df36349..c0a96ba 100644
--- a/src/qemu/qemu_domain_address.c
+++ b/src/qemu/qemu_domain_address.c
@@ -106,44 +106,6 @@ qemuDomainSetSCSIControllerModel(const virDomainDef *def,
static int
-qemuDomainAssignVirtioSerialAddresses(virDomainDefPtr def)
-{
- int ret = -1;
- size_t i;
- virDomainVirtioSerialAddrSetPtr addrs = NULL;
-
- if (!(addrs = virDomainVirtioSerialAddrSetCreateFromDomain(def)))
- goto cleanup;
-
- VIR_DEBUG("Finished reserving existing ports");
-
- for (i = 0; i < def->nconsoles; i++) {
- virDomainChrDefPtr chr = def->consoles[i];
- if (chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_CONSOLE &&
- chr->targetType == VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_VIRTIO &&
- !virDomainVirtioSerialAddrIsComplete(&chr->info) &&
- virDomainVirtioSerialAddrAutoAssign(def, addrs, &chr->info, true) <
0)
- goto cleanup;
- }
-
- for (i = 0; i < def->nchannels; i++) {
- virDomainChrDefPtr chr = def->channels[i];
- if (chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_CHANNEL &&
- chr->targetType == VIR_DOMAIN_CHR_CHANNEL_TARGET_TYPE_VIRTIO &&
- !virDomainVirtioSerialAddrIsComplete(&chr->info) &&
- virDomainVirtioSerialAddrAutoAssign(def, addrs, &chr->info, false)
< 0)
- goto cleanup;
- }
-
- ret = 0;
-
- cleanup:
- virDomainVirtioSerialAddrSetFree(addrs);
- return ret;
-}
-
-
-static int
qemuDomainSpaprVIOFindByReg(virDomainDefPtr def ATTRIBUTE_UNUSED,
virDomainDeviceDefPtr device ATTRIBUTE_UNUSED,
virDomainDeviceInfoPtr info, void *opaque)
@@ -1638,7 +1600,7 @@ qemuDomainAssignAddresses(virDomainDefPtr def,
virDomainObjPtr obj ATTRIBUTE_UNUSED,
bool newDomain ATTRIBUTE_UNUSED)
{
- if (qemuDomainAssignVirtioSerialAddresses(def) < 0)
+ if (virDomainAssignVirtioSerialAddresses(def) < 0)
return -1;
if (qemuDomainAssignSpaprVIOAddresses(def, qemuCaps) < 0)
--
2.7.4 (Apple Git-66)