goto cleanup;
for (i = 0; i < guest->nfeatures; i++) {
- if (guest->features[i].policy == VIR_CPU_FEATURE_OPTIONAL) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
- _("only cpu feature policies 'require' and "
- "'disable' are supported for %s"),
- guest->features[i].name);
- goto cleanup;
- }
-
if (virCPUDefUpdateFeature(updated,
guest->features[i].name,
guest->features[i].policy) < 0)
return ret;
}
+
+static int
+virCPUs390ValidateFeatures(virCPUDefPtr cpu)
+{
+ size_t i;
+
+ for (i = 0; i < cpu->nfeatures; i++) {
+ if (cpu->features[i].policy == VIR_CPU_FEATURE_OPTIONAL) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("only cpu feature policies 'require' and "
+ "'disable' are supported for %s"),
+ cpu->features[i].name);
+ return -1;
+ }
+ }
+
+ return 0;
+}
+
+
struct cpuArchDriver cpuDriverS390 = {
.name = "s390",
.arch = archs,
.encode = NULL,
.baseline = NULL,
.update = virCPUs390Update,
+ .validateFeatures = virCPUs390ValidateFeatures,
};