- 论坛徽章:
- 0
|
linux 2.6.32.28
以下内核启动流程是否有问题:
start_kernel ---> console_init--->
--->register_console(&serial8250_console)---->printk--->serial8250_console_write-->
--->serial8250_console_putchar--->wait_for_xmitr-->
--->udelay(1)
void register_console(struct console *newcon)
{
...
printk(KERN_INFO "console [%s%d] enabled, bootconsole disabled\n",
newcon->name, newcon->index);
...
}
由于console_init位于calibrate_delay之前,所以这个时候调用udelay将会出现死循环
(因为udelay需要calibrate_delay计算出来的loops_per_jiffy作参数)
请问上面的这个流程分析有问题没?我想不出是哪里的流程分析有问题,大家帮忙给点意见, 谢谢! |
|