1.自解壓(這部分就超多内容,後續補充)
2.首先是彙編部分,進入SVC模式,關中斷
3.CP15擷取處理器ID,并檢查比對
4.檢查核心參數表是否有效(根據是否位元組對齊檢查)
5.初始化MMU的頁表
6.設定傳回的虛拟位址(開啟MMU後全是虛拟位址,是以要存傳回位址),并儲存頁表基址,好存入TTBR1中(也就是用于轉換的頁表基址)
7.初始化CPU
8.啟動MMU
9.清.bss段,将需要的全局變量轉移到全局變量區
10.跳到start_Kernel中
11.擷取核心啟動參數,初始化核心各元件(排程器,記憶體管理,poll等等)
12.steup_arch()架構初始化
13.架構初始化最後執行,rest_init(),完成裝置驅動初始化并建立并啟動核心線程init線程,設定線程為不可殺
14.運作指定的init程式。