//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后