LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Kernel (https://www.linuxquestions.org/questions/linux-kernel-70/)
-   -   Why __early_initcall_end _initcall_end are declared are array ? (https://www.linuxquestions.org/questions/linux-kernel-70/why-__early_initcall_end-_initcall_end-are-declared-are-array-771193/)

ReshmiS 11-24-2009 06:07 AM

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


All times are GMT -5. The time now is 06:41 AM.