Hi,
On Tue, Jan 8, 2013 at 11:08 AM, Rahul Bedarkar <rpal143@xxxxxxxxx> 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.
Dave Hylands
On Tue, Jan 8, 2013 at 11:08 AM, Rahul Bedarkar <rpal143@xxxxxxxxx> 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.
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
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.
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies