Re: [tip: x86/cpu] x86/cpu/intel: Replace PAT erratum model/family magic numbers with symbolic IFM references
From: Andrew Cooper
Date: Wed Sep 04 2024 - 14:17:34 EST
On 03/09/2024 7:46 pm, Dave Hansen wrote:
> On 9/3/24 02:32, tip-bot2 for Dave Hansen wrote:
>> - if (c->x86 == 6 && c->x86_model < 15)
>> + if (c->x86_vfm >= INTEL_PENTIUM_PRO &&
>> + c->x86_vfm <= INTEL_CORE_YONAH)
>> clear_cpu_cap(c, X86_FEATURE_PAT);
> Andy Cooper did point out that there is a theoretical behavioral change
> here with c->x86_model==0. There is a reference to the existence of
> such a beast on at least on random web page[1] on the Internet as "P6
> A-step".
>
> But the SDM neither confirms nor denies that such a model ever existed.
> If the SDM can't be bothered to acknowledge its existence, Linux
> probably shouldn't either.
>
> Either way, we're talking about a 32-bit CPU that's almost 30 years old
> and was probably pre-production anyway.
>
> I'm fine with the patch as-is.
>
> 1. https://www.sandpile.org/x86/cpuid.htm
This same purveyor of top quality x86 history pointed out that PAT
didn't exist on the Pentium, PPro, or P2, so they are unlikely to be
affected by this erratum.
Other cross references if they're helpful:
* Banias Y31
* Dothan X14
* Yonah AE7
* Yonah Xeon AF7
Finally, this looks suspiciously like it's the bug described in footnote
1 of https://sandpile.org/x86/coherent.htm MTRR/PAT conflicts which
otherwise identified that the early PAT-capable chips did behave as
expected.
~Andrew