Automatic load of PCI kernel modules [WAS: [RFT] Automatic load of USB kernel modules]

Warner Losh imp at bsdimp.com
Sun Jun 26 17:54:16 UTC 2011


On Jun 26, 2011, at 4:33 AM, Robert Millan wrote:

> 2011/6/26 Hans Petter Selasky <hselasky at c2i.net>:
>> Hi,
>> 
>> I see that a lot of PCI device drivers use code to check their ID's.
>> 
>> [...]
> 
> I seem to recall devd doesn't process PCI because it is event-driven and
> there are no "events" associated with PCI cards.

That's totally false.

> Perhaps it could be modified to scan for PCI cards via libpci on initialization
> and generate "fake" events for them?

Since your premise is false, this solution also is false.

Devices are handled in a completely uniform manner in the system.  When they attach, an attach even is generated.  When they detach, a detach event is generated.  When there is no driver attached after the probe/attach sequence, a NOMATCH event is generated.  Events are queued up during the early boot process until devd can run.  They are then processed in order.  Devices that haven't had a driver attach to them would be processed when devd had a chance to start.

Warner



More information about the freebsd-current mailing list