Patchwork [RFC,3/6] i386: kvm: bit 10 of CPUID[8000_0001].EDX is reserved

login
register
mail settings
Submitter Eduardo Habkost
Date Aug. 17, 2012, 5:53 p.m.
Message ID <1345226022-21654-4-git-send-email-ehabkost@redhat.com>
Download mbox | patch
Permalink /patch/178288/
State New
Headers show

Comments

Eduardo Habkost - Aug. 17, 2012, 5:53 p.m.
Bit 10 of CPUID[8000_0001].EDX is not defined as an alias of
CPUID[1].EDX[10], so do not duplicate it on
kvm_arch_get_supported_cpuid().

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
 target-i386/kvm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Igor Mammedov - Sept. 5, 2012, 8:48 a.m.
On Fri, 17 Aug 2012 14:53:39 -0300
Eduardo Habkost <ehabkost@redhat.com> wrote:

> Bit 10 of CPUID[8000_0001].EDX is not defined as an alias of
> CPUID[1].EDX[10], so do not duplicate it on
> kvm_arch_get_supported_cpuid().
> 
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
>  target-i386/kvm.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/target-i386/kvm.c b/target-i386/kvm.c
> index 696b14a..bab1ef8 100644
> --- a/target-i386/kvm.c
> +++ b/target-i386/kvm.c
> @@ -163,7 +163,7 @@ uint32_t kvm_arch_get_supported_cpuid(KVMState *s,
> uint32_t function,
>                       * so add missing bits according to the AMD spec:
>                       */
>                      cpuid_1_edx = kvm_arch_get_supported_cpuid(s, 1, 0,
> R_EDX);
> -                    ret |= cpuid_1_edx & 0x183f7ff;
> +                    ret |= cpuid_1_edx & 0x183f3ff;
>                      break;
>                  }
>                  break;

Reviewed-By: Igor Mammedov <imammedo@redhat.com>

Patch

diff --git a/target-i386/kvm.c b/target-i386/kvm.c
index 696b14a..bab1ef8 100644
--- a/target-i386/kvm.c
+++ b/target-i386/kvm.c
@@ -163,7 +163,7 @@  uint32_t kvm_arch_get_supported_cpuid(KVMState *s, uint32_t function,
                      * so add missing bits according to the AMD spec:
                      */
                     cpuid_1_edx = kvm_arch_get_supported_cpuid(s, 1, 0, R_EDX);
-                    ret |= cpuid_1_edx & 0x183f7ff;
+                    ret |= cpuid_1_edx & 0x183f3ff;
                     break;
                 }
                 break;