@param FileHandle Handle of file image\r
@param VolumeHandle Handle of FV\r
\r
- @return EDES_TODO: Add description for return value\r
+ @retval TRUE Success to find FV and return FV handle that contains file by given\r
+ file name.\r
+ @retval FALSE Can not find the FV that contains file by given file name.\r
\r
**/\r
BOOLEAN\r
/**\r
Process Firmware Volum Information once FvInfoPPI install.\r
\r
-\r
- @param PeiServices - General purpose services available to every PEIM.\r
- @param NotifyDescriptor EDES_TODO: Add parameter description\r
- @param Ppi EDES_TODO: Add parameter description\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 if the interface could be successfully installed\r
\r
when meeting an encapsuled section.\r
\r
\r
- @param PeiServices - General purpose services available to every PEIM.\r
- SearchType - Filter to find only section of this type.\r
- @param SectionType EDES_TODO: Add parameter description\r
- @param Section - From where to search.\r
- @param SectionSize - The file size to search.\r
- @param OutputBuffer - Pointer to the section to search.\r
+ @param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation.\r
+ @param SectionType Filter to find only section of this type.\r
+ @param Section From where to search.\r
+ @param SectionSize The file size to search.\r
+ @param OutputBuffer Pointer to the section to search.\r
\r
- @return EFI_STATUS\r
+ @retval EFI_NOT_FOUND Can not find the section by given section type.\r
+ @retval EFI_SUCCESS Success to find the section and process section correctly.\r
\r
**/\r
EFI_STATUS\r
/**\r
Conduct PEIM dispatch.\r
\r
- @param SecCoreData Points to a data structure containing information about the PEI core's operating\r
- environment, such as the size and location of temporary RAM, the stack location and\r
- the BFV location.\r
+ @param SecCoreData Pointer to the data structure containing SEC to PEI handoff data\r
@param PrivateData Pointer to the private data passed in from caller\r
\r
@retval EFI_SUCCESS Successfully dispatched PEIM.\r
\r
@param Private PeiCore's private data structure\r
@param FileHandle PEIM's file handle\r
- @param PeimCount Peim count in all dispatched PEIMs.\r
+ @param PeimCount The index of last dispatched PEIM.\r
\r
- @retval TRUE Can be dispatched\r
- @retval FALSE Cannot be dispatched\r
+ @retval TRUE Can be dispatched\r
+ @retval FALSE Cannot be dispatched\r
\r
**/\r
BOOLEAN\r
\r
/**\r
\r
- Convert Ppi description and PpiData pointer in heap after temporary memory\r
- is migrated to permenent memory.\r
- \r
- @param PrivateData PeiCore's private data structure\r
- @param OldCheckingBottom The old checking bottom.\r
- @param OldCheckingTop The old checking top.\r
+ Migrate the Hob list from the CAR stack to PEI installed memory.\r
+\r
+ @param PrivateData Pointer to PeiCore's private data structure.\r
+ @param OldCheckingBottom Bottom of temporary memory range. All Ppi in this range\r
+ will be fixup for PpiData and PpiDescriptor pointer.\r
+ @param OldCheckingTop Top of temporary memory range. All Ppi in this range\r
+ will be fixup for PpiData and PpiDescriptor.\r
@param Fixup The address difference between\r
the new Hob list and old Hob list.\r
\r
\r
/**\r
\r
- Install PPI services.\r
+ Install PPI services. It is implementation of EFI_PEI_SERVICE.InstallPpi.\r
\r
@param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation.\r
@param PpiList Pointer to ppi array that want to be installed.\r
\r
@retval EFI_SUCCESS if all PPIs in PpiList are successfully installed.\r
@retval EFI_INVALID_PARAMETER if PpiList is NULL pointer\r
- @retval EFI_INVALID_PARAMETER if any PPI in PpiList is not valid\r
+ if any PPI in PpiList is not valid\r
@retval EFI_OUT_OF_RESOURCES if there is no more memory resource to install PPI\r
\r
**/\r
\r
@retval EFI_SUCCESS if the operation was successful\r
@retval EFI_INVALID_PARAMETER if OldPpi or NewPpi is NULL\r
- @retval EFI_INVALID_PARAMETER if NewPpi is not valid\r
+ if NewPpi is not valid\r
@retval EFI_NOT_FOUND if the PPI was not in the database\r
\r
**/\r
@param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation.\r
@param FileHandle File handle of a Fv type file.\r
@param AuthenticationState Pointer to attestation authentication state of image.\r
-\r
+ If return 0, means pass security checking.\r
\r
@retval EFI_NOT_FOUND FV image can't be found.\r
@retval EFI_SUCCESS Successfully to process it.\r
#/** @file\r
-# Component description file for PeiMain module\r
+# PeiMain module is core module in PEI phase. It take reponsiblities of:\r
+# 1) Initialize memory, ppi, image services etc, to establish PEIM runtime environment.\r
+# 2) Dispatch PEIM from discoveried FV.\r
+# 3) Handoff control to DxeIpl to load dxe core and enter DXE phase.\r
#\r
# This module provide an DXE CIS compliant implementation.\r
# Copyright (c) 2006 - 2007, Intel Corporation\r
[FeaturePcd.common]\r
gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreImageLoaderSearchTeSectionFirst\r
\r
-[BuildOptions.common]\r
- MSFT:*_*_*_CC_FLAGS = /Fa$* /FAsc /FR$(@R).SBR\r
Migrate the Hob list from the CAR stack to PEI installed memory.\r
\r
@param PrivateData Pointer to PeiCore's private data structure.\r
- @param OldCheckingBottom The old checking bottom.\r
- @param OldCheckingTop The old checking top.\r
+ @param OldCheckingBottom Bottom of temporary memory range. All Ppi in this range\r
+ will be fixup for PpiData and PpiDescriptor pointer.\r
+ @param OldCheckingTop Top of temporary memory range. All Ppi in this range\r
+ will be fixup for PpiData and PpiDescriptor.\r
@param Fixup The address difference between\r
the new Hob list and old Hob list.\r
\r
\r
@retval EFI_SUCCESS if all PPIs in PpiList are successfully installed.\r
@retval EFI_INVALID_PARAMETER if PpiList is NULL pointer\r
- @retval EFI_INVALID_PARAMETER if any PPI in PpiList is not valid\r
+ if any PPI in PpiList is not valid\r
@retval EFI_OUT_OF_RESOURCES if there is no more memory resource to install PPI\r
\r
**/\r
\r
for (;;) {\r
//\r
- // Since PpiData is used for NotifyList and InstallList, max resource\r
+ // Since PpiData is used for NotifyList and PpiList, max resource\r
// is reached if the Install reaches the NotifyList\r
//\r
if (Index == PrivateData->PpiData.NotifyListEnd + 1) {\r