本文主要是介绍PEI 阶段的PPI 和 PPI notify,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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相同的PPI Notify被notify过。如果有,则调用该PPI notify的notify function完成相应的功能。
2.调用NotifyPPI时,会把PPI notify 插入PPI database 的PPI LIST 数组中,插入顺序是从PPI LIST的尾部向头部插入,及PPI LIST[127],PPI LIST[126]....
插入该PPI notify后,然后检查一下是否有与之GUID相同的PPI被install过。如果有,则调用该PPI notify的notify function完成相应的功能。
3.上述描述的为callback level 的PPI notify的执行方式。
对于dispatch level的PPI notify是在每个PEIM 被执行后去检查是否有与之GUID相同的PPI被 install过,如果有,则调用该PPI notify的notify function完成相应的功能。
但是PPI notify是无法被locate到的
这篇关于PEI 阶段的PPI 和 PPI notify的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!