cvs commit: src/sys/i386/i386 pmap.c
Don Lewis
truckman at FreeBSD.org
Tue Oct 7 23:47:45 PDT 2003
On 7 Oct, Jacques A. Vidrine wrote:
> On Tue, Oct 07, 2003 at 05:34:37AM -0700, Jacques A. Vidrine wrote:
>> nectar 2003/10/07 05:34:37 PDT
>>
>> FreeBSD src repository
>>
>> Modified files: (Branch: RELENG_4)
>> sys/i386/i386 pmap.c
>> Log:
>> Disable PSE at boot time for Pentium 4 processors. On many such CPUs,
>> data corruption will result otherwise. It seems that the bug is
>> aggravated by recent work related to PAE.
>>
>> This change was originally based on rev 1.386, but now the test for
>> CPU type is correct and the display of the warning is postponed until
>> we have initialized the kernel message buffer (e.g. for dmesg).
>>
>> peter@ believes that only certain revisions of the Pentium 4 processor
>> are affected. However, we are unsure which so we choose to be safe by
>> disabling PSE on all Pentium 4s.
>>
>> The test can be disabled entirely with NO_PSE_HACK.
>>
>> Approved by: re
>>
>> Revision Changes Path
>> 1.250.2.22 +34 -0 src/sys/i386/i386/pmap.c
>
> The symptoms from this bug that I experienced on an ``Intel(R)
> Celeron(R) CPU 2.00GHz'' system were SIGBUS and SIGSEGV during `make
> buildworld'.
Celeron != Pentium 4, though both appear to be CPUCLASS_686. As I've
noted many times in the past, my P II box (also CPUCLASS_686) is also
affected, with the symptoms being random corruption in /usr/obj that
shows up with repeated "make buildworld" runs which disappeared when I
added the DISABLE_PSE option. My Athlon box running -current was also
affected, which would seem to indicate that the problem isn't limited to
Intel CPUs.
I believe that Terry has claimed that the problem is memory size
dependent, so the amount of memory in the box may determine whether the
problem occurs rather than the CPU type.
More information about the cvs-src
mailing list