Regarding module init function

Rahul Bedarkar rpal143 at gmail.com
Tue Jan 8 08:50:45 EST 2013


Thanks Dave!

I just verified that from System.map. Between __early_initcall_end
and __initcall_end, there is list of init calls with levels from 0-7. What
is significance of these levels.

Thanks,
Rahul

On Tue, Jan 8, 2013 at 7:01 PM, Dave Hylands <dhylands at gmail.com> wrote:

> Hi,
>
>
>
> On Tue, Jan 8, 2013 at 11:08 AM, Rahul Bedarkar <rpal143 at gmail.com> wrote:
> >
> > Ok. in init/main.c we call do_basic_setup(). Where do_initcalls call
> each of init functions from __early_initcall_end to __initcall_end. But I
> don't know from where these values gets initialized.
>
> If you look here:
> http://lxr.linux.no/#linux+v3.7.1/include/linux/init.h#L279<http://lxr.linux.no/#linux+v3.7.1/include/linux/init.h%23L279>
>
> module_init is mapped to __initcall, which is in turn mapped to
> device_initcall, which sets up a pointer in a section called .initcall6.init
>
> If you then look in the kernel linker script:
> http://lxr.linux.no/#linux+v3.7.1/arch/arm/kernel/vmlinux.lds.S#L175<http://lxr.linux.no/#linux+v3.7.1/arch/arm/kernel/vmlinux.lds.S%23L175>
>
> INIT_CALLS is defined here:
> http://lxr.linux.no/#linux+v3.7.1/include/asm-generic/vmlinux.lds.h#L633<http://lxr.linux.no/#linux+v3.7.1/include/asm-generic/vmlinux.lds.h%23L633>
>
> and it defines the __initcall_start and __initcall_end symbols.
>
> Dave Hylands
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20130108/826c71e7/attachment-0001.html 


More information about the Kernelnewbies mailing list