From owner-freebsd-current Fri Jan 26 12:50:56 2001 Delivered-To: freebsd-current@freebsd.org Received: from odin.ac.hmc.edu (Odin.AC.HMC.Edu [134.173.32.75]) by hub.freebsd.org (Postfix) with ESMTP id ACA9137B401; Fri, 26 Jan 2001 12:50:37 -0800 (PST) Received: (from brdavis@localhost) by odin.ac.hmc.edu (8.11.0/8.11.0) id f0QKobq31173; Fri, 26 Jan 2001 12:50:37 -0800 Date: Fri, 26 Jan 2001 12:50:37 -0800 From: Brooks Davis To: freebsd-current@freebsd.org Cc: msmith@freebsd.org Subject: PCI changes break HP Docking Station Message-ID: <20010126125037.B28316@Odin.AC.HMC.Edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2i Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Hi, I plugged my HP Omnibook 4150 into my dock for the first time in a couple months only to discover that I couldn't attach any of the PCI devices in it. I'm running -current as of sometime in the last week or so. I traced the problem to the new PCI code comitted six weeks ago. Specificaly: - Make the PCI-PCI bridge code a little more paranoid about valid I/O and memory decodes. It looks like the new code is too paranoid. The following patch lets me attach devices in the dock though it's obviously bogus. You can find a kernel config, verbose dmesg output, pciconf -l -v output, and acpidump output at: http://www.one-eyed-alien.net/~brooks/FreeBSD/dock/ Please let me know if you need anything more from me to help debug this. Thanks, Brooks -- Any statement of the form "X is the one, true Y" is FALSE. Index: pci_pci.c =================================================================== RCS file: /home/ncvs/src/sys/dev/pci/pci_pci.c,v retrieving revision 1.3 diff -u -r1.3 pci_pci.c --- pci_pci.c 2000/12/13 01:25:11 1.3 +++ pci_pci.c 2001/01/26 19:56:40 @@ -283,10 +283,10 @@ case SYS_RES_IOPORT: if ((start < sc->iobase) || (end > sc->iolimit)) { device_printf(dev, "device %s%d requested unsupported I/O range 0x%lx-0x%lx" - " (decoding 0x%x-0x%x)\n", + " (decoding 0x%x-0x%x) IGNORED\n", device_get_name(child), device_get_unit(child), start, end, sc->iobase, sc->iolimit); - return(NULL); + /* return(NULL); */ } if (bootverbose) device_printf(sc->dev, "device %s%d requested decoded I/O range 0x%lx-0x%lx\n", @@ -303,10 +303,10 @@ if (((start < sc->membase) || (end > sc->memlimit)) && ((start < sc->pmembase) || (end > sc->pmemlimit))) { device_printf(dev, "device %s%d requested unsupported memory range 0x%lx-0x%lx" - " (decoding 0x%x-0x%x, 0x%x-0x%x)\n", + " (decoding 0x%x-0x%x, 0x%x-0x%x) IGNORED\n", device_get_name(child), device_get_unit(child), start, end, sc->membase, sc->memlimit, sc->pmembase, sc->pmemlimit); - return(NULL); + /* return(NULL); */ } if (bootverbose) device_printf(sc->dev, "device %s%d requested decoded memory range 0x%lx-0x%lx\n", To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message