mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
cpu_x86: Implement virCPUValidateFeatures
The function checks whether all CPU features used in a CPU definition are specified in cpu_map.xml. https://bugzilla.redhat.com/show_bug.cgi?id=1460086 Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
This commit is contained in:
parent
20edbad776
commit
ea9741f600
@ -2925,6 +2925,28 @@ virCPUx86CopyMigratable(virCPUDefPtr cpu)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static int
|
||||||
|
virCPUx86ValidateFeatures(virCPUDefPtr cpu)
|
||||||
|
{
|
||||||
|
virCPUx86MapPtr map;
|
||||||
|
size_t i;
|
||||||
|
|
||||||
|
if (!(map = virCPUx86GetMap()))
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
for (i = 0; i < cpu->nfeatures; i++) {
|
||||||
|
if (!x86FeatureFind(map, cpu->features[i].name)) {
|
||||||
|
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
||||||
|
_("unknown CPU feature: %s"),
|
||||||
|
cpu->features[i].name);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
virCPUx86DataAddCPUID(virCPUDataPtr cpuData,
|
virCPUx86DataAddCPUID(virCPUDataPtr cpuData,
|
||||||
const virCPUx86CPUID *cpuid)
|
const virCPUx86CPUID *cpuid)
|
||||||
@ -3001,4 +3023,5 @@ struct cpuArchDriver cpuDriverX86 = {
|
|||||||
.translate = virCPUx86Translate,
|
.translate = virCPUx86Translate,
|
||||||
.expandFeatures = virCPUx86ExpandFeatures,
|
.expandFeatures = virCPUx86ExpandFeatures,
|
||||||
.copyMigratable = virCPUx86CopyMigratable,
|
.copyMigratable = virCPUx86CopyMigratable,
|
||||||
|
.validateFeatures = virCPUx86ValidateFeatures,
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user