Regarding module init function
Dave Hylands
dhylands at gmail.com
Tue Jan 8 08:31:16 EST 2013
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
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
INIT_CALLS is defined here:
http://lxr.linux.no/#linux+v3.7.1/include/asm-generic/vmlinux.lds.h#L633
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/d5cff252/attachment.html
More information about the Kernelnewbies
mailing list