From owner-cvs-all Tue Sep 5 14:43: 9 2000 Delivered-To: cvs-all@freebsd.org Received: from front2.grolier.fr (front2.grolier.fr [194.158.96.52]) by hub.freebsd.org (Postfix) with ESMTP id 77C7F37B422; Tue, 5 Sep 2000 14:43:02 -0700 (PDT) Received: from nas14-87.vlt.club-internet.fr (nas14-87.vlt.club-internet.fr [195.36.162.87]) by front2.grolier.fr (8.9.3/No_Relay+No_Spam_MGC990224) with ESMTP id XAA22200; Tue, 5 Sep 2000 23:42:48 +0200 (MET DST) Date: Tue, 5 Sep 2000 23:25:17 +0200 (CEST) From: =?ISO-8859-1?Q?G=E9rard_Roudier?= X-Sender: groudier@linux.local To: Peter Wemm Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/i386/isa pcibus.c In-Reply-To: <200009052110.e85LAFG46854@netplex.com.au> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=ISO-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Tue, 5 Sep 2000, Peter Wemm wrote: > =3D?ISO-8859-1?Q?G=3DE9rard_Roudier?=3D wrote: > >=20 > > On Mon, 4 Sep 2000, Peter Wemm wrote: > >=20 > > > peter 2000/09/04 17:53:34 PDT > > >=20 > > > Modified files: > > > sys/i386/isa pcibus.c=20 > > > 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: > >=20 > > I donnot understand what a logical bus is, but I have no problem > > understanding physical, btw. ;-) > >=20 > > Note that this may rather look like a nice simplification, since we > > will probably never want, nor need: > >=20 > > 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 P= CI > > BUS that has same number as the primary BUS. > >=20 > > :-) :-) > >=20 > > > some of the RCC chipsets. This is a 32/64 bit 33/66MHz and dual pc= i > > > 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 ca= used > > > devices on that logical bus to appear and be probed twice. > >=20 > > Does that mean that FreeBSD-4.X does fail the boot with such RCC chipse= t ? > > (I may well be bitten by this in a couple of weeks if this is the case) >=20 > 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. An= d > of course, the old probe mechanism was assuming pcib unit number =3D=3D > 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=E9rard. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message