On 8/05/09 02:36 AM, casper....@sun.com wrote:
For automaticly loaded modules, there is always something that pulls the
module into the kernel, be it a dependency from another module or
someone opening a device file. Neither of those is going to pull in a
new standalone module, so that code can be executed.
How many of those do we have? You can still use "forceload" too.
The best example I can think of is the mac-type plugin support.
The mac type plugins for ethernet, wifi, etc, have nothing that
automatically pulls them into the kernel. If you look at e1000g,
there's nothing about it that links it directly to the mac_ether
kernel module, it's all indirect and via mac.
Similarly, mac has no direct relationship with mac_ether, rather,
when a device driver calls mac_register(), the mac code looks to
see if it knows about ether and if not, calls modload() inside
the kernel to try and load mac_ether. The modload() interface
used here is not a public interface.
So in lieu of there being no programming interfaces to use to
bring the desired code into the kernel, modload(1M) must be used.
Darren
_______________________________________________
opensolaris-code mailing list
opensolaris-code@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code