In the recent thread regarding the integration of the mfi driver,
Garrett metioned how changing drivers for a particular piece of
hardware nontrivial in Solaris:

"switching... /etc/path_to_inst and /etc/driver_aliases doesn't cope well"

Can somebody explain why we need them for modern devices which are
easily identifiable via standard means (PCI, USB)?  Most other OSes
dynamically probe their hardware and match drivers to devices based on
probes or vendor/device lists compiled into drivers without need for
these sorts of files.

As somebody who has done drivers on many other *nix clones for over a
decade, I've always found the Solaris add_drv/rem_drv fragile and
error prone.  Even more so, with the x86 boot-archive.  I can see how
/etc/driver_aliases can be useful as an override, if the vendor/device
list supplied by a driver is stale, but I'm afraid I don't see
the point of using it as the general case.

I assume it must have something to do with having the correct drivers
on-hand at boot time.  But there are other solutions for this in the
form of building a cache of drivers needed to boot / and or preloading
all drivers along with the kernel from the bootloader and ejecting
unneeded drivers after boot.

Is this just a case of "it was always like this" and improving it
would involve such a painful transition that it is not worth it?

Drew

_______________________________________________
driver-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/driver-discuss

Reply via email to