Why __early_initcall_end _initcall_end are declared are array ?
Hi all,
I could find the order of calling of modules from kernal_init() -> do_basic_setup() -> do_initcalls(). Here it traverse through a array of __early_initcall_end till __initcall_end.
My questions are
1. The expansion of module_init() macro says to put the .text section of the function called by module_init into specific region in the memory, This initializations routines will be called in the sequence by the INITCALL ( include/asm-generic/vmlinux.lds.h) . It looks like the vmlinux.lds (arch/mips/kernel/vmlinux.lds.S) put the __initcall_start and __initcall_end before and after the INITCALLS. Is my understating correct.
2. Why __early_initcall_end _initcall_end are declared are array, it can be a pointer instead ?
Thanks in advance,
Reshmi S
|