]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Core/Pei/Ppi/Ppi.c
Update the copyright notice format
[mirror_edk2.git] / MdeModulePkg / Core / Pei / Ppi / Ppi.c
index 0649859f3ed3d0d47684caeb4c9c0337aed6829d..8089796d7b62ba400cf9bbb09c186a287818b987 100644 (file)
@@ -1,8 +1,8 @@
 /** @file\r
   EFI PEI Core PPI services\r
   \r
-Copyright (c) 2006, Intel Corporation\r
-All rights reserved. This program and the accompanying materials\r
+Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
+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
 http://opensource.org/licenses/bsd-license.php\r
@@ -12,7 +12,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
 **/\r
 \r
-#include <PeiMain.h>\r
+#include "PeiMain.h"\r
 \r
 /**\r
 \r
@@ -38,11 +38,13 @@ InitializePpiServices (
 \r
 /**\r
 \r
-  Migrate the Hob list from the CAR stack to PEI installed memory.\r
+  Migrate the Hob list from the temporary memory 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
@@ -114,7 +116,7 @@ ConvertPpiPointers (
 \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
@@ -147,8 +149,9 @@ PeiInstallPpi (
 \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
+    // PcdPeiCoreMaxPpiSupported can be set to a larger value in DSC to satisfy more PPI requirement.\r
     //\r
     if (Index == PrivateData->PpiData.NotifyListEnd + 1) {\r
       return  EFI_OUT_OF_RESOURCES;\r
@@ -160,7 +163,7 @@ PeiInstallPpi (
     //\r
     if ((PpiList->Flags & EFI_PEI_PPI_DESCRIPTOR_PPI) == 0) {\r
       PrivateData->PpiData.PpiListEnd = LastCallbackInstall;\r
-      DEBUG((EFI_D_ERROR, "ERROR -> InstallPpi: %g %x\n", PpiList->Guid, PpiList->Ppi));\r
+      DEBUG((EFI_D_ERROR, "ERROR -> InstallPpi: %g %p\n", PpiList->Guid, PpiList->Ppi));\r
       return  EFI_INVALID_PARAMETER;\r
     }\r
 \r
@@ -251,6 +254,7 @@ PeiReInstallPpi (
   // Remove the old PPI from the database, add the new one.\r
   //\r
   DEBUG((EFI_D_INFO, "Reinstall PPI: %g\n", NewPpi->Guid));\r
+  ASSERT (Index < (INTN)(FixedPcdGet32 (PcdPeiCoreMaxPpiSupported)));\r
   PrivateData->PpiData.PpiListPtrs[Index].Ppi = (EFI_PEI_PPI_DESCRIPTOR *) NewPpi;\r
 \r
   //\r
@@ -389,6 +393,7 @@ PeiNotifyPpi (
     //\r
     // Since PpiData is used for NotifyList and InstallList, max resource\r
     // is reached if the Install reaches the PpiList\r
+    // PcdPeiCoreMaxPpiSupported can be set to a larger value in DSC to satisfy more Notify PPIs requirement.\r
     //\r
     if (Index == PrivateData->PpiData.PpiListEnd - 1) {\r
       return  EFI_OUT_OF_RESOURCES;\r
@@ -399,7 +404,7 @@ PeiNotifyPpi (
     //\r
     if ((NotifyList->Flags & EFI_PEI_PPI_DESCRIPTOR_NOTIFY_TYPES) == 0) {\r
         PrivateData->PpiData.NotifyListEnd = LastCallbackNotify;\r
-        DEBUG((EFI_D_ERROR, "ERROR -> InstallNotify: %g %x\n", NotifyList->Guid, NotifyList->Notify));\r
+        DEBUG((EFI_D_ERROR, "ERROR -> InstallNotify: %g %p\n", NotifyList->Guid, NotifyList->Notify));\r
       return  EFI_INVALID_PARAMETER;\r
     }\r
 \r
@@ -567,12 +572,12 @@ DispatchNotify (
           (((INT32 *)SearchGuid)[1] == ((INT32 *)CheckGuid)[1]) &&\r
           (((INT32 *)SearchGuid)[2] == ((INT32 *)CheckGuid)[2]) &&\r
           (((INT32 *)SearchGuid)[3] == ((INT32 *)CheckGuid)[3])) {\r
-        DEBUG ((EFI_D_INFO, "Notify: PPI Guid: %g, Peim notify entry point: %x\n",\r
+        DEBUG ((EFI_D_INFO, "Notify: PPI Guid: %g, Peim notify entry point: %p\n",\r
           SearchGuid,\r
           NotifyDescriptor->Notify\r
           ));\r
         NotifyDescriptor->Notify (\r
-                            GetPeiServicesTablePointer (),\r
+                            (EFI_PEI_SERVICES **) GetPeiServicesTablePointer (),\r
                             NotifyDescriptor,\r
                             (PrivateData->PpiData.PpiListPtrs[Index2].Ppi)->Ppi\r
                             );\r