//20210714 //轉入BIOS工作兩年多,,
//轉入BIOS已近一年多,跟了2個案子 打雜&自學。沒人帶進步有些慢。一定要把這部分細節了解清晰。。。。。。
//先架構後細節
//ppi結構定義
EFI_PEI_PPI_DESCRIPTOR mPpiListCodePpi = {
(EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST),
&gMyPEIGUID,
&mPpi
};
PeiServicesInstallPpi //install ppi 初始化部分
PeiServicesLocatePpi //找到 mPpi部分 通過指針調用
//20200808,遇到問題 &mPpi是null時候如何調用跳轉的???
PeiServicesNotifyPpi //通知什麼的,spec較抽象,需要深刻了解
copy過來的
PPI notify 相當于 PPI 的callback function.
PPI 和PPI notify 都有相應的GUID來區分
在PEI Services 中有兩個function : InstallPPI 和NotifyPPI
1.調用InstallPPI時,會把PPI interface 插入PPI database 的PPI LIST 數組中,假設其可以容納 128個Items。插入順序是從PPI LIST的頭部向尾部插入,及PPI LIST[0],PPI LIST[1]....
插入該PPI後