]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Core/Pei/PeiMain.h
Update prototype of DxeLoadCore().
[mirror_edk2.git] / MdeModulePkg / Core / Pei / PeiMain.h
index 6653240c0ecbcc300e5277349e56e666c95d6429..b1ccf5aaab17f53746a3e4a8ee4c3c41ce1aae3e 100644 (file)
@@ -137,6 +137,9 @@ typedef struct{
   UINTN                              CurrentPeimFvCount;\r
   UINTN                              CurrentPeimCount;\r
   EFI_PEI_FILE_HANDLE                CurrentFileHandle;\r
+  BOOLEAN                            PeimNeedingDispatch;\r
+  BOOLEAN                            PeimDispatchOnThisPass;\r
+  BOOLEAN                            PeimDispatcherReenter;\r
   UINTN                              AllFvCount;\r
   EFI_PEI_FV_HANDLE                  AllFv[FixedPcdGet32 (PcdPeiCoreMaxFvSupported)];\r
   EFI_PEI_HOB_POINTERS               HobList;\r
@@ -144,14 +147,9 @@ typedef struct{
   BOOLEAN                            PeiMemoryInstalled;\r
   EFI_PHYSICAL_ADDRESS               StackBase;\r
   UINT64                             StackSize;\r
-  VOID                               *BottomOfCarHeap;\r
-  VOID                               *TopOfCarHeap;\r
   VOID                               *CpuIo;\r
   EFI_PEI_SECURITY2_PPI              *PrivateSecurityPpi;\r
   EFI_PEI_SERVICES                   ServiceTableShadow;\r
-  UINTN                              SizeOfTemporaryMemory;\r
-  UINTN                              SizeOfCacheAsRam;\r
-  VOID                               *MaxTopOfCarHeap;\r
   EFI_PEI_PPI_DESCRIPTOR             *XipLoadFile;\r
   EFI_PHYSICAL_ADDRESS               PhysicalMemoryBegin;\r
   UINT64                             PhysicalMemoryLength;\r
@@ -275,9 +273,7 @@ PeimDispatchReadiness (
 /**\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
@@ -317,10 +313,10 @@ InitializeDispatcherData (
 \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
@@ -352,12 +348,13 @@ InitializePpiServices (
 \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
@@ -373,14 +370,14 @@ ConvertPpiPointers (
 \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
@@ -402,7 +399,7 @@ PeiInstallPpi (
 \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
@@ -1060,7 +1057,7 @@ InitializeImageServices (
   @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