linux-mips-fnet
[Top] [All Lists]

Re: __initfunc(), kernel coding logic?

To: linux-mips@fnet.fr
Subject: Re: __initfunc(), kernel coding logic?
From: Richard van den Berg <R.vandenBerg@inter.NL.net>
Date: Fri, 3 Jul 1998 20:34:09 +0200 (MET DST)
In-reply-to: <19980702190942.A976@uni-koblenz.de>
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

<Prev in Thread] Current Thread [Next in Thread>