]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c
SMM driver should link UefiRuntimeLib.
[mirror_edk2.git] / MdeModulePkg / Core / Pei / Dispatcher / Dispatcher.c
index 067096c5954b4600a1ea9ecfc19875f463d03a14..c63bce8fd8afae409e6e8f8f7a9b307f6b1f66fc 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   EFI PEI Core dispatch services\r
   \r
-Copyright (c) 2006 - 2009, Intel Corporation\r
+Copyright (c) 2006 - 2010, Intel Corporation\r
 All rights reserved. This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
 which accompanies this distribution.  The full text of the license may be found at\r
@@ -107,7 +107,7 @@ DiscoverPeimsAndOrderWithApriori (
       Status = FvPpi->GetFileInfo (FvPpi, AprioriFileHandle, &FileInfo);\r
       ASSERT_EFI_ERROR (Status);\r
       Private->AprioriCount = FileInfo.BufferSize & 0x00FFFFFF;\r
-      Private->AprioriCount -= sizeof (EFI_FFS_FILE_HEADER) - sizeof (EFI_COMMON_SECTION_HEADER);\r
+      Private->AprioriCount -= sizeof (EFI_COMMON_SECTION_HEADER);\r
       Private->AprioriCount /= sizeof (EFI_GUID);\r
 \r
       ZeroMem (FileGuid, sizeof (FileGuid));\r
@@ -417,7 +417,7 @@ PeiDispatcher (
 \r
               REPORT_STATUS_CODE_WITH_EXTENDED_DATA (\r
                 EFI_PROGRESS_CODE,\r
-                FixedPcdGet32(PcdStatusCodeValuePeimDispatch),\r
+                PcdGet32(PcdStatusCodeValuePeimDispatch),\r
                 (VOID *)(&ExtendedData),\r
                 sizeof (ExtendedData)\r
                 );\r
@@ -442,7 +442,7 @@ PeiDispatcher (
 \r
               REPORT_STATUS_CODE_WITH_EXTENDED_DATA (\r
                 EFI_PROGRESS_CODE,\r
-                FixedPcdGet32(PcdStatusCodeValuePeimDispatch),\r
+                PcdGet32(PcdStatusCodeValuePeimDispatch),\r
                 (VOID *)(&ExtendedData),\r
                 sizeof (ExtendedData)\r
                 );\r
@@ -478,10 +478,10 @@ PeiDispatcher (
               //\r
               OldPeiStackSize = (UINT64) SecCoreData->StackSize;\r
               NewPeiStackSize = (RShiftU64 (Private->PhysicalMemoryLength, 1) + EFI_PAGE_MASK) & ~EFI_PAGE_MASK;\r
-              if (FixedPcdGet32(PcdPeiCoreMaxPeiStackSize) > (UINT32) NewPeiStackSize) {\r
+              if (PcdGet32(PcdPeiCoreMaxPeiStackSize) > (UINT32) NewPeiStackSize) {\r
                 Private->StackSize = NewPeiStackSize;\r
               } else {\r
-                Private->StackSize = FixedPcdGet32(PcdPeiCoreMaxPeiStackSize);\r
+                Private->StackSize = PcdGet32(PcdPeiCoreMaxPeiStackSize);\r
               }\r
 \r
               //\r
@@ -721,6 +721,8 @@ InitializeDispatcherData (
   if (OldCoreData == NULL) {\r
     PrivateData->PeimDispatcherReenter = FALSE;\r
     PeiInitializeFv (PrivateData, SecCoreData);\r
+  } else {\r
+    PeiReinitializeFv (PrivateData);\r
   }\r
 \r
   return;\r