IN OUT EFI_PEI_FV_HANDLE *AprioriFile OPTIONAL\r
);\r
\r
+/**\r
+ Report the information for a new discoveried FV in unknown format.\r
+ \r
+ If the EFI_PEI_FIRMWARE_VOLUME_PPI has not been install for specifical FV format, but\r
+ the FV in this FV format has been discoveried, then the information of this FV\r
+ will be cached into PEI_CORE_INSTANCE's UnknownFvInfo array.\r
+ Also a notification would be installed for unknown FV format guid, if EFI_PEI_FIRMWARE_VOLUME_PPI\r
+ is installed later by platform's PEIM, the original unknown FV will be processed by\r
+ using new installed EFI_PEI_FIRMWARE_VOLUME_PPI.\r
+ \r
+ @param PrivateData Point to instance of PEI_CORE_INSTANCE\r
+ @param Format Point to the unknown FV format guid.\r
+ @param FvInfo Point to FvInfo buffer.\r
+ @param FvInfoSize The size of FvInfo buffer.\r
+ \r
+ @retval EFI_OUT_OF_RESOURCES The FV info array in PEI_CORE_INSTANCE has no more spaces.\r
+ @retval EFI_SUCCESS Success to add the information for unknown FV.\r
+**/\r
+EFI_STATUS\r
+AddUnknownFormatFvInfo (\r
+ IN PEI_CORE_INSTANCE *PrivateData,\r
+ IN EFI_GUID *Format,\r
+ IN VOID *FvInfo,\r
+ IN UINT32 FvInfoSize\r
+ );\r
+ \r
+/**\r
+ Find the FV information according to FV format guid.\r
+ \r
+ This routine also will remove the FV information found by given FV format guid from\r
+ PrivateData->UnknownFvInfo[].\r
+ \r
+ @param PrivateData Point to instance of PEI_CORE_INSTANCE\r
+ @param Format Point to given FV format guid\r
+ @param FvInfo On return, the pointer of FV information buffer in given FV format guid\r
+ @param FvInfoSize On return, the size of FV information buffer.\r
+ \r
+ @retval EFI_NOT_FOUND The FV is not found for new installed EFI_PEI_FIRMWARE_VOLUME_PPI\r
+ @retval EFI_SUCCESS Success to find a FV which could be processed by new installed EFI_PEI_FIRMWARE_VOLUME_PPI.\r
+**/\r
+EFI_STATUS\r
+FindUnknownFormatFvInfo (\r
+ IN PEI_CORE_INSTANCE *PrivateData,\r
+ IN EFI_GUID *Format,\r
+ OUT VOID **FvInfo,\r
+ OUT UINT32 *FvInfoSize\r
+ );\r
+ \r
+/**\r
+ Notification callback function for EFI_PEI_FIRMWARE_VOLUME_PPI.\r
+ \r
+ When a EFI_PEI_FIRMWARE_VOLUME_PPI is installed to support new FV format, this \r
+ routine is called to process all discoveried FVs in this format.\r
+ \r
+ @param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation\r
+ @param NotifyDescriptor Address of the notification descriptor data structure.\r
+ @param Ppi Address of the PPI that was installed.\r
+ \r
+ @retval EFI_SUCCESS The notification callback is processed correctly.\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+ThirdPartyFvPpiNotifyCallback (\r
+ IN EFI_PEI_SERVICES **PeiServices,\r
+ IN EFI_PEI_NOTIFY_DESCRIPTOR *NotifyDescriptor,\r
+ IN VOID *Ppi\r
+ ); \r
+ \r
#endif \r