UEFI Framework - 1 [ EFI Architecture Overview ]


這是Intel 設計出來的一個完整的 EFI BIOS 示意圖,其中綠色的部份是Framework
1.       Hardware 這指得就是 Platform or Motherboard
2.       Framework,這是一個大的 “ H ”型結構,像是一個大容器,兩端都能裝東西進去,上端裝Interface負責與OS communicate  ,下端裝Protocol負責與Hardware communicate。而兩端進行溝通的Bridge就是Framework設計出來的兩個 Basic ModuleDXE Foundation and PEI Foundation。而之所以有兩個,因為在BIOS開機的過程中包含 PEI Phase and DXE Phase,而這兩個Phase各自包含了一個DISPATCHER ,用來分派 ModuleFramework還包括了 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,可以看出它在整張圖只佔了很少的一個部份,僅提供了OS And Framework之間的Interface。大部份的工作都是在Framework中完成。
7.       OS,最上面灰色的部份,圖中有分為兩種,一種是Support EFI OS,另一種是傳統的(Windows XP/98 等等),後者在Boot 過程中需要CSMSupport,用INT 19H 中斷,所以放在CSM的上方,而支持EFIOS是不需要CSM Support的,它的Boot 方式是 EFI 所規定的

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

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

留言