1 基本概念及用法
PPI是一个PEIM和另一个PEIM沟通的桥梁,它通过PPI描述符来描述其特性。PPI描述符是一个数据结构。
这个数据结构定义如下:
typedef struct {
UINTN Flags;
EFI_GUID *Guid;
VOID *Ppi;
}EFI_PEI_PPI_DESCRIPTOR;
Flags描述了PPI的特征。
Guid是这个PPI的名字。
Ppi是service的实体,这个是PPI的真正意义。
既然称其为桥梁,那么就有桥梁的两端。桥梁两端的作用是,一端作为生产者,Install PPI,另一端作为消费者,使用Locate PPI,并且使用它。下面来看一个实例:
1.1 生产者
在UDK2014\MyWorkSpace\MdeModulePkg\Core\DxeIplPeim\DxeLoad.c中
EFI_STATUS
EFIAPI