gid_t runGid,
bool expand_features,
virCPUDefPtr *cpus,
- int ncpus)
+ int ncpus,
+ virDomainCapsCPUModelsPtr cpuModels)
{
g_autoptr(qemuProcessQMP) proc = NULL;
g_autoptr(virCPUDef) baseline = NULL;
_("no CPU model specified at index %zu"), i);
return NULL;
}
+
+ if (!virDomainCapsCPUModelsGet(cpuModels, cpus[i]->model)) {
+ virReportError(VIR_ERR_INVALID_ARG,
+ _("CPU model '%s' not supported by hypervisor"),
+ cpus[i]->model);
+ return NULL;
+ }
}
if (!(proc = qemuProcessQMPNew(virQEMUCapsGetBinary(qemuCaps),
if (!(cpu = qemuConnectCPUModelBaseline(qemuCaps, cfg->libDir,
cfg->user, cfg->group,
- expand_features, cpus, ncpus)))
+ expand_features, cpus, ncpus,
+ cpuModels)))
goto cleanup;
} else {
virReportError(VIR_ERR_OPERATION_UNSUPPORTED,