The API is useful for creating virCPUData in a hypervisor driver from
data we got by querying the hypervisor.
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
}
+int
+virCPUx86DataAddFeature(virCPUDataPtr cpuData,
+ const char *name)
+{
+ virCPUx86FeaturePtr feature;
+ virCPUx86MapPtr map;
+
+ if (!(map = virCPUx86GetMap()))
+ return -1;
+
+ /* ignore unknown features */
+ if (!(feature = x86FeatureFind(map, name)) &&
+ !(feature = x86FeatureFindInternal(name)))
+ return 0;
+
+ if (x86DataAdd(&cpuData->data.x86, &feature->data) < 0)
+ return -1;
+
+ return 0;
+}
+
+
struct cpuArchDriver cpuDriverX86 = {
.name = "x86",
.arch = archs,
int virCPUx86DataSetVendor(virCPUDataPtr cpuData,
const char *vendor);
+int virCPUx86DataAddFeature(virCPUDataPtr cpuData,
+ const char *name);
+
#endif /* __VIR_CPU_X86_H__ */
# cpu/cpu_x86.h
virCPUx86DataAddCPUID;
+virCPUx86DataAddFeature;
virCPUx86DataSetSignature;
virCPUx86DataSetVendor;