UEFI PI部分study

本文探讨了UEFI Platform Initialization (PI)中的PPI管理,包括安装、定位和通知过程。通过实例解析了PPI descriptor结构,强调了在PEI阶段PPI与PPI Notify的使用和回调机制,详细解释了InstallPPI和NotifyPPI函数的工作原理,以及不同级别的PPI Notify执行方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//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后,然后检查一下是否有与之GUID相同的P

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值