startup
简述
从上电开始,系统启动过程
代码
kernel/kernel.ld
指定入口函数为_entry(kernel/entry.S)
,同时指定kernel Image
的物理内存 起始地址为0x80000000
直至第一个用户程序的调用流程,如下:
_entry -> start() // kernel/start.c
-> main() // kernel/main.c
-> userinit() // kernel/proc.c
-> scheduler() // kernel/proc.c
-> swtch() // swtch.S
-> forkret() // kernel/proc.c
-> usertrapret() // kernel/trap.c
-> userret() // kernel/trampoline.S
-> start() // user/initcode.S
-> main() // user/init.c
Last updated
Was this helpful?