From: Ingo Molnar Date: Mon, 24 Aug 2009 10:25:44 +0000 (+0200) Subject: Merge commit 'v2.6.31-rc7' into x86/cleanups X-Git-Tag: v2.6.32-rc1~629^2~41 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=5f9ece02401116b29eb04396b99ea092acb75dd8;p=linux-2.6-block.git Merge commit 'v2.6.31-rc7' into x86/cleanups Merge reason: we were on -rc1 before - go up to -rc7 Signed-off-by: Ingo Molnar --- 5f9ece02401116b29eb04396b99ea092acb75dd8 diff --cc arch/x86/kernel/cpu/amd.c index c6eb02e69875,63fddcd082cd..83b217c7225f --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c @@@ -400,8 -398,15 +400,15 @@@ static void __cpuinit init_amd(struct c u32 level; level = cpuid_eax(1); - if((level >= 0x0f48 && level < 0x0f50) || level >= 0x0f58) + if ((level >= 0x0f48 && level < 0x0f50) || level >= 0x0f58) set_cpu_cap(c, X86_FEATURE_REP_GOOD); + + /* + * Some BIOSes incorrectly force this feature, but only K8 + * revision D (model = 0x14) and later actually support it. + */ + if (c->x86_model < 0x14) + clear_cpu_cap(c, X86_FEATURE_LAHF_LM); } if (c->x86 == 0x10 || c->x86 == 0x11) set_cpu_cap(c, X86_FEATURE_REP_GOOD);