[原创]Linux arm 启动 c语言部分详解第四讲
Linux arm 启动 c语言部分详解第四讲(from setup_per_cpu_areas();)
Written by leeming
上面的setup_arch花了我们大量的篇幅,现在我们要继续往前推进了。
注:黑色为主线,蓝色为函数的一级展开,红色是注意重要的地方。
//因为我们没有定义CONFIG_SMP,所以这两个函数都为空
setup_per_cpu_areas();
smp_prepare_boot_cpu();
/*
* Set up the scheduler prior starting any interrupts (such as the
* timer interrupt). Full topology setup happens at smp_init()
* time - but meanwhile we still have a functioning scheduler.
*/
//和进程初始化有关的函数,进程是任何操作系统的一个大点,因此这部分内容还是很多的,我这次主要是讲解c语言的启动,所以这部分暂时会比较浅的涉及,以后有机会也详细谈到
sched_init();
{
runqueue_t *rq;
int i, j, k;