summaryrefslogtreecommitdiffstats
path: root/target-i386
diff options
context:
space:
mode:
authorIgor Mammedov2012-12-14 01:16:00 +0100
committerAndreas Färber2013-12-24 13:47:25 +0100
commit258f5abe9a8786c410f98367e9e042ee16c249f2 (patch)
tree390da8f8de5bfe525a5179e973459a1f16b5a622 /target-i386
parenttarget-i386: Convert 'check' and 'enforce' to static properties (diff)
downloadqemu-258f5abe9a8786c410f98367e9e042ee16c249f2.tar.gz
qemu-258f5abe9a8786c410f98367e9e042ee16c249f2.tar.xz
qemu-258f5abe9a8786c410f98367e9e042ee16c249f2.zip
target-i386: Cleanup 'foo' feature handling
Features check, enforce, hv_relaxed and hv_vapic are treated as boolean set to 'on' when passed from command line, so it's not necessary to handle each of them separately. Collapse them to one catch-all branch which will treat any feature in format 'foo' as boolean set to 'on'. Any unknown feature will be rejected by CPU property setter so there is no need to check for unknown feature in cpu_x86_parse_featurestr(), therefore it's replaced by above mentioned catch-all handler. Signed-off-by: Igor Mammedov <imammedo@redhat.com> Reviewed-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Andreas Färber <afaerber@suse.de>
Diffstat (limited to 'target-i386')
-rw-r--r--target-i386/cpu.c13
1 files changed, 2 insertions, 11 deletions
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 6055035b50..9c020a411b 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
@@ -1768,18 +1768,9 @@ static void cpu_x86_parse_featurestr(X86CPU *cpu, char *features, Error **errp)
error_setg(errp, "unrecognized feature %s", featurestr);
goto out;
}
- } else if (!strcmp(featurestr, "check")) {
- object_property_parse(OBJECT(cpu), "on", featurestr, errp);
- } else if (!strcmp(featurestr, "enforce")) {
- object_property_parse(OBJECT(cpu), "on", featurestr, errp);
- } else if (!strcmp(featurestr, "hv_relaxed")) {
- object_property_parse(OBJECT(cpu), "on", "hv-relaxed", errp);
- } else if (!strcmp(featurestr, "hv_vapic")) {
- object_property_parse(OBJECT(cpu), "on", "hv-vapic", errp);
} else {
- error_setg(errp, "feature string `%s' not in format (+feature|"
- "-feature|feature=xyz)", featurestr);
- goto out;
+ feat2prop(featurestr);
+ object_property_parse(OBJECT(cpu), "on", featurestr, errp);
}
if (error_is_set(errp)) {
goto out;