target-i386: Reject invalid CPU feature names on the command-line
Instead of simply printing a warning, report an error when invalid CPU options are provided on the CPU model string. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> Signed-off-by: Andreas Färber <afaerber@suse.de>
This commit is contained in:
parent
4d1b279b06
commit
c00c94abbd
@ -592,7 +592,8 @@ static bool lookup_feature(uint32_t *pval, const char *s, const char *e,
|
||||
}
|
||||
|
||||
static void add_flagname_to_bitmaps(const char *flagname,
|
||||
FeatureWordArray words)
|
||||
FeatureWordArray words,
|
||||
Error **errp)
|
||||
{
|
||||
FeatureWord w;
|
||||
for (w = 0; w < FEATURE_WORDS; w++) {
|
||||
@ -603,7 +604,7 @@ static void add_flagname_to_bitmaps(const char *flagname,
|
||||
}
|
||||
}
|
||||
if (w == FEATURE_WORDS) {
|
||||
fprintf(stderr, "CPU feature %s not found\n", flagname);
|
||||
error_setg(errp, "CPU feature %s not found", flagname);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1761,9 +1762,9 @@ static void x86_cpu_parse_featurestr(CPUState *cs, char *features,
|
||||
while (featurestr) {
|
||||
char *val;
|
||||
if (featurestr[0] == '+') {
|
||||
add_flagname_to_bitmaps(featurestr + 1, plus_features);
|
||||
add_flagname_to_bitmaps(featurestr + 1, plus_features, &local_err);
|
||||
} else if (featurestr[0] == '-') {
|
||||
add_flagname_to_bitmaps(featurestr + 1, minus_features);
|
||||
add_flagname_to_bitmaps(featurestr + 1, minus_features, &local_err);
|
||||
} else if ((val = strchr(featurestr, '='))) {
|
||||
*val = 0; val++;
|
||||
feat2prop(featurestr);
|
||||
|
Loading…
Reference in New Issue
Block a user