From 7eae46010b2cfe85efe02eb89e1967f31ed06326 Mon Sep 17 00:00:00 2001 From: Igor Mammedov Date: Mon, 1 Aug 2016 08:11:22 +0200 Subject: [PATCH 22/99] target-i386: Remove xlevel & hv-spinlocks option fixups RH-Author: Igor Mammedov Message-id: <1470039143-24450-18-git-send-email-imammedo@redhat.com> Patchwork-id: 71633 O-Subject: [RHEV-7.3 qemu-kvm-rhev PATCH 17/78] target-i386: Remove xlevel & hv-spinlocks option fixups Bugzilla: 1087672 RH-Acked-by: Marcel Apfelbaum RH-Acked-by: David Gibson RH-Acked-by: Eduardo Habkost From: Eduardo Habkost 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: Eric Blake Signed-off-by: Eduardo Habkost (cherry picked from commit c19b85216b5d47d922ac010931d4c7b2d79b2f68) Signed-off-by: Miroslav Rezanina --- target-i386/cpu.c | 36 +----------------------------------- 1 file changed, 1 insertion(+), 35 deletions(-) diff --git a/target-i386/cpu.c b/target-i386/cpu.c index 175f628..4ff7934 100644 --- a/target-i386/cpu.c +++ b/target-i386/cpu.c @@ -1973,7 +1973,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; @@ -1988,23 +1987,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]; @@ -2018,23 +2001,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); } -- 1.8.3.1