]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Merge in bug fix from EDK1's PiPei Dispatcher.c
authorqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 28 Sep 2007 14:27:53 +0000 (14:27 +0000)
committerqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 28 Sep 2007 14:27:53 +0000 (14:27 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3973 6f19259b-4bc3-4df7-8a09-765794883524

MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c

index b9780a2c7b46b75577bc90ea1848998111d78aa6..9d73c53bb1cbc2b9eb2859502b20bfc23b862526 100644 (file)
@@ -228,6 +228,7 @@ Returns:
   BOOLEAN                             PeimNeedingDispatch;\r
   BOOLEAN                             PeimDispatchOnThisPass;\r
   UINTN                               SaveCurrentPeimCount;\r
+  UINTN                               SaveCurrentFvCount;\r
   EFI_PEI_FILE_HANDLE                 SaveCurrentFileHandle;\r
   VOID                                *TopOfStack;\r
   PEI_CORE_PARAMETERS                 PeiCoreParameters;\r
@@ -244,9 +245,10 @@ Returns:
     // update the modules' status from PEIM_STATE_REGISITER_FOR_SHADOW to PEIM_STATE_DONE.\r
     //\r
     SaveCurrentPeimCount  = Private->CurrentPeimCount;\r
+    SaveCurrentFvCount    = Private->CurrentPeimFvCount;\r
     SaveCurrentFileHandle =  Private->CurrentFileHandle;\r
 \r
-    for (Index1 = 0;Index1 <= Private->CurrentPeimFvCount; Index1++) {\r
+    for (Index1 = 0; Index1 <= SaveCurrentFvCount; Index1++) {\r
       for (Index2 = 0; (Index2 < PEI_CORE_MAX_PEIM_PER_FV) && (Private->Fv[Index1].FvFileHandles[Index2] != NULL); Index2++) {\r
         if (Private->Fv[Index1].PeimState[Index2] == PEIM_STATE_REGISITER_FOR_SHADOW) {\r
           PeimFileHandle = Private->Fv[Index1].FvFileHandles[Index2];  \r
@@ -261,8 +263,9 @@ Returns:
             // PEIM_STATE_REGISITER_FOR_SHADOW move to PEIM_STATE_DONE\r
             //\r
             Private->Fv[Index1].PeimState[Index2]++;\r
-            Private->CurrentFileHandle = PeimFileHandle;\r
-            Private->CurrentPeimCount  = Index2;        \r
+            Private->CurrentFileHandle   = PeimFileHandle;\r
+            Private->CurrentPeimFvCount  = Index1;        \r
+            Private->CurrentPeimCount    = Index2;        \r
             //\r
             // Call the PEIM entry point\r
             //\r
@@ -281,8 +284,9 @@ Returns:
         }\r
       }\r
     }\r
-    Private->CurrentFileHandle = SaveCurrentFileHandle;   \r
-    Private->CurrentPeimCount  = SaveCurrentPeimCount;    \r
+    Private->CurrentFileHandle  = SaveCurrentFileHandle;   \r
+    Private->CurrentPeimFvCount = SaveCurrentFvCount;    \r
+    Private->CurrentPeimCount   = SaveCurrentPeimCount;    \r
   }\r
 \r
   //\r