diff options
author | Rafael J. Wysocki <rjw@sisk.pl> | 2009-08-16 11:50:10 +0200 |
---|---|---|
committer | Rafael J. Wysocki <rjw@sisk.pl> | 2009-08-16 11:50:10 +0200 |
commit | 3e2bcad89814030ad6a369a97ad1481fd35938d3 (patch) | |
tree | 8d6b9b163dc9ed44ec377ca5b57be1a1fb80f923 /arch/x86/kernel/cpu/amd.c | |
parent | dcbf77cac640af0ab944d5cbb07934bf6708b4d9 (diff) | |
parent | b2add73dbf93fd50f00564d7abc3e2b9aa9dd20c (diff) | |
download | linux-3e2bcad89814030ad6a369a97ad1481fd35938d3.tar.bz2 |
Merge branch 'master' into for-linus
Diffstat (limited to 'arch/x86/kernel/cpu/amd.c')
-rw-r--r-- | arch/x86/kernel/cpu/amd.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index e2485b03f1cf..63fddcd082cd 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c @@ -400,6 +400,13 @@ 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 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); |