PATCH for CPU-detection of older CPUs <= 486 (updated)

Helge Deller (Helge.Deller@ruhr-uni-bochum.de)
Fri, 17 Dec 1999 01:22:59 +0100


--Boundary-=_nWlrBbmQBhCDarzOwKkYHIDdqSCD
Content-Type: text/plain
Content-Transfer-Encoding: 8bit

Hello Linuxers,
Hi Linus,

I attached an updated version of my CPU-detection-code for kernel 2.3.33.
The only last modification was to update it for the new assembler-syntax in
the current setup.S.
I sent it already some time ago to the list and got no problem-reports back so
far.
Any chance to integrate it NOW into the kernel for 2.4 ?

Thanks,
Helge Deller.

Downloadable from: http://homepage.ruhr-uni-bochum.de/Helge.Deller/files

----- ORIGINAL DESCRIPTION -----------------
I wrote the following small patch to detect the older processors <=486
in a very compatible way for Linux-Kernel. Most other detection routines uses
something like a keyboard-reset or other tricks to identify the cpu-type and
mask-revision and because of that they often have problems on other
newer machines.

The following patch:
- is really small,
- uses BIOS routines (int 0x15) for all (compatible) PS/2, AMI-BIOS and
Compaq-BIOSES to gather the information. If one BIOS doesn´t support this
function, it only returns a set Carry-Flag. This way this patch is 100%
compatible. (Anybody has info about AWARD-Bioses ?)
- With the info of the mask-revision a identification of 486SL/SX a.s.o is
possible.
- The code will only be compiled, if you select a CPU < 586TSC.
- It should cleanly apply to 2.3.24 kernels upwards.

Of course it could be possible, that some CPU´s on other machines will not be
detected, but anyway it is better to see on most (nearly all!) computers
something like "Intel 486SL" and the mask-revision than "unknown" or only
"486"... :-) I tested it here on three different machines, and it worked OK.
Machines, which doesn´t support the int 0x15-calls automatically fall back to
the current original behaviour of the kernel.
--------------------------------------------

--Boundary-=_nWlrBbmQBhCDarzOwKkYHIDdqSCD
Content-Type: application/x-gzip;
name="old_cpu.tgz"
Content-Transfer-Encoding: base64
Content-Description: CPU-detection-patch for 2.3.33
Content-Disposition: attachment; filename="old_cpu.tgz"

H4sIAAqGWTgAA+1Ze3PiyBHff0VVvkOfN7cB85LEw4AfZxnwhlseLsNevEldqYQ0GGVBIpLAcHf7
3dM9I/GyYH13uUol5dlaQDPTPf34dU+37E4s3ZzN3/yRQ5HlcrEIb4CGvPcNSllVzgDOZLWsnpXK
JQWn5FKx/AbkP1SqcMz9wPAA3niuGxzb97X1/9GRzWah4ZrzKXMCI7BdJ28XKuX8T8xzszPjkeWC
ZZBzPftRuvVs6JkBqFWQCzVZqaklUKrVaiKdTn+VxR61claTC4L6+hqyaiVTgjR+luH6OoHYWBqy
pJRhuAqYL/VXfsCmYDHf9OwZHQCBMZwwCLy5YxoBsyBwIdqeS4AkSUnwcRXP81e+TpQ6J9HD2VQi
i4cMZaAvxRpJKB9jOdAsC6aux2BmeMaUBczzYczw2R7Byp2Dx4zJZAUOozPHbJpLpDkfae749qOD
s/7Y9QKp127U7z7qHa3/IQMYXtmp4X8Gd0S/ITny3CksDM925z7YTkAylFKClfr7RYIEcWBbQk1c
51HS2gO90+zoKJExQTYO+mrBYIqmNcfM/JxBUeDDMEGIMDxzLLw4RNjnfRbMZ7n+cxwotYJak882
OIgn3PM+0Sgb7xeUTBHS+HkmvH9Kqvqu46fIr8bCtUkDw5qgfKbrjOY+QiAD389RbWRyRiRovFNA
k2cttJDJMbKwDbhp9fowcj1wJxbzCAyIJB+SF6VKOYV4gb+yySODBptMmJeBPpsFuVAZ5Hdh8fnr
x+kyZ7ErmuPiDTzDISwO0bTcly0nYBNIGj5xzV6BNng3gOSj4fMz6mPP9qHrsgx0DC5yNcf5XPiB
/Rn5OwiZMWr3OWe60ytuk2LhjIxSLMoZVZhFmrqLJ+nP8lLTMpBEB49GKQT6W4yLhW0iPDzmYwAm
wHH1mT9FaLFaIk3/3iJSLDayEQnJeq9723qvdwok6S/Ppovx02StRBrP0hDFEXDJtswHY+jOA0Ie
x3mwmjFA4+/b+3LNgsiyJmLWxyj+zBxhwXtjMhvDjec+OX/xuT09bz4Lsm3bD3KkxFp9mVVkOfOt
sURegbfiEEGpDITGdGb8Kzu0XR+3L13vSfp2uMzgf3zEKCNipYS//+mYkm8sGN17FJfbzM2qEsv8
rp9XI9Yv5WUZVTWGlwNapxXHixPi/sy35pIci8/CqFMXgQjvgCcRZGMuY09Gx4e/a2sDmGtujovx
PaJ4MuwJ5UI06zZ9TVqLgEQIMHkop5DODyj57IuBxG+ZY9kj9A3mG4QYYgZCvGh3nb0sgih32CRM
B+aBPKKqcXlkl3T/HqnU1MpWJpHpHsHPSphJpAZqCN+7DgL1wsLf1zP3iXnBEzNEsGWImTtErHIm
lEmySIZJF2N75rkzXGmrYBqYImGTWyil1N0Zrk4xUHiy4NnHtjAE7ZFt8nuQEr4IBFzz4ckOxhQr
+NBqZG1H3EW4j+il7Uy0n3n2pEyH+Q5+pZjcIJ7xiBDsB4ZjUuKAi4Xt2+jj64WBKWi+PGCWPDew
olYpLSkFFQ1NJn4rUgU07ls/NPVW97YHydNkeMtaHl4wOqEuundPU5C80+61TlpeVuRUasOg/6mv
N5r9uj7QbtrNLSaxF/hpas3GIDbpiM3WxUs8dq/lneOHO8d3eh+7A/2+18OPRq/b/vQVauVW3SbH
yUar/0G/bWvv+18lrSAptyZmd7JmsRgCNmJX73U6Wreht1vdpt5v/b0JaqmMcfYfS+Vvw3loNZrd
Qev2k46G09Fy22G9r1yro71HcQba/UAYGCTMEme3t8+33t33OncDbg5JIlfLMte4XOXX2plcyiiq
UFkcJ3SjHPJcIil/CpSpMHWu1sVUlmDlTUWcPTF4dANxk0T1FM+w4UWD6MVUO4LkFjxS8DNOSlSm
UArULSMwcstKWRdp7nIHSldXUDk/sJ2S8t72dyjBaEQEX3YMupMlb9ofEPE/YNC0BvcNvOBJwHZP
azTv9cGnuyYJyFGiVBUsjNOKKp+FOAk3m9krkmCBB2CgX17CAz790Ow2evf6x+6Hbu9vXXj3LpGV
qM3CzSi3bekTtkD9LkCm+/jAirBNmM1WuiuaxKSZOqfq2sNc7DlCvZfIUv9033pYq1OQq1ydgnqW
UZRSqJBPrYOJlSg2Y6dkYMFJd7Dm9f/xI+iYR+yArI62/hl1OuFF10kGTuorz17SDwQffX3s1Omr
y5bvmcM3UGMy907gC8n8GwjxZ+umI+gTaV6QPrNNmK7IkpTw0BioB5r4568ge4AZW0DOcCyI+oSw
nkJkewLbWEdGhRd3TQzKrblnO49h0ZWltpauTAF+YVd+jm5bZAZdn1fEcYTe0H30vF6MfBkDq3OS
HHUy5pOAHyB0YUtmzgMqACerDDUogehUfKo+xLXX2lx7pDDXZRQFsIHdjE8seSSTDdbV4iaGd+F6
dSnDL79wRS4vEbjEMMInCKmQyA5ICKwRyeNZJM8Qdyean2ATZa3CixOTNhqbDideJdWyF9w1NBOC
0rayI5tNLHgyfFF4B/DNjoSbWMDN/5B/3BVMxB2vt4RD0Mjdj+02rfhYJpjjNRO+Q8SjafgMnY5l
D2mFA2usiozpv/GQbzy0IcmLbxMJsDQap3D1T0KmNU+yUhjba26lmhQ6GnZd3eoOmu1zwKNEe9OQ
MUjZLGSJY0v4E5QCGg8n5+HSEA36+Xz7nKLMpb43ZrZV1xp7wmaEA2lbanPAAbluOlwq0/U8dBd8
9128SNFRR4QKTSn0u1Gotr7B+h+06caqXGctsuSasrJF2VDyDTXfVGIIb9aEYbTUYsxG22Ok/MIv
nOgxsuMz7/d3PF/8VZ5HTnJpLGnPpcQVZTmWNvIfdAeHyQFI9EO9YlVRhSprPR629VBfrkdxyxWa
/PvkPQbh0GAhWkJn9x/y/TVKlKMwqecbSgzVzeGIEtuOiVTd4o8U9Yc8fjb5Z/8hvFP3EPybDIOM
myRMnCwHkR27PRYK2hoKGN3AQV3fRoO2i4YjmYEvbwmSP8XZ7Gk+wmM9FOmZBMVtCYrPJSjuSHBc
gCNoVeXazqNSi5e2KKRVjzi/IFLq45z5PrNqfIaXngUll8vtIbGg1ODoSYWXuvYZ5UudLBc38V6M
0K3mef5TSeLtO6H4IoeLK2q/GJGoppC49bE8QJNjFcwvmAt6GqWEuLsqUQRtlIqAyyY+f9G65lXY
4VV4AS/ULd9bMI83w4fYFnfYFl8iYvsQr9IOr9KL1M2rh7hVdrhVXqRwvhjHDcuzpaxG4bCTLOwi
3ZqADtam/Oca9vF+j6pQ+LI5BjEQ1hCKXEMQzbE8G7Jt3vWlCGss54fzQPDnLQC9xcQy9VkZ+E2E
JuRNJahL5axfWyfSo0Y4kGfoEtlW/Y7aiPn0hJc0wdjFTf6YCx+JMzbEa0B7S6A11y9hyRmx5O7B
CtucrXYqSFzKrPdwcXb7tbCyPQ/ZhdMX4Ns/MXeU3G/IUvlogfcVqZhj19Vv5lk3Jx5+JDlEcywl
0ryT5J2V6PSwrMYeh7fa1E8daq/oNaPtmJO5xfKGP83yV4YzzzUxJ7pebhz3qrFYrWG8rV81HiPf
/6OXWlPlzevGUoVeZpQqe+/CtoDabT68b3ahGLtYx3ZQ+3gPpc3rq927BMqxdFFrT+8Y0GrivZx4
k6QqmaihZkv6Gw/sNquHGlVyRSzBse6WXgZsE73AY/sklms9rvTAN5P0iKv/7T+Hvo7X8Tpex+t4
Ha/jdfzfj38DUQdFsQAoAAA=

--Boundary-=_nWlrBbmQBhCDarzOwKkYHIDdqSCD--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/