04_PEI之InstallPpi演算法
来源:互联网 发布:黑马程序员 达内 编辑:程序博客网 时间:2024/06/03 14:21
转自:http://blog.yam.com/wttmama/article/33762035
m,這部份是第一個理解的東西
但,說真的,它對BIOS 真的沒幫助,只能幫你瞭解 PEI 的 IntallPpi 是怎麼做的而已。這個內容可以套用在
InstallPpi
LocatePpi
NotifyPpi
在 PEI Foundation 中。有提供一個 叫 InstallPpi 的 function 。
現在要描述的是,它的結構。
懂結構者,得天下!!~(自己亂掰的! )
以下是自畫圖
m,簡單的說~紅色那一塊就是 PEIM 應該提供的 Function
是以 PPI DESCRIPTOR 的方式開放。
在 InstallPpi 時,會加到一個結構,由頭往後加
而 NotifyPpi 則是由後面往前加。
LocatePpi 是會從頭開始找。
m,什麼是PPI
PPI : PEIM to PEIM Interface
在應用上,InstallPpi 是搭配 LocatePpi ,(加入後拿出來用 )
而 NotifyPpi 則是用來指定某個 Ppi Install 時,馬上執行 NotifyPpi 的callback function。
m,說真的,這邊只是為了 熱身而已,不說 source code 是因為,懂意義後,其實很容易看懂它在做啥
目前來說,這邊還真是不常改,不常用。
下面用別種圖示來說明它們。
當你 Install一個 Ppi 時,就如前面說的,會安裝一個 PPI Descriptor 至一個結構之中,如上圖
而 Locate 其實就是從這個結構找 Match 的 GUID 。再把 ppi 交給你而已
同理 NotifyPPi 也是,如下圖所示,但它是從結構尾巴往上放。
使用場合則是像之前說的,當上面各有一個 Match 的時候,就會執行 Notify 的 callback function
下圖是情境說明
1. 已存在 紅色 ppi 及綠色 notifyPpi
2. Install 紫色 PPI
3. 內部演算法去判斷 NotifyPpi 有沒有和 紫色 PPI 相符 的 GUID
4. 有的話,就執行 Notify Function。
5. 沒有的話,InstallPpi結束。
note: NotifyPpi 時,也會檢查,裝了 Notify 檢查 Ppi那一群 的。
說真的,為什麼要寫這一個…因為,它是我在 UEFI 追的第一個有成就感的 code
因為我覺得我說的很生動~~哈~所以,這一定要記錄一下的啦!~~
圖文說明說真的有點差~但~現場很生動的呢!!~~不過,這將只會是個記憶
因為,懂這個又沒用,bios 知識又沒增加,只是更懂 EFI 而已。
- 04_PEI之InstallPpi演算法
- 演算法
- 快速演算法
- 代克思托演算法
- 爬山演算法
- 高容量嵌入式儲存系統之高效能平均磨損演算法的設計與實作
- STL70 个泛型演算法
- 算法,就是演算法
- Bresenham直線演算法
- 台湾國立臺灣師範大學演算法链接
- 演算法筆記
- 百度移动搜索演算法
- Lecture 2: PLA 演算法
- RSA加密演算法
- DHCP 負載平衡演算法
- 縮放演算法 (Scaling Algorithm)
- 2009年演算法与计算机科技国际研讨会
- (链接)台湾 國立臺灣師範大學 演算法筆記
- 关于itouch/ipad 等设备的飞行模式
- linux aio
- office 2003 无法插入特殊符号问题 [转]
- 2011百校联动“菜鸟杯”程序设计公开赛-解题报告
- libpcap原理
- 04_PEI之InstallPpi演算法
- Joggler的MeeGo系统移植
- 常用字符串操作函数
- 最近看过的书
- Nokia CEO Stephen Elop’s ‘Burning Platform’ Memo
- android-contentProvide基础例子
- Delphi6开发人员指南学习杂记4-变体类型
- recvfrom 错误 GetLastError() SOCKET_ERROR 100142008年12月23日 星期二 11:48 A.M.int PASCAL FAR recvfrom( SOCK
- c语言socket编程指南 (转)