From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:40516) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tog8a-0004mU-9T for qemu-devel@nongnu.org; Fri, 28 Dec 2012 15:02:39 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Tog8X-0003SP-Gc for qemu-devel@nongnu.org; Fri, 28 Dec 2012 15:02:36 -0500 Received: from mx1.redhat.com ([209.132.183.28]:44053) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tog8X-0003S6-8q for qemu-devel@nongnu.org; Fri, 28 Dec 2012 15:02:33 -0500 From: Igor Mammedov Date: Fri, 28 Dec 2012 21:01:20 +0100 Message-Id: <1356724895-24118-6-git-send-email-imammedo@redhat.com> In-Reply-To: <1356724895-24118-1-git-send-email-imammedo@redhat.com> References: <1356724895-24118-1-git-send-email-imammedo@redhat.com> Subject: [Qemu-devel] [PATCH 05/20] target-i386: move setting defaults out of cpu_x86_parse_featurestr() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: ehabkost@redhat.com, afaerber@suse.de No functional change, needed for simplifying conversion to properties. Signed-off-by: Igor Mammedov Reviewed-by: Eduardo Habkost --- target-i386/cpu.c | 12 +++++++----- 1 files changed, 7 insertions(+), 5 deletions(-) diff --git a/target-i386/cpu.c b/target-i386/cpu.c index 99fd3f3..e534254 100644 --- a/target-i386/cpu.c +++ b/target-i386/cpu.c @@ -1264,7 +1264,7 @@ static int cpu_x86_parse_featurestr(x86_def_t *x86_cpu_def, char *features) /* Features to be added */ uint32_t plus_features = 0, plus_ext_features = 0; uint32_t plus_ext2_features = 0, plus_ext3_features = 0; - uint32_t plus_kvm_features = kvm_default_features, plus_svm_features = 0; + uint32_t plus_kvm_features = 0, plus_svm_features = 0; uint32_t plus_7_0_ebx_features = 0; /* Features to be removed */ uint32_t minus_features = 0, minus_ext_features = 0; @@ -1273,10 +1273,6 @@ static int cpu_x86_parse_featurestr(x86_def_t *x86_cpu_def, char *features) uint32_t minus_7_0_ebx_features = 0; uint32_t numvalue; - add_flagname_to_bitmaps("hypervisor", &plus_features, - &plus_ext_features, &plus_ext2_features, &plus_ext3_features, - &plus_kvm_features, &plus_svm_features, &plus_7_0_ebx_features); - featurestr = features ? strtok(features, ",") : NULL; while (featurestr) { @@ -1536,6 +1532,12 @@ int cpu_x86_register(X86CPU *cpu, const char *cpu_model) goto error; } + def->kvm_features |= kvm_default_features; + add_flagname_to_bitmaps("hypervisor", &def->features, + &def->ext_features, &def->ext2_features, + &def->ext3_features, &def->kvm_features, + &def->svm_features, &def->cpuid_7_0_ebx_features); + if (cpu_x86_parse_featurestr(def, features) < 0) { goto error; } -- 1.7.1