1.The
EFI System Table
很重要的Data Structure,記錄了許多data information 以及 System 的Function Call 。
包含了以下幾項Services
2.Handle database and protocols
記錄了可被呼叫的Handle
Handle 可儲存的資訊類型
在Handle內部中的Protocol Interface裡有一或多個Function Pointer
這些Function Pointer 會對應到某EFI Driver開放出的Function
像下圖就解釋到許多的觀念,一個EFI Driver能透過許多的GUID分享Function出來
3.EFI images
佈署好可被執行的格式
4.Events
可用軟體發出的signaled,讓程式能以下面的Event做出想要的事情
5.Device paths
一個Data Structure 描述了Hardware 的Entity,像是Bus 或是 Partition ,EFI Image 在已經Formatted disk的 File Name。簡單的說,也就是在EFI中描述一個Device的Path。
參考文章:http://blog.yam.com/wttmama/article/33757450
很重要的Data Structure,記錄了許多data information 以及 System 的Function Call 。
包含了以下幾項Services
- EFI Boot Services:開機時到還沒呼叫 ExitBootServices時會存在
- EFI Runtime Services:開機到進入OS都可以使用
- Protocol services:能讓EFI Driver使用,用來註冊Handle。
2.Handle database and protocols
記錄了可被呼叫的Handle
Handle 可儲存的資訊類型
- 可被執行的image像EFI Application以及 EFI Driver
- Network Controller Device 以及 Hard Drive Partition
- EFI Service (EFI Decompression 及 EBC Virtual Machine)
Handle 是由一或多個Protocol Interface所組成
而Protocol Interface 則以GUID來做區分
在Handle內部中的Protocol Interface裡有一或多個Function Pointer
這些Function Pointer 會對應到某EFI Driver開放出的Function
像下圖就解釋到許多的觀念,一個EFI Driver能透過許多的GUID分享Function出來
3.EFI images
佈署好可被執行的格式
- EFI Application :有自己的memory及status的Image,在APP exit的時後Release
- EFI Boot Service drivers: 在Boot的時後會存在的 Driver,一樣會有自己的Memory及status,在 ExitBootServices後會Release。
- EFI Runtime Drivers:自己本身的Memory及status會一直存在。
4.Events
可用軟體發出的signaled,讓程式能以下面的Event做出想要的事情
- Wait Event
- Signal Event
- ExitBootServices Event
- Timer Event
- Periodic Timer Event
- one-shot timer Event
5.Device paths
一個Data Structure 描述了Hardware 的Entity,像是Bus 或是 Partition ,EFI Image 在已經Formatted disk的 File Name。簡單的說,也就是在EFI中描述一個Device的Path。
參考文章:http://blog.yam.com/wttmama/article/33757450
留言
張貼留言