05_DXE_Phase

转自: http://blog.yam.com/wttmama/article/33762726

這次要說的是 Dxe Phase 了。

這部份說真的,也花了我不少時間看。
主要還是在於瞭解它的思路和架構。


又要套用這張圖了。
看看上圖的 DXE 在做啥…
Intrinsic Service … ( 應該是 Dxe Foudation )
再來還是一樣,Dispatch ,Dispatch Device , Bus or Service Driver。
然後進入 Boot Manager ( BDS Phase )

這張圖真的很好用吧?mm…
接下來導入正題…
從 PEI -> DXE 到底做了什麼事,DXE 本身又做了什麼事呢。
一樣,看圖吧,如下圖
這一張,真的是好圖,它表現了很多事。
1. PEI 會留下 Hob 給 Dxe Foundation 使用( 圖有 ,也可以看 PEI Phase 說明 )
2. Hob 本身含有重要的 Information ,一樣如圖
3. Dxe Foudation 和 Dxe Drivers 透過 Achitecture Protocols 和 Motherboard 溝通( 其就是指硬體的意思 )

 
換句話說~ Dxe Foudation 其實是 Depend on Hob 的。這很重要,這樣才能安排 Resource。
而 Dxe Foudation 到底有什麼東西,之前其實大概有說過,會建立 System Table 
而 System Table 有什麼東西呢?如下圖所示

 a. Boot Service Table 
 b. Runtime Service Table
 c. Configuration Table
 d. Active Consoles

其中,最重要的,其實就是 Boot Services, Runtime Services ,及可以透過 Boot Serivices Access的Handle Database 。

1. Boot Services
可以看到它含有很多 Service ,其中 之前提到過的 Event , Timer  , Image Serives
還有,Memory Service。都是寫 Dxe Driver 不可或缺的 Services 。

2. Runtime Services 
其中最重要的應該就是 Variable Serives 用來存 non-Valitile Data。

3. Dxe 必須含有的 Dispatch Services。
還有其它拉里拉喳…

有一張圖,其實有大概含入 Foudation 需要啥,如下所示,其實剛好就是System Table藍底的部份

還有一張圖,也算是蠻經典的

暗紅色,其實就是 System Table 可連到的 Architecture Protocols 。

而比較特別的是 Configuration Table ( 看 System Table 那張圖 )
其實是可以放自己喜歡的東西,是可擴充的。還不錯,目前是沒塞啥,但是~如果你有擴充需求
是可以放 reference 在這裡的。

整個 Dxe Phase 花了不少 code 在 Initialize 。
然後會進入 Dispatch 。

Dispatch 在 Dxe Phase 就很講究了,這又要看 PI Spec 了,裡面有張圖如下
一個 Dxe Driver 它的週期就是這樣,特別的是它的 Dependence 是用 recursive 來做的。
這裡的 Dxe Driver 也是要從 FV 找。
但這裡的 Firmware file 是有壓縮的。( Foudation 有提供解壓縮 )
當 Dispatch 完畢後,就會把 Boot Manager 這個 Dxe Driver 拉出來進入 BDS

其實做的大項目事情和 PEI 很像, Initialize , Dispatch , next Step 。
但它很聰明的分開了,以責任的方式分開了。

而這一段的目的是什麼?別忘了,看圖
應該有 fu 吧?

目前談到的是 Dxe Phase 在 Framwork 中,做了什麼。
但很多事沒談到,這裡稍為寫一下…

1. EFI Driver Model
 1.1 Device Driver
 1.2 Bus Driver
 1.3 Device Path 的說明
 1.4 Driver Binding Protocol 。

2. 這一階段的 Driver 都在做啥?
 這其實就是接下來要研究的東西,每一個 Driver 都是一個課題。 
 
3. 重要的 Dxe Serivce 

4. BDS 其實還是在 Dxe Phase 裡,但它是 DXE 的最後一部份了。

5. SMM Mode, SMI

6. CSM 

7. ACPI
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值