diff options
| author | Steve French <sfrench@us.ibm.com> | 2008-08-26 16:56:05 +0000 |
|---|---|---|
| committer | Steve French <sfrench@us.ibm.com> | 2008-08-26 16:56:05 +0000 |
| commit | 3dae49abef945c55c10fa7c479cfd8fd13af55db (patch) | |
| tree | 487c47c6d23cc28a259b913396aeaff0b792d32d /arch/x86/kernel/cpu/addon_cpuid_features.c | |
| parent | 6ce5eecb9cd3ac97b952c50309b87c31488a45e9 (diff) | |
| parent | b8e6c91c74e9f0279b7c51048779b3d62da60b88 (diff) | |
Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'arch/x86/kernel/cpu/addon_cpuid_features.c')
| -rw-r--r-- | arch/x86/kernel/cpu/addon_cpuid_features.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/arch/x86/kernel/cpu/addon_cpuid_features.c b/arch/x86/kernel/cpu/addon_cpuid_features.c index 84a8220a607..a6ef672adbb 100644 --- a/arch/x86/kernel/cpu/addon_cpuid_features.c +++ b/arch/x86/kernel/cpu/addon_cpuid_features.c @@ -56,9 +56,22 @@ void __cpuinit validate_pat_support(struct cpuinfo_x86 *c) switch (c->x86_vendor) { case X86_VENDOR_INTEL: - if (c->x86 == 0xF || (c->x86 == 6 && c->x86_model >= 15)) + /* + * There is a known erratum on Pentium III and Core Solo + * and Core Duo CPUs. + * " Page with PAT set to WC while associated MTRR is UC + * may consolidate to UC " + * Because of this erratum, it is better to stick with + * setting WC in MTRR rather than using PAT on these CPUs. + * + * Enable PAT WC only on P4, Core 2 or later CPUs. + */ + if (c->x86 > 0x6 || (c->x86 == 6 && c->x86_model >= 15)) return; - break; + + pat_disable("PAT WC disabled due to known CPU erratum."); + return; + case X86_VENDOR_AMD: case X86_VENDOR_CENTAUR: case X86_VENDOR_TRANSMETA: |
