diff options
| author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2009-08-19 18:21:52 -0400 | 
|---|---|---|
| committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2009-08-19 18:21:52 -0400 | 
| commit | 6a396f67d2442e30150ffb5e1142dbb2f2181d3f (patch) | |
| tree | 2ea4f3ab1d3766204a55ec26600b848ed3a7e8aa /arch/x86/kernel/cpu/amd.c | |
| parent | f884dcaead5f17bf586ac5fe6a3ad07b5203616a (diff) | |
| parent | cccddf4f5580131c9b963900e1d3400655e633cc (diff) | |
| download | olio-linux-3.10-6a396f67d2442e30150ffb5e1142dbb2f2181d3f.tar.xz olio-linux-3.10-6a396f67d2442e30150ffb5e1142dbb2f2181d3f.zip  | |
Merge branch 'nfsv4_xdr_cleanups-for-2.6.32' into nfs-for-2.6.32
Conflicts:
	fs/nfs/nfs4xdr.c
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 e2485b03f1c..63fddcd082c 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);  |