|
@@ -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);
|