当前位置: 技术问答>linux和unix
关于init/main.c文件中do_initcalls函数的问题
来源: 互联网 发布时间:2016-05-22
本文导语: 在arch/arm/vmlinux-armv.lds.in文件中: __initcall_start = .; *(.initcall.init) __initcall_end = .; . = ALIGN(4096); __init_end = .; 在init/main.c文件中有函数do_initcalls(): static void __init do_initcalls(void) { initcall_t * call; call = &__i...
在arch/arm/vmlinux-armv.lds.in文件中:
__initcall_start = .;
*(.initcall.init)
__initcall_end = .;
. = ALIGN(4096);
__init_end = .;
在init/main.c文件中有函数do_initcalls():
static void __init do_initcalls(void)
{
initcall_t * call;
call = &__initcall_start
do{
(*call)();
call++;
}while(call
__initcall_start = .;
*(.initcall.init)
__initcall_end = .;
. = ALIGN(4096);
__init_end = .;
在init/main.c文件中有函数do_initcalls():
static void __init do_initcalls(void)
{
initcall_t * call;
call = &__initcall_start
do{
(*call)();
call++;
}while(call