diff options
| author | Ingo Molnar <mingo@elte.hu> | 2009-09-04 14:44:16 +0200 |
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2009-09-04 14:44:16 +0200 |
| commit | 695a461296e5df148c99ac087b9e1cb380f4db15 (patch) | |
| tree | 951893036fdc0b7bae0e17bc739ac8ffe909781d /arch/x86/kernel/cpu/amd.c | |
| parent | c7084b35eb1a4d3353a501508baf9d3d82822c93 (diff) | |
| parent | 2b681fafcc50fea6304ed418667c9d04282acb73 (diff) | |
| download | linux-695a461296e5df148c99ac087b9e1cb380f4db15.tar.gz linux-695a461296e5df148c99ac087b9e1cb380f4db15.tar.bz2 linux-695a461296e5df148c99ac087b9e1cb380f4db15.zip | |
Merge branch 'amd-iommu/2.6.32' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu into core/iommu
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); |
