- Background
- UEFI定義了OS, add-in driver和system firmware之間的Interface。(下圖藍色部分)
- PI則定義了偏向Implementation的部分 e.g. 從 power on 到移交control給OS之間的所有操作。 (下圖綠色部分)
前一篇說明了UEFI的大概,也提到了Tiano這個OpenSource Project. 這一篇將簡介UEFI的PI。
過去Intel發展了 The Intel Platform Innovation framwork for UEFI或是"The Framework" 是一個符合UEFI規範的一個firmware實作。這一個幾乎以C來實作的framework支援了大部分的Intel CPU family。
而目前,這個framework已經被更全面支援的UEFI Platform Initialization (PI)所取代了。UEFI和PI有兩個主要不同的點。
- PI負責從開機到UEFI可以work之間的流程,舉例來說,UEFI是負責跟OS做溝通,然而,UEFI本身並不處理memory initialization、recovery或platform initialization等等跟platform有關的事情。這些都是由PI做掉的。
- 另外,UEFI跟PI的SPEC都是UEFI Fourm所制定的。
- PI 簡介 如下圖,PI分成六個部分, 從開機的過程來看,順序是由左到右。下面一一解釋各個流程在做什麼。
- SEC SEC是Security的簡稱,這一個phase是開機後第一個執行的phase。任務是確保在reset 或 power on之後的integraty是完整的。
- PEI PEI是pre-EFI initialization的簡稱。任務是先做CPU、Chipset及Memory等等的初始化。在這一個階段,PEI初始化基本的環境 for下一個 phase。另外,PEI執行完會有Hand-off block (HOB)傳給DXE
- DXE Driver Execution Environment這個階段負責enumerate及init device、初始化UEFI services、 及 protocol等等
- BDS Boot Dev Select這邊負責how and where to boot OS.
- TSL Transient System Load這個階段將control transit 給OS
- RT Runtime的階段已經脫離boot sequence了,這個階段是由OS執行中
- AL After Life指的是系統reboot或shutdown
2 則留言:
我來了!!!!!!!1
哈~~
終於找到你了
張貼留言