Re: Module Initialisation Data

Jakub Jelinek (jj@sunsite.ms.mff.cuni.cz)
Tue, 2 Mar 1999 10:39:08 +0100 (CET)


>
>
> I noticed that under later kernel releases I can flag functions and data
> in modules as initialisation only so they are thrown away. This is good
> because I can throw away my hardware microcode which is fairly large but
> if I have any PCMCIA devices I need to keep it so that I can reinitialise
> the card later on if it is pulled out and inserted again. Is there a way
> to optionally flag initialisation code and data as non discardable at
> runtime.

In 2.2, you can mark whatever in modules as initialization only and it won't
be honored. I was trying to get the patch which actually made it work into
the kernel several months ago (it was written more than a year ago), but
Linus said it is for 2.3.
And in 2.3, I and some other people would like to redesign all the stuff
related to buses (PCI, SBUS, ...) and module initialization, so that e.g. it
would be possible to insmod a module and tell it to drive one particular
device, not all of them as it is done now. Also, it should be possible,
while a module is loaded, to insmod it again for a different instance of the
device. That would mean putting into the kernel only the initialization
sections, calling the init routine with appropriate device handle and
discarding it again (the rest of code and data would be taken from the
already running module).

Cheers,
Jakub
___________________________________________________________________
Jakub Jelinek | jj@sunsite.mff.cuni.cz | http://sunsite.mff.cuni.cz
Administrator of SunSITE Czech Republic, MFF, Charles University
___________________________________________________________________
UltraLinux | http://ultra.linux.cz/ | http://ultra.penguin.cz/
Linux version 2.2.2 on a sparc64 machine (3958.37 BogoMips)
___________________________________________________________________

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/