lkml.org 
[lkml]   [2009]   [Aug]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v2] x86: clear incorrectly forced X86_FEATURE_LAHF_LM flag
    Hi,

    On Sat, Aug 08, 2009 at 08:17:43PM -0300, Kevin Winchester wrote:
    > 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);

    The LAHF/SAHF instructions are supported on all K8s from revision D
    upwards. Revisions D start their CPU model numbering at 0x14 so your
    check should rather be

    if (c->x86_model < 0x14)
    clear_cpu_cap(c, X86_FEATURE_LAHF_LM);

    Please correct the comment above too for future reference.

    Thanks.

    --
    Regards/Gruss,
    Boris.

    Operating | Advanced Micro Devices GmbH
    System | Karl-Hammerschmidt-Str. 34, 85609 Dornach b. München, Germany
    Research | Geschäftsführer: Thomas M. McCoy, Giuliano Meroni
    Center | Sitz: Dornach, Gemeinde Aschheim, Landkreis München
    (OSRC) | Registergericht München, HRB Nr. 43632

    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2009-08-10 15:15    [W:0.085 / U:60.960 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site