Patchwork [12/28] i386: kvm: mask cpuid_ext4_features bits earlier

login
register
mail settings
Submitter Marcelo Tosatti
Date Oct. 31, 2012, 9:39 a.m.
Message ID <c9da8382c1432fbafb8705e7faecdf783c0b1821.1351676406.git.mtosatti@redhat.com>
Download mbox | patch
Permalink /patch/195789/
State New
Headers show

Comments

Marcelo Tosatti - Oct. 31, 2012, 9:39 a.m.
From: Eduardo Habkost <ehabkost@redhat.com>

This way all the filtering by GET_SUPPORTED_CPUID is being done at the
same place in the code.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
---
 target-i386/kvm.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

Patch

diff --git a/target-i386/kvm.c b/target-i386/kvm.c
index 8eb61a0..be37a1f 100644
--- a/target-i386/kvm.c
+++ b/target-i386/kvm.c
@@ -431,6 +431,9 @@  int kvm_arch_init_vcpu(CPUX86State *env)
     env->cpuid_kvm_features &=
             kvm_arch_get_supported_cpuid(s, KVM_CPUID_FEATURES, 0, R_EAX);
 
+    env->cpuid_ext4_features &= kvm_arch_get_supported_cpuid(s, 0xC0000001,
+                                                             0, R_EDX);
+
     cpuid_i = 0;
 
     /* Paravirtualization CPUIDs */
@@ -572,8 +575,6 @@  int kvm_arch_init_vcpu(CPUX86State *env)
 
     /* Call Centaur's CPUID instructions they are supported. */
     if (env->cpuid_xlevel2 > 0) {
-        env->cpuid_ext4_features &=
-            kvm_arch_get_supported_cpuid(s, 0xC0000001, 0, R_EDX);
         cpu_x86_cpuid(env, 0xC0000000, 0, &limit, &unused, &unused, &unused);
 
         for (i = 0xC0000000; i <= limit; i++) {