UEFI Framework - 1 [ EFI Architecture Overview ]

文章转自:http://william30101.blogspot.hk/2012/04/uefi-framework.html

UEFI Framework - 1 [ EFI Architecture Overview ]_第1张图片

這是Intel 設計出來的一個完整的EFI BIOS 示意圖,其中綠色的部份是Framework
1.      Hardware 這指得就是 Platform or Motherboard
2.      Framework,這是一個大的 “H ”型結構,像是一個大容器,兩端都能裝東西進去,上端裝Interface負責與OScommunicate  ,下端裝Protocol負責與Hardwarecommunicate。而兩端進行溝通的Bridge就是Framework設計出來的兩個Basic Module:DXE Foundation and PEI Foundation。而之所以有兩個,因為在BIOS開機的過程中包含PEI Phase and DXE Phase,而這兩個Phase各自包含了一個DISPATCHER,用來分派Module。Framework還包括了 Framework Driver,它包含了一些Interface(只有Interface沒有實作)。
3.      Platform Drivers,這是和硬體平台相關的Driver,也是Interface的實作。
4.      EFI Drivers,這指得是一個符合 EFI Driver Modle (規範)的Driver,為了兼容性,而了有些規範。
5.      Compatibility Support Module (CSM),為了相容現有的Assembly的Driver而有這個部份。
6.      EFI,往上黃色薄薄的一層,這本身代表的就是Interface,可以看出它在整張圖只佔了很少的一個部份,僅提供了OSAnd Framework之間的Interface。大部份的工作都是在Framework中完成。
7.      OS,最上面灰色的部份,圖中有分為兩種,一種是Support EFI 的OS,另一種是傳統的(Windows XP/98 等等),後者在Boot過程中需要CSM的Support,用INT19H 中斷,所以放在CSM的上方,而支持EFI的OS是不需要CSMSupport的,它的Boot 方式是 EFI 所規定的

//--------------------------------------------------
// EFI Framework
的概念與C語言對應的示意圖
//--------------------------------------------------

#include <--Intel提供的函數
main() <--Intel 提供的Boot Flow
{
Dispatch FunA(); <--SEC
Dispatch FunB(); <--PEI
Dispatch FunC(); <--DXE
Dispatch FunD(); <--BDS
...
}

你可能感兴趣的:(linux,UEFI)