Date: Tue, 5 Sep 2000 23:25:17 +0200 (CEST) From: =?ISO-8859-1?Q?G=E9rard_Roudier?= <groudier@club-internet.fr> To: Peter Wemm <peter@netplex.com.au> Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/i386/isa pcibus.c Message-ID: <Pine.LNX.4.10.10009052308180.1684-100000@linux.local> In-Reply-To: <200009052110.e85LAFG46854@netplex.com.au>
index | next in thread | previous in thread | raw e-mail
On Tue, 5 Sep 2000, Peter Wemm wrote: > =?ISO-8859-1?Q?G=E9rard_Roudier?= wrote: > > > > On Mon, 4 Sep 2000, Peter Wemm wrote: > > > > > peter 2000/09/04 17:53:34 PDT > > > > > > Modified files: > > > sys/i386/isa pcibus.c > > > Log: > > > Catch a few more bogosities in certain chipsets before they mess us up. > > > Some have dual host->PCI bridges for the same logical pci bus (!), eg: > > > > I donnot understand what a logical bus is, but I have no problem > > understanding physical, btw. ;-) > > > > Note that this may rather look like a nice simplification, since we > > will probably never want, nor need: > > > > 1) To send a Special Cycle transaction from the physical secondary bus > > using a configuration type 1 transaction. > > 2) To send a configuration type 1 transaction to a secondary physical PCI > > BUS that has same number as the primary BUS. > > > > :-) :-) > > > > > some of the RCC chipsets. This is a 32/64 bit 33/66MHz and dual pci > > > voltage motherboard so persumably there are electical or signalling > > > differences but they are otherwise the same logical bus. > > > The new PCI probe code however was getting somewhat upset about it and > > > ended up creating two pci bridges to the same logical bus, which caused > > > devices on that logical bus to appear and be probed twice. > > > > Does that mean that FreeBSD-4.X does fail the boot with such RCC chipset ? > > (I may well be bitten by this in a couple of weeks if this is the case) > > I don't think so. What used to happen would be that we would see the two > bridges to pci bus #1, and one of them would get renunbered to pcib2. And > of course, the old probe mechanism was assuming pcib unit number == > physical bus number, so it was probing pci bus #2, which didn't really > exist and therefore found no duplicate devices. Thanks for the explanation of the issue. Sometimes we may prefer a broken code that succeeds by luck over a correct one that gets confused enough and fail. :) > With the new code, it remembers the correct bus number even if it has to > renumber the pcib unit number. Frankly, I am a bit impressed by this RCC chipset bug|feature. - Old simplistic codes that donnot care about bridges will see a single PCI BUS as in good old time of PCI. - Old broken code may succeed. - I guess that usual transactions from one BUS targetting the other one should work just fine. But indeed, it is preferable to actally register the 2 resources, in order to be able to deal with the differences, if it ever happens to get useful. Thanks. Gérard. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the messagehelp
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.4.10.10009052308180.1684-100000>
