#include <Library/BaseMemoryLib.h>\r
\r
\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST EFI_PEI_PPI_DESCRIPTOR mPpiListTemplate [] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST EFI_PEI_PPI_DESCRIPTOR mPpiListTemplate[] = {\r
{\r
(EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST),\r
&gEfiPeiFirmwareVolumeInfoPpiGuid,\r
EFI_STATUS\r
EFIAPI\r
PeiServicesGetBootMode (\r
- IN OUT EFI_BOOT_MODE *BootMode\r
+ OUT EFI_BOOT_MODE *BootMode\r
)\r
{\r
CONST EFI_PEI_SERVICES **PeiServices;\r
EFI_STATUS\r
EFIAPI\r
PeiServicesGetHobList (\r
- OUT VOID **HobList\r
+ OUT VOID **HobList\r
)\r
{\r
CONST EFI_PEI_SERVICES **PeiServices;\r
This service enables PEIMs to discover sections of a given type within a valid FFS file.\r
\r
@param SectionType The value of the section type to find.\r
- @param FfsFileHeader A pointer to the file header that contains the set of sections to\r
+ @param FileHandle A pointer to the file header that contains the set of sections to\r
be searched.\r
@param SectionData A pointer to the discovered section, if successful.\r
\r
EFIAPI\r
PeiServicesFfsFindSectionData (\r
IN EFI_SECTION_TYPE SectionType,\r
- IN EFI_PEI_FILE_HANDLE FfsFileHeader,\r
+ IN EFI_PEI_FILE_HANDLE FileHandle,\r
OUT VOID **SectionData\r
)\r
{\r
CONST EFI_PEI_SERVICES **PeiServices;\r
\r
PeiServices = GetPeiServicesTablePointer ();\r
- return (*PeiServices)->FfsFindSectionData (PeiServices, SectionType, FfsFileHeader, SectionData);\r
+ return (*PeiServices)->FfsFindSectionData (PeiServices, SectionType, FileHandle, SectionData);\r
}\r
\r
/**\r
/**\r
Resets the entire platform.\r
\r
- @param VOID\r
-\r
@retval EFI_SUCCESS The function completed successfully.\r
@retval EFI_NOT_AVAILABLE_YET The service has not been installed yet.\r
\r
\r
**/\r
EFI_STATUS\r
-EFIAPI\r
+EFIAPI \r
PeiServicesFfsGetFileInfo (\r
IN CONST EFI_PEI_FILE_HANDLE FileHandle,\r
OUT EFI_FV_FILE_INFO *FileInfo\r
@param VolumeHandle The firmware volume to search FileHandle\r
Upon exit, points to the found file's\r
handle or NULL if it could not be found.\r
-\r
- @param FileHandle The filehandle found in volume.\r
+ @param FileHandle Pointer to found file handle \r
\r
@retval EFI_SUCCESS File was found.\r
\r
EFI_STATUS Status; \r
EFI_PEI_FIRMWARE_VOLUME_INFO_PPI *FvInfoPpi;\r
EFI_PEI_PPI_DESCRIPTOR *FvInfoPpiDescriptor;\r
+ EFI_GUID *ParentFvNameValue;\r
+ EFI_GUID *ParentFileNameValue;\r
\r
+ ParentFvNameValue = NULL;\r
+ ParentFileNameValue = NULL;\r
FvInfoPpi = AllocateZeroPool (sizeof (EFI_PEI_FIRMWARE_VOLUME_INFO_PPI));\r
- ASSERT( FvInfoPpi != NULL);\r
+ ASSERT(FvInfoPpi != NULL);\r
\r
if (FvFormat != NULL) {\r
CopyGuid (&FvInfoPpi->FvFormat, FvFormat);\r
}\r
FvInfoPpi->FvInfo = (VOID *) FvInfo;\r
FvInfoPpi->FvInfoSize = FvInfoSize;\r
- FvInfoPpi->ParentFvName = (EFI_GUID *) ParentFvName;\r
- FvInfoPpi->ParentFileName = (EFI_GUID *) ParentFileName;\r
-\r
+ if (ParentFvName != NULL) {\r
+ ParentFvNameValue = AllocateCopyPool (sizeof (EFI_GUID), ParentFvName);\r
+ ASSERT (ParentFvNameValue != NULL);\r
+ FvInfoPpi->ParentFvName = ParentFvNameValue;\r
+ }\r
+ if (ParentFileName != NULL) {\r
+ ParentFileNameValue = AllocateCopyPool (sizeof (EFI_GUID), ParentFileName);\r
+ ASSERT (ParentFileNameValue != NULL);\r
+ FvInfoPpi->ParentFileName = ParentFileNameValue;\r
+ }\r
\r
FvInfoPpiDescriptor = AllocateCopyPool (sizeof(EFI_PEI_PPI_DESCRIPTOR), mPpiListTemplate);\r
ASSERT (FvInfoPpiDescriptor != NULL);\r