Hi Ralf,
On Thu, 2 Jul 1998 ralf@uni-koblenz.de wrote:
> __initfunc() is just a memory usage optimization. After the kernel has
> initialized itself it will dump all the code and data which has been
> declared as only being used during the initialization. In other words
> you don't need to use it. That memory is being freed in sys_setup(),
> therefore you are not allowed to use initfunc/data after that point.
Aha! Well after initializing the network interface that code can be
dumped too.
> I assume you've been including <linux/init.h> to get the right definitions,
> didn't you.
Thanks! Answer: I didn't... Now I know why I have to include it, think
I won't forget it easily. :-)
> There is no obvious bug in your code except that ``return 0'' is bogus
> for a void function. Maybe you're getting caught by the effect that text
> printed via printk() during the very early startup will not be printed
> before console_init has been completed?
Without "return 0" compiling didn't work, but including <linux/init.h>
did the magic. I added 3 other printk()'s in the code; irq setup, tc
setup and loopback device setup and they showed up very nice; irq for a
maxine, tc give me a base address and the loopback device is initialized
after the turbochannel, that's the order I like for the lance too.
Regards,
Richard
|