March 17, 2013
3:11 p.m.
On Sun, 17 Mar 2013, ishare wrote:
for (call = &__initcall_start; call < &__initcall_end; call++) (*call)();
I want to know where are these function point assigned by specified function ?
thanks!
As per include/asm-generic/vmlinux.lds.h and your arch's vmlinux.lds.S (I actually only looked at x86's), the __initcall_{start,end} variables are the start and end of the __initcall ELF section which contains all the sub-level sections. Functions can be put into these sections when they are given to one of the *_initcall macros from include/linux/init.h. Regards, Tobi