On Wed, 01 Jan 2003 11:51:14 +0100 (CET), Jimi wrote:

>>Remember this scheme relies on a strong ordering of PCI bus numbers!

The above is paramount!

>My current enumeration logic is as follows:
>1) enumerate bus 0 and all already assigned buses (PCI2PCI bridges)
>2) now check, if there were any unassigned PCI2PCI bridges
>3) assign those and scan those freshly assigned buses
>4) go 2 till no unassigned bridges are left anywhere
>
>Is this logic okay or do I have to work exclusively on one freshly assigned bridge, 
>till there are no unassigned 
>bridges behind that bridge making all bus numbers to be behind each other.
>
>e.g. (crazy example I know)
>Bus 0 -> PCI2PCI Bridge -> PCI2PCI bridge -> NIC
>          -> PCI2PCI Bridge -> PCI2PCI bridge -> Soundcard
>
>If all of those bridges are unassigned, my current way would be to assign bus 1 to 
>the 1st bridge on bus 0 and 
>bus 2 to the 2nd bridge on bus 0. The bridge behind the NIC would get bus 3 and the 
>bridge behind the 
>soundcard would get bus 4.

That doesn't work because of bad PCI bus number windows. Add the bus
numbers and resulting windows to your picture and you'll see why.

>Or should I work through all unassigned bridges in the whole making: 1st bridge -> 
>bus 1. Bridge with NIC to 
>bus 2. 2nd bridge on bus 0 -> bus 3 and bridge with soundcard to bus 4?

Now, this is ok. Do a depth-first tree walk.

>As far as I understood the 2nd solution seems to be the right one.
>Also I would really like to leave all assigned bridges (by BIOS) as they are. Is this 
>okay?

I think fiddling with BIOS assigned bus numbers may make the system
fail sooner or later. Errors should be corrected, of course.

Ciao,
  Dani


-----------
To unsubscribe yourself from this list, send the following message
to [EMAIL PROTECTED]

     unsubscribe acpi-os2
     end

Reply via email to