Hi, There some things I would like to make sure first: can I use all kernel functions from a module? In Linux, modules can only use those functions from the kernel which are exported by the EXPORT_SYMBOL macro. I suppose there is a similar mechanism for OpenSolaris, isn't there? In that case: how do I know which functions are exported and which aren't?
Secondly, I am still stuck with the question about how my module will be loaded. It should be loaded by default when booting, is there a way to achieve that? Thanks for your help! Thomas On 5/2/07, Dana H. Myers <[EMAIL PROTECTED]> wrote:
Thomas De Schampheleire wrote: > Well, I actually do not know. > > The code I am writing does not really handle a certain device, so I > guess a device driver is not what I am aiming at. > A loadable module sounds ok to me. That's pretty much the choice you have :-) (unless you're changing the base kernel code, which doesn't appear to be required). > > How do I tell OpenSolaris that this module should be loaded? Is there > any documentation regarding developing modules for OpenSolaris? > Can a user also load and unload modules? I'd start by studying how to develop device drivers for Solaris, even if you don't expect to build a conventional device driver. Have a look at: http://www.opensolaris.org/os/community/device_drivers/ for a good place to get started; in particular, "Writing Device Drivers" is indispensable documentation. The basics of loadable modules and kernel services are covered in good detail. Cheers, Dana > Thanks, thomas > > On 5/2/07, *Dana H. Myers* <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]> > wrote: > > Thomas De Schampheleire wrote: > > Hi all, > > > > I will try using the timeout() first, but I am wondering where I > > should start the first invocation of my function. > > > > The code I would like to run could be considered to be related to > > power management. Is there a certain file or function from where I > > should call my function? For this start, should I use a taskq then? > What module are you delivering your code in? If you're delivering a > device driver, > you'd probably initiate the thread as part of driver open(), and shut > the thread the > down as part of driver close(). For a non-driver loadable module, > you may > initiate the thread as part of the module attach() and shut the thread > down as > part of the module detach(). In any case, for a loadable module, > you must > make sure that the thread is shutdown before the module is > unloaded or > arrange > to fail the unload. So the answer is, it really depends on what > you are > delivering > and what it needs to do. > > Cheers, > Dana > >
_______________________________________________ opensolaris-code mailing list [email protected] http://mail.opensolaris.org/mailman/listinfo/opensolaris-code
