Contents ...
udn網路城邦
UEFI Introduction
2013/07/28 23:47
瀏覽2,666
迴響0
推薦0
引用0

UEFI 簡介


    • 什麼是 UEFI ? 
    •  
Unified Extensible Firmware Interface
       定義了
OS
platform firmware
    之間溝通的介面。例如跟一般都會有firmware的GPU 卡。

      UEFI的出現是INTEL為了要取代傳統的 BIOS(Legacy BIOS) 然後發展EFI最後移交出去改名成UEFI

       
    • 為什麼UEFI?

    1. Legacy BISO的執行環境都是在16 bit下,之後的CPU儘管支援64 bit還是必須"額外"實作支援16 bit 環境以支援BIOS執行。於是像INTEL的vendor就想改變這點取代傳統的BIOS
    2. 16 bit的CPUaddressing可以到2^20 Bytes ,也就是說極限到1024 KBytes,這當然大大的限制了BIOS可以做的事情。
    3. 對開發者來說,Legacy BIOS多以ASM來開發,懂的人相對地少且對於開發速度也會有程度的受限。
    • UEFI Resource

          1. Intel 移交EFI後實際管理的單位是
      Unified EFI Forum
         因此在上面我們可以看到最新的SPEC.
        2. Intel Release了代號為Tiano 的EFI的實作後,我們可以直接從SourceForge去抓代號為Tianocore的Opensource project.

      UEFI and Platform Initialization(PI)

        • Background

          前一篇說明了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有兩個主要不同的點。

        1.  UEFI定義了OS, add-in driver和system firmware之間的Interface。(下圖藍色部分)
        2.  PI則定義了偏向Implementation的部分 e.g. 從 power on 到移交control給OS之間的所有操作。 (下圖綠色部分)
         
          PI負責從開機到UEFI可以work之間的流程,舉例來說,UEFI是負責跟OS做溝通,然而,UEFI本身並不處理memory initialization、recovery或platform initialization等等跟platform有關的事情。這些都是由PI做掉的。

          另外,UEFI跟PI的SPEC都是UEFI Fourm所制定的。 
          • PI 簡介
          • 如下圖,PI分成六個部分,
          從開機的過程來看,順序是由左到右。下面一一解釋各個流程在做什麼。
          1. SEC
          2. SEC是Security的簡稱,這一個phase是開機後第一個執行的phase。任務是確保在reset 或 power on之後的integraty是完整的。

          1. PEI
          2. PEI是pre-EFI initialization的簡稱。任務是先做CPU、Chipset及Memory等等的初始化。在這一個階段,PEI初始化基本的環境 for下一個 phase。另外,PEI執行完會有Hand-off block (HOB)傳給DXE

          1. DXE
          2. Driver Execution Environment這個階段負責enumerate及init device、初始化UEFI services、  及 protocol等等

          1. BDS
          2. Boot Dev Select這邊負責how and where to boot OS.

          1. TSL
          2. Transient System Load這個階段將control transit 給OS

        1. RT
        2. Runtime的階段已經脫離boot sequence了,這個階段是由OS執行中
        3. AL
        4. After Life指的是系統reboot或shutdown
        全站分類:知識學習 科學百科
        自訂分類:上班的新鮮人
        上一則: Security Phase (SEC)
        下一則: EFI 研讀方向
        你可能會有興趣的文章:

        限會員,要發表迴響,請先登入