Date: Wed, 28 May 1997 23:09:24 +0200 From: Stefan Esser <se@FreeBSD.ORG> To: Jaye Mathisen <mrcpu@cdsnet.net> Cc: scsi@FreeBSD.ORG, hackers@FreeBSD.ORG Subject: Re: Boot problems/sd1/I'm sorry, I think ahc is acting funky. Message-ID: <19970528230924.06594@x14.mi.uni-koeln.de> In-Reply-To: <Pine.NEB.3.95.970528124803.15391J-100000@mail.cdsnet.net>; from Jaye Mathisen on Wed, May 28, 1997 at 12:54:26PM -0700 References: <Pine.NEB.3.95.970528124803.15391J-100000@mail.cdsnet.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On May 28, Jaye Mathisen <mrcpu@cdsnet.net> wrote: > > I posted this a few days ago, but now it's really biting me in the butt, > and I'd like to see if it's fixable before I throw out the baby and the > bathwater. Well, yes, there might be a way if you are running -current ... > I have a box with a 3940UW and 2940AU. In the BIOS scan of the PCI bus, > it finds the 3940 first, then the 2940. Swapping cards in the PCI slots > confirms this order. This is a very bogus scan order, except if you requested it in some BIOS setup! PCI bus 0 is always scanned first (with different motherboards using either ascending or descending slot number order). Only after bus 0 is completed, the scan descends down to devices behind PCI to PCI bridges. This order is REQUIRED for all buses > bus 0 (because of the active address decode principle in PCI), but it obviously does not make much sense to have a different probe order for buses directly connected to bus 0 and buses that are themselves connected through a bridge. > *however*, when FreeBSD boots, it *always* finds the 2940 first, and > assigns it as ahc0, and the 3940 as ahc1 and ahc2. This is broke I think. No. Not at all! And there would be MANY more complaints, if I changeed the probe order in the way you suggest! > This is problematic, as when booting (since I have a JAZ drive on the > 2940), It assigns sd0 to the JAZ, *and* makes me type: > > 0:sd(1,a)/kernel > > to the boot blocks to boot each time, which is a major drag. You know about the boot.config file ? (Again assuming you got a reasonably recent kernel). > This behaviour seems specific to FreeBSD, as other OS's find them in the > same order as the BIOS scan. Hmmm, well, I could use the PCI BIOS to scan by supported PCI device ID, instead of by bus topology, but this introduces other problems which I'd prefer to avoid. > IS this easily fixable? There IS nothing to fix, actually ... Either put a reasonable boot command line into /boot.config, or locate the definion of "pci_wireddevs" in /sys/pci/pci_compat.c and add a line reading: { "ahc", 2, 0, SLOT, 0, 0 }, with the SLOT number of the 2940 filled in. (You didn't send the verbose boot message log I need to give more detailed instructions.) You can also remove the other lines (except the last), since they are only left overs from tests I performed before commiting that code ... Let me know if neither approach works for you. Regards, STefan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19970528230924.06594>