Date: Mon, 10 Jul 2000 14:28:44 +0300 From: Boris Karnaukh <bk532@iname.com> Cc: freebsd-stable@FreeBSD.ORG Subject: Re: Fixing PCI device locations Message-ID: <3969B36C.684CC369@iname.com> References: <200006261436.QAA10618@luxren2.boostworks.com> <Pine.BSF.4.21.0006260917480.43159-100000@resnet.uoregon.edu> <20000708220148.A2104@StefanEsser.FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Stefan Esser wrote: > > On 2000-06-26 09:18 -0700, Doug White <dwhite@resnet.uoregon.edu> wrote: > > On Mon, 26 Jun 2000, Remy Nonnenmacher wrote: > > > I recently upgraded a server from 3.4 to 4-stable and was hurted by the > > > PCI device scanning not done in the same order on the two versions. > > > > > > Mainly, the server have 6 SCSI busses over 3 devices and two PCI > > > busses. (da0 on 3.4 ended up on da52 under 4-stable) > > > > > > While provisions are made for fixing SCSI controlers to busses (ieg: ahc > > > to scbus) and disks to scbuses, is there a way to fix SCSI controlers > > > to PCI locations ? > > > > > > (something like "device ahc0 on pci0.11.1") > > > > Not at this time, but it may appear at some time in the future, given an > > enterprising individual. A great many people, including embedded systems > > builders, would be thankful for such a feature. > > I had plans to improve the support for wired PCI devices that was in 3.0, > but have not looked at the problem after the newbus modifications. There > is one problem, which needs to be understood, but its not that hard ;-) > > The PCI probe reports bus numbers as assigned by the PCI BIOS. If we want > to specify locations of wired devices, we should NOT use the bus number > they are reported on, or bad things will happen, if some new PCI bridge > is installed and all the buses are suddenly renumbered ... > > We need a way to assign "labels" to PCI buses. This may be best done like > this: > > device pcibus1 at pci 0.10.0 > device pcibus2 at pci 1.4.0 > device ahc0 at pci 2.0.0 > > Keep in mind, that there may be a PCI bridge at 0.9.0, which already got > bus number 1 assigned by the BIOS. For that reason, we now have two PCI > number schemes: The bus numbers as programmed into the PCI chip-set and > bridges, and our "logical" bus numbers, which are only used for reference > in order to bind device driver instances to devices that are physically > connected to some PCI slot (possibly via multiple bridges). > > The above lines should be interpreted to mean: > > device pcibus X at pci 0.10.0 > device pcibus Y at pci X.4.0 > device ahc0 at pci Y.0.0 > > and X and Y can come out as 3 and 5 respectively, for example (and would > be reported in the boot log accordingly). This will confuse people that > want to add a device on yet another PCI bus, since numbers in the config > and numbers reported will always diverge, whenever a PCI bridge is added. > I think that from semantic point of view of would be better to change syntax as follows: device pcibus1 at pci 0.10.0 device pcibus2 at pcibus1 4.0 device ahc0 at pcibus2 0.0 to provide clear distinction between subordinate pci buses. -- <Signed> Boris Karnaukh (mailto:bk532@iname.com) To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3969B36C.684CC369>