From owner-freebsd-bugs Sun Feb 6 9:19:45 2000 Delivered-To: freebsd-bugs@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by builder.freebsd.org (Postfix) with ESMTP id 0F8303DAD for ; Sun, 6 Feb 2000 09:19:26 -0800 (PST) Received: (from gnats@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id JAA49093; Sun, 6 Feb 2000 09:20:02 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: from shrike.dti.ad.jp (shrike.dti.ad.jp [202.216.228.218]) by builder.freebsd.org (Postfix) with ESMTP id 946D23D2D for ; Sun, 6 Feb 2000 09:14:36 -0800 (PST) Received: from localhost.lares.dti.ne.jp (PPP41.kawasaki-ap3.dti.ne.jp [210.170.222.41]) by shrike.dti.ad.jp (8.9.3/3.7W) with ESMTP id CAA28324 for ; Mon, 7 Feb 2000 02:15:09 +0900 (JST) Received: (from sakichan@localhost) by localhost.lares.dti.ne.jp (8.9.2/3.5Wpl5-ppp) id CAA00767; Mon, 7 Feb 2000 02:15:00 +0900 (JST) Message-Id: <200002061715.CAA28324@shrike.dti.ad.jp> Date: Mon, 7 Feb 2000 02:15:00 +0900 (JST) From: sakichan@lares.dti.ne.jp Reply-To: sakichan@lares.dti.ne.jp To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.2 Subject: kern/16517: [PATCH] add support for detecting i810 chipsets in probing PCI. Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 16517 >Category: kern >Synopsis: add Device ID of i810 chipsets >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sun Feb 6 09:20:02 PST 2000 >Closed-Date: >Last-Modified: >Originator: SAKIYAMA Nobuo >Release: FreeBSD 4.0-current i386 >Organization: none >Environment: All i386 systems on i810 chipsets platform. >Description: current kernel does not know Device IDs of Intel i810 (and i810-DC100, i810E) chipsets, GMCH and ICH, except for the IDE function in ICH. So, they are detected and printed as "generic" or unknown devices. >How-To-Repeat: Every boot on i810 chipset systems. >Fix: Patches below fix some of the problem. Non-PCI chips, such as FWH, are not yet detected. --- src/sys/i386/isa/pcibus.c-orig Sat Jan 8 17:31:24 2000 +++ src/sys/i386/isa/pcibus.c Sun Feb 6 12:43:23 2000 @@ -279,6 +279,15 @@ /* XXX This is a guess */ *busnum = pci_cfgread(cfg, 0x41, 1); break; + case 0x71208086: + s = "Intel 82810 (i810 GMCH) Host To Hub bridge"; + break; + case 0x71228086: + s = "Intel 82810-DC100 (i810-DC100 GMCH) Host To Hub bridge"; + break; + case 0x71248086: + s = "Intel 82810E (i810E GMCH) Host To Hub bridge"; + break; case 0x71808086: s = "Intel 82443LX (440 LX) host to PCI bridge"; break; --- src/sys/pci/pcisupport.c-orig Thu Jan 27 21:02:06 2000 +++ src/sys/pci/pcisupport.c Sun Feb 6 11:54:36 2000 @@ -685,7 +685,11 @@ return ("Intel 82454NX PCI Expander Bridge"); case 0x124b8086: return ("Intel 82380FB mobile PCI to PCI bridge"); - + case 0x24188086: + return ("Intel 82801AA (ICH) Hub to PCI bridge"); + case 0x24288086: + return ("Intel 82801AB (ICH0) Hub to PCI bridge"); + /* VLSI -- vendor 0x1004 */ case 0x01021004: return ("VLSI 82C534 Eagle II PCI Bus bridge"); @@ -840,7 +844,11 @@ return ("Intel 82371SB PCI to ISA bridge"); case 0x71108086: return ("Intel 82371AB PCI to ISA bridge"); - + case 0x24108086: + return ("Intel 82801AA (ICH) PCI to LPC bridge"); + case 0x24208086: + return ("Intel 82801AB (ICH0) PCI to LPC bridge"); + /* VLSI -- vendor 0x1004 */ case 0x00061004: return ("VLSI 82C593 PCI to ISA bridge"); @@ -1139,6 +1147,16 @@ return ("Intel 82440FX (Natoma) PCI and memory controller"); case 0x84c58086: return ("Intel 82453KX/GX (Orion) PCI memory controller"); + case 0x71208086: + return ("Intel 82810 (i810 GMCH) Host To Hub bridge"); + case 0x71228086: + return ("Intel 82810-DC100 (i810-DC100 GMCH) Host To Hub bridge"); + case 0x71248086: + return ("Intel 82810E (i810E GMCH) Host To Hub bridge"); + case 0x24158086: + return ("Intel 82801AA (ICH) AC'97 Audio Controller"); + case 0x24258086: + return ("Intel 82801AB (ICH0) AC'97 Audio Controller"); /* Sony -- vendor 0x104d */ case 0x8009104d: @@ -1712,8 +1730,16 @@ break; case 0x8086: vendor = "Intel"; - if ((id >> 16) == 0x7800) - chip = "i740 AGP"; + switch (id >> 16) { + case 0x7121: + chip = "82810 (i810 GMCH)"; break; + case 0x7123: + chip = "82810-DC100 (i810-DC100 GMCH)"; break; + case 0x7125: + chip = "82810E (i810E GMCH)"; break; + case 0x7800: + chip = "i740 AGP"; break; + } break; case 0x10ea: vendor = "Intergraphics"; --- src/sys/pci/uhci_pci.c-orig Sat Feb 5 01:41:06 2000 +++ src/sys/pci/uhci_pci.c Sun Feb 6 11:54:44 2000 @@ -83,6 +83,10 @@ #define PCI_UHCI_DEVICEID_PIIX4 0x71128086 #define PCI_UHCI_DEVICEID_PIIX4E 0x71128086 /* no separate stepping */ static const char *uhci_device_piix4 = "Intel 82371AB/EB (PIIX4) USB controller"; +#define PCI_UHCI_DEVICEID_ICH 0x24128086 +static const char *uhci_device_ich = "Intel 82801AA (ICH) USB controller"; +#define PCI_UHCI_DEVICEID_ICH0 0x24228086 +static const char *uhci_device_ich0 = "Intel 82801AB (ICH0) USB controller"; #define PCI_UHCI_DEVICEID_VT83C572 0x30381106 static const char *uhci_device_vt83c572 = "VIA 83C572 USB controller"; @@ -124,6 +128,10 @@ return (uhci_device_piix3); } else if (device_id == PCI_UHCI_DEVICEID_PIIX4) { return (uhci_device_piix4); + } else if (device_id == PCI_UHCI_DEVICEID_ICH) { + return (uhci_device_ich); + } else if (device_id == PCI_UHCI_DEVICEID_ICH0) { + return (uhci_device_ich0); } else if (device_id == PCI_UHCI_DEVICEID_VT83C572) { return (uhci_device_vt83c572); } else { @@ -199,6 +207,14 @@ break; case PCI_UHCI_DEVICEID_PIIX4: device_set_desc(sc->sc_bus.bdev, uhci_device_piix4); + sprintf(sc->sc_vendor, "Intel"); + break; + case PCI_UHCI_DEVICEID_ICH: + device_set_desc(sc->sc_bus.bdev, uhci_device_ich); + sprintf(sc->sc_vendor, "Intel"); + break; + case PCI_UHCI_DEVICEID_ICH0: + device_set_desc(sc->sc_bus.bdev, uhci_device_ich0); sprintf(sc->sc_vendor, "Intel"); break; case PCI_UHCI_DEVICEID_VT83C572: >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message