x86-32: Unbreak booting on some 486 clones
authorH. Peter Anvin <hpa@linux.intel.com>
Tue, 27 Nov 2012 16:54:36 +0000 (08:54 -0800)
committerH. Peter Anvin <hpa@linux.intel.com>
Tue, 27 Nov 2012 17:26:33 +0000 (09:26 -0800)
commit6662c34fa9c60a48aaa5879cb229cd9a84de9c22
treeb43ec727d60ebd16cb648eda12e149b10113091d
parentcb7cb2864e758a1b040040bc55e404c677c911cb
x86-32: Unbreak booting on some 486 clones

There appear to have been some 486 clones, including the "enhanced"
version of Am486, which have CPUID but not CR4.  These 486 clones had
only the FPU flag, if any, unlike the Intel 486s with CPUID, which
also had VME and therefore needed CR4.

Therefore, look at the basic CPUID flags and require at least one bit
other than bit 0 before we modify CR4.

Thanks to Christian Ludloff of sandpile.org for confirming this as a
problem.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
arch/x86/kernel/head_32.S