Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 5 Jun 2000 15:45:41 -0500
From:      "Jason" <jsmethers@pdq.net>
To:        <freebsd-hackers@FreeBSD.ORG>, <freebsd-stable@FreeBSD.ORG>
Subject:   Re: changed pci bus probe order from 3.2 to 4.0 -- ideas?
Message-ID:  <00aa01bfcf2f$0478c760$0dcb1f40@mom>
References:  <200006011637.SAA66853@info.iet.unipi.it> <Pine.BSF.4.21.0006011117290.4806-100000@vespa.orem.iserver.com> <20000601113842.A92456@panzer.kdm.org>

next in thread | previous in thread | raw e-mail | index | archive | help
From: "Kenneth D. Merry" <ken@kdm.org>
> The problem is that when the new-bus code was introduced, the probe order
> was changed from a bus-by-bus probe (breadth first?) to a depth-first
> probe.
>
> i.e. as soon as another PCI bus is found (e.g. on a bridge chip) it is
> probed, rather than deferring the probe of the new bus until the probe of
> the current bus has been completed.
>
> I think Doug Rabson had plans to fix the probe order, but it never
> happened.
>
> There is no way to hardwire PCI devices, so you'll probably have to just
> change which card is referenced in your scripts.
>
> Ken
> --
> Kenneth Merry
> ken@kdm.org

The PCI spec basicly states that buses are to be probed depth first. As a
PCI bridge is found, it is assigned the next sequential bus number and
probed for additional bridges beyond it. As a new bridge is found, all the
parent bridges' subordinat bus number register is updated to the highest
numbered bus that exists beyond it. When no more PCI bridges are found on
the current bus, the routine should return to the parent bus and continue
probing for more PCI bridges, and so on.

This is done in this fashion so that sub PCI bridges may claim the correct
transactions.

The probe routine is correct as is - at least for machines with a single
host/PCI bridge. If anything, work may be done to allow the wiring down of
devices, either by PCI bus, or as found by the probe. The first not really
being practical considering that buses may be renumbered based on the
addition or removal of PCI bridges. eg. a nice feature we don't support
yet - hot swaping of PCI cards.

-Jason




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?00aa01bfcf2f$0478c760$0dcb1f40>