virDomainCapsCPUModelsPtr
virQEMUCapsGetCPUDefinitions(virQEMUCapsPtr qemuCaps,
- virDomainVirtType type)
+ virDomainVirtType type,
+ const char **modelWhitelist,
+ const char **modelBlacklist)
{
virDomainCapsCPUModelsPtr cpuModels;
if (!cpuModels)
return NULL;
+ if (modelWhitelist || modelBlacklist)
+ return virDomainCapsCPUModelsFilter(cpuModels, modelWhitelist, modelBlacklist);
+
return virDomainCapsCPUModelsCopy(cpuModels);
}
if (!(data = virQEMUCapsGetCPUModelX86Data(qemuCaps, model, migratable)))
goto cleanup;
- cpuModels = virQEMUCapsGetCPUDefinitions(qemuCaps, type);
+ cpuModels = virQEMUCapsGetCPUDefinitions(qemuCaps, type, NULL, NULL);
if (cpuDecode(cpu, data, cpuModels) < 0)
goto cleanup;
VIR_DEBUG("No host CPU model info from QEMU; probing host CPU directly");
- cpuModels = virQEMUCapsGetCPUDefinitions(qemuCaps, type);
+ cpuModels = virQEMUCapsGetCPUDefinitions(qemuCaps, type, NULL, NULL);
hostCPU = virQEMUCapsProbeHostCPU(hostArch, cpuModels);
if (!hostCPU ||
size_t count,
virDomainCapsCPUUsable usable);
virDomainCapsCPUModelsPtr virQEMUCapsGetCPUDefinitions(virQEMUCapsPtr qemuCaps,
- virDomainVirtType type);
+ virDomainVirtType type,
+ const char **modelWhitelist,
+ const char **modelBlacklist);
virDomainCapsCPUModelsPtr virQEMUCapsFetchCPUDefinitions(qemuMonitorPtr mon,
virArch arch);
if (!qemuCaps)
goto cleanup;
- if (!(cpuModels = virQEMUCapsGetCPUDefinitions(qemuCaps, virttype)) ||
+ if (!(cpuModels = virQEMUCapsGetCPUDefinitions(qemuCaps, virttype, NULL, NULL)) ||
cpuModels->nmodels == 0) {
virReportError(VIR_ERR_OPERATION_UNSUPPORTED,
_("QEMU '%s' does not support any CPU models for "
VIR_QEMU_CAPS_HOST_CPU_MIGRATABLE)) < 0)
return -1;
- cpuModels = virQEMUCapsGetCPUDefinitions(qemuCaps, def->virtType);
+ cpuModels = virQEMUCapsGetCPUDefinitions(qemuCaps, def->virtType, NULL, NULL);
if (virCPUTranslate(def->os.arch, def->cpu, cpuModels) < 0)
return -1;
if (!(qemuCaps = cpuTestMakeQEMUCaps(data)))
return -1;
- *models = virQEMUCapsGetCPUDefinitions(qemuCaps, VIR_DOMAIN_VIRT_KVM);
+ *models = virQEMUCapsGetCPUDefinitions(qemuCaps, VIR_DOMAIN_VIRT_KVM, NULL, NULL);
virObjectUnref(qemuCaps);