do_basic_setup()由kernel_init()代表的内核init线程函数间接调用(在kernel_init_freeable()被调用)。 在调用do_basic_setup之前,处理器已经被初始化了,CPU子系统已经启动并且运行,内存和进程管理也工作正常,但是系统中的设备还没有被初始化,故而do_basic_setup正作用于此,本文主要描述do_initcalls,所以不再进而分...
在看linux核心代码的时候看到/init/main.c 里面的do_initcalls函数 static void__initdo_initcalls(void) 742{ 743initcall_t*call; 744 745for (call =__initcall_start; call <__initcall_end; call++) 746do_one_initcall(*call); 747 748/* Make sure there is no pending stuff from the initcall ...
do_initcalls由do_basic_setup()调用: do_basic_setup()由kernel_init()代表的内核init线程函数间接调用(在kernel_init_freeable()被调用)。在调用do_basic_setup之前,处理器已经被初始化了,CPU子系统已经启动并且运行,内存和进程管理工作也工作正常,但是系统中的设备还没有被初始化,故而do_basic_setup正作用于此...