Date: Sun, 20 Apr 1997 21:20:59 +0100 From: Bob Bishop <rb@gid.co.uk> To: freebsd-bugs@freefall.freebsd.org Subject: Re: kern/3292: Cyrix 486 performance problem Message-ID: <l0302090eaf8029740d57@[194.32.164.2]>
next in thread | raw e-mail | index | archive | help
The root of this problem appears to be that Cyrix 486 DX DX2 and DX4 (and
some equivalent TI-branded parts) are correctly identified, but are
misclassified as CPU_486DLC where they should be just plain CPU_486. The
following patch fixes the problem:
*** identcpu.c.orig Sun Apr 20 17:33:35 1997
--- identcpu.c Sun Apr 20 17:37:00 1997
***************
*** 81,87 ****
{ "i486SX", CPUCLASS_486 }, /* CPU_486SX */
{ "i486DX", CPUCLASS_486 }, /* CPU_486 */
{ "Pentium", CPUCLASS_586 }, /* CPU_586 */
! { "Cyrix 486", CPUCLASS_486 }, /* CPU_486DLC */
{ "Pentium Pro", CPUCLASS_686 }, /* CPU_686 */
{ "Cyrix 5x86", CPUCLASS_486 }, /* CPU_M1SC */
{ "Cyrix 6x86", CPUCLASS_486 }, /* CPU_M1 */
--- 81,87 ----
{ "i486SX", CPUCLASS_486 }, /* CPU_486SX */
{ "i486DX", CPUCLASS_486 }, /* CPU_486 */
{ "Pentium", CPUCLASS_586 }, /* CPU_586 */
! { "Cyrix 486", CPUCLASS_486 }, /* CPU_486 or
CPU_486DLC */
{ "Pentium Pro", CPUCLASS_686 }, /* CPU_686 */
{ "Cyrix 5x86", CPUCLASS_486 }, /* CPU_M1SC */
{ "Cyrix 6x86", CPUCLASS_486 }, /* CPU_M1 */
***************
*** 533,540 ****
* Don't check (cpu_id & 0x00f0) == 0x50 to detect M2, now.
*/
switch (cyrix_did & 0x00f0) {
- case 0x00:
case 0x10:
case 0xf0:
cpu = CPU_486DLC;
break;
--- 533,543 ----
* Don't check (cpu_id & 0x00f0) == 0x50 to detect M2, now.
*/
switch (cyrix_did & 0x00f0) {
case 0x10:
+ /* 486DX, DX2, DX4 doesn't need fancy initialisation */
+ cpu = CPU_486;
+ break;
+ case 0x00:
case 0xf0:
cpu = CPU_486DLC;
break;
--
Bob Bishop (0118) 977 4017 international code +44 118
rb@gid.co.uk fax (0118) 989 4254 between 0800 and 1800 UK
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?l0302090eaf8029740d57>
