main.c.txt
来自「linux内核学习笔记 希望想看的人可以很快下载到」· 文本 代码 · 共 48 行
TXT
48 行
any question,send email to netxiong@263.net
系统进行各项初始化的地方
(1):asmlinkage void __init start_kernel(void)
开始运行内核。
####
调用 softirq_init(); //在kernel/softirq.c中
softirq_vec[TASKLET_SOFTIRQ].XXXX
softirq_vec[HI_SOFTIRQ].XXXX
for (i=0; i<32; i++)
tasklet_init(bh_task_vec+i, bh_action, i);
调用sched_init(); //在kernel/sched.c中
init_bh(TQUEUE_BH, tqueue_bh);
init_bh(IMMEDIATE_BH, immediate_bh);
init_bh(TIMER_BH, run_all_timers)
***************************辅助函数***********************************
(1)static void __init do_initcalls(void)
call = &__initcall_start;
do {
(*call)();
call++;
} while (call < &__initcall_end);//将编译到系统中的所有标志为
//__init_call的函数执行一遍
**********************************************************************
***************************系统启动***********************************
(1)static void __init do_basic_setup(void)
……//调用各种XXX_init函数进行初始化
do_initcalls(); //很重要的一个函数,用来调用所有使用__init_call标志的
//函数,这就提供了一种初始化系统的方法。
**********************************************************************
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?