This reverts commit dfc711dc8cf08e942b01e6ead3de117e6522e5cd which was
pushed accidentally.
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
src/qemu/qemu_capabilities.c | 91 ++++++++++----------------------------------
1 file changed, 20 insertions(+), 71 deletions(-)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 964299b01..74fe2c258 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -373,14 +373,6 @@ struct virQEMUCapsMachineType {
unsigned int maxCpus;
bool hotplugCpus;
};
-
-typedef struct _virQEMUCapsCPUModel virQEMUCapsCPUModel;
-typedef virQEMUCapsCPUModel *virQEMUCapsCPUModelPtr;
-struct _virQEMUCapsCPUModel {
- virCPUDefPtr full;
- virCPUDefPtr migratable;
-};
-
/*
* Update the XML parser/formatter when adding more
* information to this struct so that it gets cached
@@ -423,8 +415,8 @@ struct _virQEMUCaps {
* time we probe QEMU or load the results from the cache.
*/
struct {
- virQEMUCapsCPUModel kvm;
- virQEMUCapsCPUModel tcg;
+ virCPUDefPtr kvm;
+ virCPUDefPtr tcg;
} hostCPU;
};
@@ -2109,20 +2101,12 @@ virQEMUCapsCopyHostCPUData(virQEMUCapsPtr dst,
!(dst->tcgCPUModelInfo =
qemuMonitorCPUModelInfoCopy(src->tcgCPUModelInfo)))
return -1;
- if (src->hostCPU.kvm.full &&
- !(dst->hostCPU.kvm.full = virCPUDefCopy(src->hostCPU.kvm.full)))
+ if (src->hostCPU.kvm &&
+ !(dst->hostCPU.kvm = virCPUDefCopy(src->hostCPU.kvm)))
return -1;
- if (src->hostCPU.kvm.migratable &&
- !(dst->hostCPU.kvm.migratable =
virCPUDefCopy(src->hostCPU.kvm.migratable)))
- return -1;
-
- if (src->hostCPU.tcg.full &&
- !(dst->hostCPU.tcg.full = virCPUDefCopy(src->hostCPU.tcg.full)))
- return -1;
-
- if (src->hostCPU.tcg.migratable &&
- !(dst->hostCPU.tcg.migratable =
virCPUDefCopy(src->hostCPU.tcg.migratable)))
+ if (src->hostCPU.tcg &&
+ !(dst->hostCPU.tcg = virCPUDefCopy(src->hostCPU.tcg)))
return -1;
return 0;
@@ -2217,10 +2201,8 @@ void virQEMUCapsDispose(void *obj)
qemuMonitorCPUModelInfoFree(qemuCaps->kvmCPUModelInfo);
qemuMonitorCPUModelInfoFree(qemuCaps->tcgCPUModelInfo);
- virCPUDefFree(qemuCaps->hostCPU.kvm.full);
- virCPUDefFree(qemuCaps->hostCPU.kvm.migratable);
- virCPUDefFree(qemuCaps->hostCPU.tcg.full);
- virCPUDefFree(qemuCaps->hostCPU.tcg.migratable);
+ virCPUDefFree(qemuCaps->hostCPU.kvm);
+ virCPUDefFree(qemuCaps->hostCPU.tcg);
}
void
@@ -2449,9 +2431,9 @@ virQEMUCapsGetHostModel(virQEMUCapsPtr qemuCaps,
virDomainVirtType type)
{
if (type == VIR_DOMAIN_VIRT_KVM)
- return qemuCaps->hostCPU.kvm.full;
+ return qemuCaps->hostCPU.kvm;
else
- return qemuCaps->hostCPU.tcg.full;
+ return qemuCaps->hostCPU.tcg;
}
@@ -3298,40 +3280,26 @@ virQEMUCapsInitCPUModel(virQEMUCapsPtr qemuCaps,
}
-static virCPUDefPtr
-virQEMUCapsNewHostCPUModel(void)
-{
- virCPUDefPtr cpu;
-
- if (VIR_ALLOC(cpu) < 0)
- return NULL;
-
- cpu->type = VIR_CPU_TYPE_GUEST;
- cpu->mode = VIR_CPU_MODE_CUSTOM;
- cpu->match = VIR_CPU_MATCH_EXACT;
- cpu->fallback = VIR_CPU_FALLBACK_ALLOW;
-
- return cpu;
-}
-
-
void
virQEMUCapsInitHostCPUModel(virQEMUCapsPtr qemuCaps,
virCapsPtr caps,
virDomainVirtType type)
{
virCPUDefPtr cpu = NULL;
- virCPUDefPtr migCPU = NULL;
virCPUDefPtr hostCPU = NULL;
- virQEMUCapsCPUModelPtr model;
int rc;
if (!caps || !virQEMUCapsGuestIsNative(caps->host.arch, qemuCaps->arch))
return;
- if (!(cpu = virQEMUCapsNewHostCPUModel()))
+ if (VIR_ALLOC(cpu) < 0)
goto error;
+ cpu->type = VIR_CPU_TYPE_GUEST;
+ cpu->mode = VIR_CPU_MODE_CUSTOM;
+ cpu->match = VIR_CPU_MATCH_EXACT;
+ cpu->fallback = VIR_CPU_FALLBACK_ALLOW;
+
if ((rc = virQEMUCapsInitCPUModel(qemuCaps, type, cpu, false)) < 0) {
goto error;
} else if (rc == 1) {
@@ -3345,26 +3313,10 @@ virQEMUCapsInitHostCPUModel(virQEMUCapsPtr qemuCaps,
goto error;
}
- if (!(migCPU = virQEMUCapsNewHostCPUModel()))
- goto error;
-
- if ((rc = virQEMUCapsInitCPUModel(qemuCaps, type, migCPU, true)) < 0) {
- goto error;
- } else if (rc == 1) {
- VIR_DEBUG("CPU migratibility not provided by QEMU");
-
- virCPUDefFree(migCPU);
- if (!(migCPU = virCPUCopyMigratable(qemuCaps->arch, cpu)))
- goto error;
- }
-
if (type == VIR_DOMAIN_VIRT_KVM)
- model = &qemuCaps->hostCPU.kvm;
+ qemuCaps->hostCPU.kvm = cpu;
else
- model = &qemuCaps->hostCPU.tcg;
-
- model->full = cpu;
- model->migratable = migCPU;
+ qemuCaps->hostCPU.tcg = cpu;
cleanup:
virCPUDefFree(hostCPU);
@@ -3372,7 +3324,6 @@ virQEMUCapsInitHostCPUModel(virQEMUCapsPtr qemuCaps,
error:
virCPUDefFree(cpu);
- virCPUDefFree(migCPU);
virResetLastError();
goto cleanup;
}
@@ -4120,10 +4071,8 @@ virQEMUCapsReset(virQEMUCapsPtr qemuCaps)
qemuCaps->kvmCPUModelInfo = NULL;
qemuCaps->tcgCPUModelInfo = NULL;
- virCPUDefFree(qemuCaps->hostCPU.kvm.full);
- virCPUDefFree(qemuCaps->hostCPU.kvm.migratable);
- virCPUDefFree(qemuCaps->hostCPU.tcg.full);
- virCPUDefFree(qemuCaps->hostCPU.tcg.migratable);
+ virCPUDefFree(qemuCaps->hostCPU.kvm);
+ virCPUDefFree(qemuCaps->hostCPU.tcg);
memset(&qemuCaps->hostCPU, 0, sizeof(qemuCaps->hostCPU));
}
--
2.12.2