Commit c19b8521 authored by Eduardo Habkost's avatar Eduardo Habkost
Browse files

target-i386: Remove xlevel & hv-spinlocks option fixups



The "fixup will be removed in future versions" warnings are
present since QEMU 1.7.0, at least, so users should have fixed
their scripts and configurations, already.

In the case of libvirt users, libvirt doesn't use the "xlevel"
option, and already rejects HyperV spinlock retry count < 0xFFF.

Reviewed-by: default avatarEric Blake <eblake@redhat.com>
Signed-off-by: default avatarEduardo Habkost <ehabkost@redhat.com>
parent 5232d00a
Loading
Loading
Loading
Loading
+1 −35
Original line number Diff line number Diff line
@@ -1952,7 +1952,6 @@ static void x86_cpu_parse_featurestr(CPUState *cs, char *features,
    FeatureWordArray plus_features = { 0 };
    /* Features to be removed */
    FeatureWordArray minus_features = { 0 };
    uint32_t numvalue;
    CPUX86State *env = &cpu->env;
    Error *local_err = NULL;

@@ -1967,23 +1966,7 @@ static void x86_cpu_parse_featurestr(CPUState *cs, char *features,
        } else if ((val = strchr(featurestr, '='))) {
            *val = 0; val++;
            feat2prop(featurestr);
            if (!strcmp(featurestr, "xlevel")) {
                char *err;
                char num[32];

                numvalue = strtoul(val, &err, 0);
                if (!*val || *err) {
                    error_setg(errp, "bad numerical value %s", val);
                    return;
                }
                if (numvalue < 0x80000000) {
                    error_report("xlevel value shall always be >= 0x80000000"
                                 ", fixup will be removed in future versions");
                    numvalue += 0x80000000;
                }
                snprintf(num, sizeof(num), "%" PRIu32, numvalue);
                object_property_parse(OBJECT(cpu), num, featurestr, &local_err);
            } else if (!strcmp(featurestr, "tsc-freq")) {
            if (!strcmp(featurestr, "tsc-freq")) {
                int64_t tsc_freq;
                char *err;
                char num[32];
@@ -1997,23 +1980,6 @@ static void x86_cpu_parse_featurestr(CPUState *cs, char *features,
                snprintf(num, sizeof(num), "%" PRId64, tsc_freq);
                object_property_parse(OBJECT(cpu), num, "tsc-frequency",
                                      &local_err);
            } else if (!strcmp(featurestr, "hv-spinlocks")) {
                char *err;
                const int min = 0xFFF;
                char num[32];
                numvalue = strtoul(val, &err, 0);
                if (!*val || *err) {
                    error_setg(errp, "bad numerical value %s", val);
                    return;
                }
                if (numvalue < min) {
                    error_report("hv-spinlocks value shall always be >= 0x%x"
                                 ", fixup will be removed in future versions",
                                 min);
                    numvalue = min;
                }
                snprintf(num, sizeof(num), "%" PRId32, numvalue);
                object_property_parse(OBJECT(cpu), num, featurestr, &local_err);
            } else {
                object_property_parse(OBJECT(cpu), val, featurestr, &local_err);
            }