Date: Fri, 15 Feb 2013 08:49:29 -0500 From: John Baldwin <jhb@freebsd.org> To: "Mikhail T." <mi+thun@aldan.algebra.com> Cc: freebsd-stable@freebsd.org Subject: Re: FreeBSD-9.1 would not boot on pentium3 laptop Message-ID: <201302150849.29085.jhb@freebsd.org> In-Reply-To: <201302071425.17064.jhb@freebsd.org> References: <5111DE44.7040008@aldan.algebra.com> <5113F24E.3070207@aldan.algebra.com> <201302071425.17064.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday, February 07, 2013 2:25:17 pm John Baldwin wrote: > On Thursday, February 07, 2013 1:28:30 pm Mikhail T. wrote: > > On 07.02.2013 13:16, John Baldwin wrote: > > > Can you get pciconf -lc output? > > Here: > > > > hostb0@pci0:0:0:0: class=0x060000 card=0x00000000 > > chip=0x11308086 rev=0x02 hdr=0x00 > > cap 09[88] = vendor (length 4) Intel cap 15 version 1 > > cap 02[a0] = AGP 4x 2x 1x SBA disabled > > Looks like you have one of the systems the comment mentions. Try this patch > to see if ichss is disabled automatically for you: Were you able to test this patch? > Index: ichss.c > =================================================================== > --- ichss.c (revision 246122) > +++ ichss.c (working copy) > @@ -67,7 +67,7 @@ struct ichss_softc { > #define PCI_DEV_82801BA 0x244c /* ICH2M */ > #define PCI_DEV_82801CA 0x248c /* ICH3M */ > #define PCI_DEV_82801DB 0x24cc /* ICH4M */ > -#define PCI_DEV_82815BA 0x1130 /* Unsupported/buggy part */ > +#define PCI_DEV_82815_MC 0x1130 /* Unsupported/buggy part */ > > /* PCI config registers for finding PMBASE and enabling SpeedStep. */ > #define ICHSS_PMBASE_OFFSET 0x40 > @@ -155,9 +155,6 @@ ichss_identify(driver_t *driver, device_t parent) > * E.g. see Section 6.1 "PCI Devices and Functions" and table 6.1 of > * Intel(r) 82801BA I/O Controller Hub 2 (ICH2) and Intel(r) 82801BAM > * I/O Controller Hub 2 Mobile (ICH2-M). > - * > - * TODO: add a quirk to disable if we see the 82815_MC along > - * with the 82801BA and revision < 5. > */ > ich_device = pci_find_bsf(0, 0x1f, 0); > if (ich_device == NULL || > @@ -167,6 +164,22 @@ ichss_identify(driver_t *driver, device_t parent) > pci_get_device(ich_device) != PCI_DEV_82801DB)) > return; > > + /* > + * Certain systems with ICH2 and an Intel 82815_MC host bridge > + * where the host bridge's revision is < 5 lockup if SpeedStep > + * is used. > + */ > + if (pci_get_device(ich_device) == PCI_DEV_82801BA) { > + device_t hostb; > + > + hostb = pci_find_bsf(0, 0, 0); > + if (hostb != NULL && > + pci_get_vendor(hostb) == PCI_VENDOR_INTEL && > + pci_get_device(hostb) == PCI_DEV_82815_MC && > + pci_get_revid(hostb) < 5) > + return; > + } > + > /* Find the PMBASE register from our PCI config header. */ > pmbase = pci_read_config(ich_device, ICHSS_PMBASE_OFFSET, > sizeof(pmbase)); > -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201302150849.29085.jhb>