qemu: Pass virDomainVirtType to APIs dealing with machine types

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Jiri Denemark
2019-11-20 17:22:06 +01:00
parent 4682197641
commit de18836ea7
4 changed files with 59 additions and 31 deletions
+8 -2
View File
@@ -83,6 +83,7 @@ fillQemuCaps(virDomainCapsPtr domCaps,
virCapsPtr caps = NULL;
virQEMUCapsPtr qemuCaps = NULL;
virDomainCapsLoaderPtr loader = &domCaps->os.loader;
virDomainVirtType virtType;
if (!(caps = virCapabilitiesNew(domCaps->arch, false, false)) ||
fakeHostCPU(caps, domCaps->arch) < 0)
@@ -92,13 +93,18 @@ fillQemuCaps(virDomainCapsPtr domCaps,
if (!(qemuCaps = qemuTestParseCapabilities(caps, path)))
goto cleanup;
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_KVM))
virtType = VIR_DOMAIN_VIRT_KVM;
else
virtType = VIR_DOMAIN_VIRT_QEMU;
if (machine) {
VIR_FREE(domCaps->machine);
domCaps->machine = g_strdup(virQEMUCapsGetCanonicalMachine(qemuCaps, machine));
domCaps->machine = g_strdup(virQEMUCapsGetCanonicalMachine(qemuCaps, virtType, machine));
}
if (!domCaps->machine)
domCaps->machine = g_strdup(virQEMUCapsGetPreferredMachine(qemuCaps));
domCaps->machine = g_strdup(virQEMUCapsGetPreferredMachine(qemuCaps, virtType));
if (virQEMUCapsFillDomainCaps(caps, domCaps, qemuCaps,
false,