lkml.org 
[lkml]   [2009]   [Aug]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH v2] x86: clear incorrectly forced X86_FEATURE_LAHF_LM flag
    Due to an erratum with certain AMD Athlon 64 processors, the BIOS may
    need to force enable the LAHF_LM capability. Unfortunately, in at
    least one case, the BIOS does this even for processors that do not
    support the functionality.

    Add a specific check that will clear the feature bit for processors
    known not to support the LAHF/SAHF instructions.

    Signed-off-by: Kevin Winchester <kjwinchester@gmail.com>
    ---
    arch/x86/kernel/cpu/amd.c | 8 ++++++++
    1 files changed, 8 insertions(+), 0 deletions(-)

    diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
    index e2485b0..7b52787 100644
    --- a/arch/x86/kernel/cpu/amd.c
    +++ b/arch/x86/kernel/cpu/amd.c
    @@ -400,6 +400,14 @@ static void __cpuinit init_amd(struct cpuinfo_x86 *c)
    level = cpuid_eax(1);
    if((level >= 0x0f48 && level < 0x0f50) || level >= 0x0f58)
    set_cpu_cap(c, X86_FEATURE_REP_GOOD);
    +
    + /*
    + * Some BIOSes incorrectly set this feature, but only Revisions
    + * D (Extended Model = 1) and E (Extended Model = 2) actually
    + * support it.
    + */
    + if (!(level & 0x00030000))
    + clear_cpu_cap(c, X86_FEATURE_LAHF_LM);
    }
    if (c->x86 == 0x10 || c->x86 == 0x11)
    set_cpu_cap(c, X86_FEATURE_REP_GOOD);
    --
    1.6.4



    \
     
     \ /
      Last update: 2009-08-09 01:19    [W:3.818 / U:0.128 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site