qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 1/1] target-i386: Correct family/model/stepping


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH 1/1] target-i386: Correct family/model/stepping for Opteron_G3 (2350)
Date: Fri, 30 Sep 2016 13:14:38 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0


On 30/09/2016 12:28, Denis V. Lunev wrote:
> From: Evgeny Yakovlev <address@hidden>
> 
> Current CPU definition for AMD Opteron third generation includes
> features like SSE4a and LAHF_LM support in emulated CPUID. These
> features are present in K8 rev.E or K10 CPUs and later. However,
> current G3 family and model describe 2nd generation K8 cores instead.
> 
> This is incorrect but was considered harmless until out tests found a
> problem with linux kernels >= 3.10 (and maybe earlier) which specifically
> check for Opteron K8 model when parsing CPUID leaf 0x80000001:
> http://lxr.free-electrons.com/source/arch/x86/kernel/cpu/amd.c?v=3.16#L552
> This code will disable LAHF_LM feature in /proc/cpuinfo if model number
> is inconsistent.
> 
> This change sets Opteron_G3 family/model/stepping to 16/2/3 which is
> a proper Opteron 3rd generation 2350 CPU.
> 
> Signed-off-by: Evgeny Yakovlev <address@hidden>
> Signed-off-by: Denis V. Lunev <address@hidden>
> CC: Paolo Bonzini <address@hidden>
> CC: Richard Henderson <address@hidden>
> CC: Eduardo Habkost <address@hidden>
> ---
>  target-i386/cpu.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/target-i386/cpu.c b/target-i386/cpu.c
> index 333309b..d1c3ad1 100644
> --- a/target-i386/cpu.c
> +++ b/target-i386/cpu.c
> @@ -1425,9 +1425,9 @@ static X86CPUDefinition builtin_x86_defs[] = {
>          .name = "Opteron_G3",
>          .level = 5,
>          .vendor = CPUID_VENDOR_AMD,
> -        .family = 15,
> -        .model = 6,
> -        .stepping = 1,
> +        .family = 16,
> +        .model = 2,
> +        .stepping = 3,
>          .features[FEAT_1_EDX] =
>              CPUID_VME | CPUID_SSE2 | CPUID_SSE | CPUID_FXSR | CPUID_MMX |
>              CPUID_CLFLUSH | CPUID_PSE36 | CPUID_PAT | CPUID_CMOV | CPUID_MCA 
> |
> 


This needs the usual compatibility gunk for versions <= 2.7.

Thanks,

Paolo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]