what is the init entrance for pci bus scan in FREEbsd?

M. Warner Losh imp at bsdimp.com
Tue Jun 7 04:45:42 GMT 2005


In message: <87ab37ab050606211290c3220 at mail.gmail.com>
            kylin <fierykylin at gmail.com> writes:
: On 6/6/05, M. Warner Losh <imp at bsdimp.com> wrote:
: > I'm not sure I understand what you are getting at here.  First, devd
: > already provides 95% of the infrastructure to do things when devices
: > are added to the system.
: sorry ,i ignore it!! it is really a lite tool:) ,but it seems that
: /dev/devctl does not present the function to write to the devctl,then
: I think it is impossible to  give order to disable or enable the pci
: slots without making changes.

OK.  You need a daemon to respond to the state diagram of the pci hot
plug interaction model.

: then it is devd that should come into play( like the sbin/hotplug in
: linux?):)

Yes.  devd predates hotplug in Linux, but not by much (they both were
worked on in parallel).

: > Second, you assume that linux's way of doing things is how FreeBSD
: > does things.  This isn't the case. FreeBSD scans the bus at pci bus
: > attach time and adds chilren nodes that it finds.  In the Cardbus
: > case, it will add nodes as the card bus bridge tells us of children,
: > and then probe/attaches them. 
: i mean the enumeration  way . and the trickes to talk with the hotplug bridge.
: BTW pci_init()  is the start point for PCI enumeration in linux. The
: way to add the device to the lists

You'll need to look at how cardbus handles this.

:  > Finally, you should send me your work for review.  I've been keen on
: > expanding pci bus support for a long time and would be happy to review
: > such changes.
: 
: > BTW, Which chipsets and hotplugging methods do you support?
: i will begin with the fake way here ,then give support to pciexpress
: native hotplug .there is common register interface for pci e hotplug
: first ,i will not change the source ,just add a module.

I think you should make it be a full-fledged driver, rather than an
add-on on the side.  You'll not be able to solve the resource problems
otherwise.

Warner


More information about the freebsd-questions mailing list