On Tue, May 11, 2010 at 09:41:25AM +0300, Gleb Natapov wrote:
> On AMD some bits from 1.EDX are reported in 80000001.EDX. The mask used
> to copy bits from 1.EDX to 80000001.EDX is incorrect resulting in
> unsupported features passed into a guest.
> 
> Signed-off-by: Gleb Natapov <[email protected]>
> diff --git a/target-i386/kvm.c b/target-i386/kvm.c
> index 76c1adb..6463390 100644
> --- a/target-i386/kvm.c
> +++ b/target-i386/kvm.c
> @@ -111,7 +111,7 @@ uint32_t kvm_arch_get_supported_cpuid(CPUState *env, 
> uint32_t function, int reg)
>                       * so add missing bits according to the AMD spec:
>                       */
>                      cpuid_1_edx = kvm_arch_get_supported_cpuid(env, 1, 
> R_EDX);
> -                    ret |= cpuid_1_edx & 0xdfeff7ff;
> +                    ret |= cpuid_1_edx & 0x183f7ff;
>                      break;
>                  }
>                  break;

Applied to uq/master, thanks.

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to