mirror of https://gitee.com/openkylin/libvirt.git
qemu: Make virQEMUCapsProbeHostCPUForEmulator more generic
The function is renamed as virQEMUCapsProbeHostCPU and it does not get the list of allowed CPU models from qemuCaps anymore. This is responsibility is moved to the caller. The result is just a very thin wrapper around virCPUGetHost mostly required mocking in tests. The generic function is used in place of a direct call to virCPUGetHost in virQEMUCapsInitHostCPUModel to make sure tests don't accidentally probe host CPU. Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
This commit is contained in:
parent
ec6ce6363a
commit
dd3fc650de
|
@ -881,12 +881,10 @@ virQEMUCapsInitGuestFromBinary(virCapsPtr caps,
|
|||
|
||||
|
||||
virCPUDefPtr
|
||||
virQEMUCapsProbeHostCPUForEmulator(virArch hostArch,
|
||||
virQEMUCapsPtr qemuCaps,
|
||||
virDomainVirtType type)
|
||||
virQEMUCapsProbeHostCPU(virArch hostArch,
|
||||
virDomainCapsCPUModelsPtr models)
|
||||
{
|
||||
return virCPUGetHost(hostArch, VIR_CPU_TYPE_GUEST, NULL,
|
||||
virQEMUCapsGetCPUDefinitions(qemuCaps, type));
|
||||
return virCPUGetHost(hostArch, VIR_CPU_TYPE_GUEST, NULL, models);
|
||||
}
|
||||
|
||||
|
||||
|
@ -3057,7 +3055,8 @@ virQEMUCapsInitHostCPUModel(virQEMUCapsPtr qemuCaps,
|
|||
} else if (rc == 1) {
|
||||
VIR_DEBUG("No host CPU model info from QEMU; probing host CPU directly");
|
||||
|
||||
hostCPU = virQEMUCapsProbeHostCPUForEmulator(hostArch, qemuCaps, type);
|
||||
hostCPU = virQEMUCapsProbeHostCPU(hostArch,
|
||||
virQEMUCapsGetCPUDefinitions(qemuCaps, type));
|
||||
if (!hostCPU ||
|
||||
virCPUDefCopyModelFilter(cpu, hostCPU, true,
|
||||
virQEMUCapsCPUFilterFeatures,
|
||||
|
@ -3070,8 +3069,7 @@ virQEMUCapsInitHostCPUModel(virQEMUCapsPtr qemuCaps,
|
|||
goto error;
|
||||
} else if (type == VIR_DOMAIN_VIRT_KVM &&
|
||||
virCPUGetHostIsSupported(qemuCaps->arch)) {
|
||||
if (!(fullCPU = virCPUGetHost(qemuCaps->arch, VIR_CPU_TYPE_GUEST,
|
||||
NULL, NULL)))
|
||||
if (!(fullCPU = virQEMUCapsProbeHostCPU(qemuCaps->arch, NULL)))
|
||||
goto error;
|
||||
|
||||
if (!(cpuExpanded = virCPUDefCopy(cpu)) ||
|
||||
|
|
|
@ -82,9 +82,8 @@ virQEMUCapsGetCPUModelX86Data(qemuMonitorCPUModelInfoPtr model,
|
|||
bool migratable);
|
||||
|
||||
virCPUDefPtr
|
||||
virQEMUCapsProbeHostCPUForEmulator(virArch hostArch,
|
||||
virQEMUCapsPtr qemuCaps,
|
||||
virDomainVirtType type) ATTRIBUTE_NOINLINE;
|
||||
virQEMUCapsProbeHostCPU(virArch hostArch,
|
||||
virDomainCapsCPUModelsPtr models) ATTRIBUTE_NOINLINE;
|
||||
|
||||
void
|
||||
virQEMUCapsSetGICCapabilities(virQEMUCapsPtr qemuCaps,
|
||||
|
|
|
@ -27,9 +27,8 @@
|
|||
|
||||
|
||||
virCPUDefPtr
|
||||
virQEMUCapsProbeHostCPUForEmulator(virArch hostArch ATTRIBUTE_UNUSED,
|
||||
virQEMUCapsPtr qemuCaps ATTRIBUTE_UNUSED,
|
||||
virDomainVirtType type ATTRIBUTE_UNUSED)
|
||||
virQEMUCapsProbeHostCPU(virArch hostArch ATTRIBUTE_UNUSED,
|
||||
virDomainCapsCPUModelsPtr models ATTRIBUTE_UNUSED)
|
||||
{
|
||||
const char *model = getenv("VIR_TEST_MOCK_FAKE_HOST_CPU");
|
||||
|
||||
|
|
Loading…
Reference in New Issue