Subject: port-i386/2910: NetBSD/i386 is clueless about modern machines.
To: None <gnats-bugs@gnats.netbsd.org>
From: Lennart Augustsson <augustss@cs.chalmers.se>
List: netbsd-bugs
Date: 10/31/1996 17:40:53
>Number: 2910
>Category: port-i386
>Synopsis: NetBSD/i386 is clueless about modern machines.
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: gnats-admin (GNATS administrator)
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Oct 31 08:50:00 1996
>Last-Modified:
>Originator: Lennart Augustsson
>Organization:
Chalmers, Dept of CS
>Release: NetBSD-current 961031
>Environment:
System: NetBSD dogbert.cs.chalmers.se 1.2B NetBSD 1.2B (DOGBERT) #7: Thu Oct 31 17:03:18 MET 1996 augustss@dogbert.cs.chalmers.se:/usr/src/sys/arch/i386/compile/DOGBERT i386
>Description:
NetBSD i386 does not recognize the Pentium Pro CPU when booting.
Nor does it know about the Natoma chipset (as is printed when
you use PCIVERBOSE).
>How-To-Repeat:
Do a dmesg on a modern machine.
>Fix:
Apply the paches below.
I'm not sure about the naming of the chips since Intel
seems to have the same number for two of them.
The PCI information was gleaned from FreeBSD.
*** /usr/src/sys/arch/i386/i386/machdep.c.orig Mon Oct 28 16:34:02 1996
--- /usr/src/sys/arch/i386/i386/machdep.c Mon Oct 28 16:34:05 1996
***************
*** 425,430 ****
--- 425,431 ----
{ "i486DX", CPUCLASS_486 }, /* CPU_486 */
{ "Pentium", CPUCLASS_586 }, /* CPU_586 */
{ "Cx486DLC", CPUCLASS_486 }, /* CPU_486DLC (Cyrix) */
+ { "Pentium Pro",CPUCLASS_586 }, /* CPU_686 */
};
void
*** /usr/src/sys/arch/i386/i386/locore.s.orig Mon Oct 28 16:28:30 1996
--- /usr/src/sys/arch/i386/i386/locore.s Mon Oct 28 16:31:28 1996
***************
*** 322,328 ****
--- 322,332 ----
andl $15,%eax
cmpl $5,%eax
jb is486 # less than a Pentium
+ ja 3f # call it a Pentium Pro
movl $CPU_586,RELOC(_cpu) # it's a Pentium
+ jmp 2f
+ 3:
+ movl $CPU_686,RELOC(_cpu)
2:
/*
*** /usr/src/sys/arch/i386/include/cputypes.h.orig Mon Oct 28 16:32:51 1996
--- /usr/src/sys/arch/i386/include/cputypes.h Mon Oct 28 16:32:30 1996
***************
*** 45,47 ****
--- 45,48 ----
#define CPU_486 3 /* Intel 80486DX */
#define CPU_586 4 /* Intel P.....m (I hate lawyers; it's TM) */
#define CPU_486DLC 5 /* Cyrix 486DLC */
+ #define CPU_686 6 /* Intel P.....m Pro (I hate lawyers too; it's TM) */
*** /usr/src/sys/dev/pci/pcidevs.orig Mon Oct 28 16:50:07 1996
--- /usr/src/sys/dev/pci/pcidevs Mon Oct 28 16:56:15 1996
***************
*** 523,528 ****
--- 523,533 ----
product INTEL 82437 0x122d 82437 Triton
product INTEL 82471 0x122e 82471 Triton
product INTEL 82438 0x1230 82438
+ product INTEL 82440FX 0x1237 82440FX Natoma, PCI and memory controller
+ product INTEL 82371SBa 0x7000 82371SB PCI-ISA bridge
+ product INTEL 82371SBb 0x7010 82371SB IDE interface
+ product INTEL 82450KX 0x84c4 82450KX Orion, PCI memory controller
+ product INTEL 82454GX 0x84c5 82454GX Orion, host to PCI bridge
/* I. T. T. products */
product ITT AGX016 0x0001 AGX016
>Audit-Trail:
>Unformatted: