"...a major Athlon CPU bug has been discovered, and it
affects Linux 2.4. Note that this is a bug in the actual CPU
itself, and is not a Linux bug. However, it becomes our problem
because there are very many semi-broken Athlon/Duron/Athlon MP CPUs
out there.
Here are the details. As you may know, x86 systems have
traditionally managed memory using 4K pages. However, with the
introduction of the Pentium processor, Intel added a new feature
called extended paging, which allows 4Mb pages to be used instead.
Here's the problem -- many Athlon and Duron CPUs experience memory
corruption when extended paging is used in conjunction with AGP.
And, this problem hits us because Linux 2.4 kernels compiled with a
Pentium-Classic or higher Processor family kernel configuration
setting will automatically take advantage of extended paging (for
kernel hackers out there, this is the X86_FEATURE_PSE constant
defined in include/asm-i386/cpufeature.h.) Fortunately, there is a
quick and easy fix for this problem. If you have been experiencing
lockups on your Athlon, Duron or Athlon MP system when using AGP
video, try passing the mem=nopentium option to your kernel (using
GRUB or LILO) at boot-time. This tells Linux to go back to using 4K
pages, avoiding this CPU bug. In addition, it should also be
possible to avoid this problem by not using AGP on affected
systems. As soon as I discovered that this CPU bug existed (which
happened, unfortunately, because my CPU has the bug), I informed
kernel hacker Andrew Morton of the issue; he put me in touch with
Alan Cox. Alan is going to try to add some kind of Athlon/AGP CPU
bug detection code to the kernel so that it will be able to
auto-downgrade to 4K pages when necessary."