]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Merge the PI enabling works from the branch
authorqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 4 Sep 2007 06:12:48 +0000 (06:12 +0000)
committerqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 4 Sep 2007 06:12:48 +0000 (06:12 +0000)
First round of PI enabling work:
1) PiPeiCis changes (CONST, EFI_PEI_FILE_HANDLE.. etc)
2) Make use of FirmwareVolume 2 protocol.
3) Verified for Nt32Pkg and real platform for S3.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3773 6f19259b-4bc3-4df7-8a09-765794883524

22 files changed:
MdeModulePkg/Core/Dxe/Dispatcher/Dispatcher.c
MdeModulePkg/Core/Dxe/DxeMain.h
MdeModulePkg/Core/Dxe/DxeMain.inf
MdeModulePkg/Core/Dxe/FwVol/FwVol.c
MdeModulePkg/Core/Dxe/FwVol/FwVolAttrib.c
MdeModulePkg/Core/Dxe/FwVol/FwVolRead.c
MdeModulePkg/Core/Dxe/FwVol/FwVolWrite.c
MdeModulePkg/Core/Dxe/FwVolBlock/FwVolBlock.c
MdeModulePkg/Core/Dxe/FwVolDriver.h
MdeModulePkg/Core/Dxe/Image/ImageFile.c
MdeModulePkg/Core/DxeIplPeim/DxeLoad.c
MdeModulePkg/Core/Pei/BootMode/BootMode.c
MdeModulePkg/Core/Pei/FwVol/FwVol.c
MdeModulePkg/Core/Pei/Hob/Hob.c
MdeModulePkg/Core/Pei/Memory/MemoryServices.c
MdeModulePkg/Core/Pei/PeiMain.h
MdeModulePkg/Core/Pei/Ppi/Ppi.c
MdeModulePkg/Core/Pei/StatusCode/StatusCode.c
MdeModulePkg/Universal/MemoryTest/BaseMemoryTestPei/BaseMemoryTest.c
MdeModulePkg/Universal/MemoryTest/BaseMemoryTestPei/BaseMemoryTestPei.inf
MdeModulePkg/Universal/PcatSingleSegmentPciCfg2Pei/PciCfg2.c
MdeModulePkg/Universal/Variable/Pei/Variable.c

index 3de4edf00ce78a6dd913bb3735ad0c0a0099adad..c7b4cc3e12a9a0f1f4e7d225acb18f7b9ed4a4da 100644 (file)
@@ -118,7 +118,7 @@ CoreFwVolEventProtocolNotify (
 STATIC\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 CoreFvToDevicePath (\r
-  IN  EFI_FIRMWARE_VOLUME_PROTOCOL    *Fv,\r
+  IN  EFI_FIRMWARE_VOLUME2_PROTOCOL   *Fv,\r
   IN  EFI_HANDLE                      FvHandle,\r
   IN  EFI_GUID                        *DriverName\r
   );\r
@@ -126,7 +126,7 @@ CoreFvToDevicePath (
 STATIC \r
 EFI_STATUS\r
 CoreAddToDriverList (\r
-  IN  EFI_FIRMWARE_VOLUME_PROTOCOL  *Fv,\r
+  IN  EFI_FIRMWARE_VOLUME2_PROTOCOL *Fv,\r
   IN  EFI_HANDLE                    FvHandle,\r
   IN  EFI_GUID                      *DriverName\r
   );\r
@@ -134,7 +134,7 @@ CoreAddToDriverList (
 STATIC\r
 EFI_STATUS \r
 CoreProcessFvImageFile (\r
-  IN  EFI_FIRMWARE_VOLUME_PROTOCOL    *Fv,\r
+  IN  EFI_FIRMWARE_VOLUME2_PROTOCOL   *Fv,\r
   IN  EFI_HANDLE                      FvHandle,\r
   IN  EFI_GUID                        *DriverName\r
   );\r
@@ -218,7 +218,7 @@ Returns:
   EFI_STATUS                    Status;\r
   EFI_SECTION_TYPE              SectionType;\r
   UINT32                        AuthenticationStatus;\r
-  EFI_FIRMWARE_VOLUME_PROTOCOL  *Fv;\r
+  EFI_FIRMWARE_VOLUME2_PROTOCOL *Fv;\r
 \r
   \r
   Fv = DriverEntry->Fv;\r
@@ -670,7 +670,7 @@ Returns:
 STATIC\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 CoreFvToDevicePath (\r
-  IN  EFI_FIRMWARE_VOLUME_PROTOCOL    *Fv,\r
+  IN  EFI_FIRMWARE_VOLUME2_PROTOCOL   *Fv,\r
   IN  EFI_HANDLE                      FvHandle,\r
   IN  EFI_GUID                        *DriverName\r
   )\r
@@ -727,7 +727,7 @@ Returns:
 \r
 EFI_STATUS\r
 CoreAddToDriverList (\r
-  IN  EFI_FIRMWARE_VOLUME_PROTOCOL    *Fv,\r
+  IN  EFI_FIRMWARE_VOLUME2_PROTOCOL   *Fv,\r
   IN  EFI_HANDLE                      FvHandle,\r
   IN  EFI_GUID                        *DriverName\r
   )\r
@@ -843,7 +843,7 @@ Returns:
 \r
 EFI_STATUS \r
 CoreProcessFvImageFile (\r
-  IN  EFI_FIRMWARE_VOLUME_PROTOCOL    *Fv,\r
+  IN  EFI_FIRMWARE_VOLUME2_PROTOCOL   *Fv,\r
   IN  EFI_HANDLE                      FvHandle,\r
   IN  EFI_GUID                        *DriverName\r
   )\r
@@ -955,7 +955,7 @@ Returns:
   EFI_STATUS                    Status;\r
   EFI_STATUS                    GetNextFileStatus;\r
   EFI_STATUS                    SecurityStatus;\r
-  EFI_FIRMWARE_VOLUME_PROTOCOL  *Fv;\r
+  EFI_FIRMWARE_VOLUME2_PROTOCOL *Fv;\r
   EFI_DEVICE_PATH_PROTOCOL      *FvDevicePath;\r
   EFI_HANDLE                    FvHandle;\r
   UINTN                         BufferSize;\r
@@ -1011,7 +1011,7 @@ Returns:
     FvIsBeingProcesssed (FvHandle);\r
 \r
 \r
-    Status = CoreHandleProtocol (FvHandle, &gEfiFirmwareVolumeProtocolGuid, (VOID **)&Fv);\r
+    Status = CoreHandleProtocol (FvHandle, &gEfiFirmwareVolume2ProtocolGuid, (VOID **)&Fv);\r
     if (EFI_ERROR (Status)) {\r
       //\r
       // The Handle has a FirmwareVolumeDispatch protocol and should also contiain\r
@@ -1186,7 +1186,7 @@ Returns:
 --*/\r
 {\r
   mFwVolEvent = CoreCreateProtocolNotifyEvent (\r
-                  &gEfiFirmwareVolumeProtocolGuid, \r
+                  &gEfiFirmwareVolume2ProtocolGuid, \r
                   TPL_CALLBACK,\r
                   CoreFwVolEventProtocolNotify,\r
                   NULL,\r
index 1edc84f26f797b3f16b9fbf8787c89303ed1c91a..c5c4f34c49602a9aa05fdad57749f421c221fbb7 100644 (file)
@@ -48,7 +48,7 @@ Revision History
 #include <Protocol/RealTimeClock.h>\r
 #include <Guid/Apriori.h>\r
 #include <Protocol/WatchdogTimer.h>\r
-#include <Protocol/FirmwareVolume.h>\r
+#include <Protocol/FirmwareVolume2.h>\r
 #include <Protocol/MonotonicCounter.h>\r
 #include <Guid/DxeServices.h>\r
 #include <Guid/MemoryAllocationHob.h>\r
@@ -155,7 +155,7 @@ typedef struct {
   EFI_HANDLE                      FvHandle;\r
   EFI_GUID                        FileName;\r
   EFI_DEVICE_PATH_PROTOCOL        *FvFileDevicePath;\r
-  EFI_FIRMWARE_VOLUME_PROTOCOL    *Fv;\r
+  EFI_FIRMWARE_VOLUME2_PROTOCOL   *Fv;\r
 \r
   VOID                            *Depex;\r
   UINTN                           DepexSize;\r
index 6f931477836bc3c458b2d53fb09fd48bdcd3eaba..3b8519b6dbfe4e3f7fdd3954f3a6fd6525ccb9fa 100644 (file)
   gEfiDriverBindingProtocolGuid                 # PROTOCOL SOMETIMES_CONSUMED\r
   gEfiFirmwareVolumeBlockProtocolGuid           # PROTOCOL ALWAYS_PRODUCED\r
   gEfiFirmwareVolumeDispatchProtocolGuid        # PROTOCOL ALWAYS_PRODUCED\r
-  gEfiFirmwareVolumeProtocolGuid                # PROTOCOL ALWAYS_PRODUCED\r
+  gEfiFirmwareVolume2ProtocolGuid               # PROTOCOL ALWAYS_PRODUCED\r
   gEfiCpuArchProtocolGuid                       # PROTOCOL ALWAYS_CONSUMED\r
   gEfiDevicePathProtocolGuid                    # PROTOCOL ALWAYS_CONSUMED\r
   gEfiLoadedImageProtocolGuid                   # PROTOCOL ALWAYS_PRODUCED\r
index 98550c96eb01db332e882226e4e2edcb1438674e..c89dc8c2ed30e185aa770193f380eccc5e05b2b4 100644 (file)
@@ -25,7 +25,7 @@ VOID          *gEfiFwVolBlockNotifyReg;
 EFI_EVENT     gEfiFwVolBlockEvent;\r
 \r
 FV_DEVICE mFvDevice = {\r
-  FV_DEVICE_SIGNATURE,\r
+  FV2_DEVICE_SIGNATURE,\r
   NULL,\r
   NULL,\r
   {\r
@@ -35,7 +35,10 @@ FV_DEVICE mFvDevice = {
     FvReadFileSection,\r
     FvWriteFile,\r
     FvGetNextFile,\r
-    KEYSIZE\r
+    KEYSIZE,\r
+    NULL,\r
+    FvGetVolumeInfo,\r
+    FvSetVolumeInfo\r
   },\r
   NULL,\r
   NULL,\r
@@ -389,8 +392,8 @@ NotifyFwVolBlock (
 Routine Description:\r
     This notification function is invoked when an instance of the\r
     EFI_FW_VOLUME_BLOCK_PROTOCOL is produced.  It layers an instance of the\r
-    EFI_FIRMWARE_VOLUME_PROTOCOL on the same handle.  This is the function where\r
-    the actual initialization of the EFI_FIRMWARE_VOLUME_PROTOCOL is done.\r
+    EFI_FIRMWARE_VOLUME2_PROTOCOL on the same handle.  This is the function where\r
+    the actual initialization of the EFI_FIRMWARE_VOLUME2_PROTOCOL is done.\r
 \r
 Arguments:\r
     Event - The event that occured\r
@@ -406,7 +409,7 @@ Returns:
   EFI_STATUS                            Status;\r
   UINTN                                 BufferSize;\r
   EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL    *Fvb;\r
-  EFI_FIRMWARE_VOLUME_PROTOCOL          *Fv;\r
+  EFI_FIRMWARE_VOLUME2_PROTOCOL         *Fv;\r
   FV_DEVICE                             *FvDevice;\r
   EFI_FIRMWARE_VOLUME_HEADER            *FwVolHeader;\r
   //\r
@@ -468,13 +471,13 @@ Returns:
     //\r
     // Check if there is an FV protocol already installed in that handle\r
     //\r
-    Status = CoreHandleProtocol (Handle, &gEfiFirmwareVolumeProtocolGuid, (VOID **)&Fv);\r
+    Status = CoreHandleProtocol (Handle, &gEfiFirmwareVolume2ProtocolGuid, (VOID **)&Fv);\r
     if (!EFI_ERROR (Status)) {\r
       //\r
       // Update Fv to use a new Fvb\r
       //\r
       FvDevice = _CR (Fv, FV_DEVICE, Fv);\r
-      if (FvDevice->Signature == FV_DEVICE_SIGNATURE) {\r
+      if (FvDevice->Signature == FV2_DEVICE_SIGNATURE) {\r
         //\r
         // Only write into our device structure if it's our device structure\r
         //\r
@@ -500,7 +503,7 @@ Returns:
       //\r
       Status = CoreInstallProtocolInterface (\r
                   &Handle,\r
-                  &gEfiFirmwareVolumeProtocolGuid,\r
+                  &gEfiFirmwareVolume2ProtocolGuid,\r
                   EFI_NATIVE_INTERFACE,\r
                   &FvDevice->Fv\r
                   );\r
index 4a31a8dcf653145f3a28ae1100ba785d29a227db..280978ed1a15fc44863ddf4031549f97366f3a5d 100644 (file)
@@ -24,8 +24,8 @@ Abstract:
 EFI_STATUS\r
 EFIAPI\r
 FvGetVolumeAttributes (\r
-  IN  EFI_FIRMWARE_VOLUME_PROTOCOL  *This,\r
-  OUT EFI_FV_ATTRIBUTES             *Attributes\r
+  IN  CONST EFI_FIRMWARE_VOLUME2_PROTOCOL *This,\r
+  OUT       EFI_FV_ATTRIBUTES             *Attributes\r
   )\r
 /*++\r
 \r
@@ -76,8 +76,8 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 FvSetVolumeAttributes (\r
-  IN EFI_FIRMWARE_VOLUME_PROTOCOL   *This,\r
-  IN OUT EFI_FV_ATTRIBUTES          *Attributes\r
+  IN     CONST EFI_FIRMWARE_VOLUME2_PROTOCOL  *This,\r
+  IN OUT       EFI_FV_ATTRIBUTES              *Attributes\r
   )\r
 /*++\r
 \r
@@ -97,3 +97,61 @@ Returns:
   return EFI_UNSUPPORTED;\r
 }\r
 \r
+EFI_STATUS\r
+EFIAPI\r
+FvGetVolumeInfo (\r
+  IN  CONST EFI_FIRMWARE_VOLUME2_PROTOCOL       *This,\r
+  IN  CONST EFI_GUID                            *InformationType,\r
+  IN OUT UINTN                                  *BufferSize,\r
+  OUT VOID                                      *Buffer\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+  Return information of type InformationType for the requested firmware\r
+  volume.\r
+  \r
+Arguments:\r
+    This                - Pointer to EFI_FIRMWARE_VOLUME2_PROTOCOL.\r
+    InformationType     - InformationType for requested.\r
+    BufferSize          - On input, size of Buffer.On output, the amount of\r
+                          data returned in Buffer.\r
+    Buffer              - A poniter to the data buffer to return.\r
+Returns:\r
+    EFI_SUCCESS         - Successfully got volume Information.\r
+\r
+--*/\r
+{\r
+  return EFI_UNSUPPORTED;\r
+}\r
+\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+FvSetVolumeInfo (\r
+  IN  CONST EFI_FIRMWARE_VOLUME2_PROTOCOL       *This,\r
+  IN  CONST EFI_GUID                            *InformationType,\r
+  IN  UINTN                                     BufferSize,\r
+  IN CONST  VOID                                *Buffer\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+  Set information of type InformationType for the requested firmware\r
+  volume.\r
+\r
+Arguments:\r
+    This                - Pointer to EFI_FIRMWARE_VOLUME2_PROTOCOL.\r
+    InformationType     - InformationType for requested.\r
+    BufferSize          - On input, size of Buffer.On output, the amount of\r
+                          data returned in Buffer.\r
+    Buffer              - A poniter to the data buffer to return.\r
+Returns:\r
+    EFI_SUCCESS         - Successfully set volume Information.\r
+\r
+--*/\r
+{\r
+  return EFI_UNSUPPORTED;\r
+}\r
+\r
+\r
index 313b36e6f77e6158c114c4a97e09e25811a48979..a477ad488db21982c709e514316940673a1f38b2 100644 (file)
@@ -70,12 +70,12 @@ FfsAttributes2FvFileAttributes (
 EFI_STATUS\r
 EFIAPI\r
 FvGetNextFile (\r
-  IN         EFI_FIRMWARE_VOLUME_PROTOCOL   *This,\r
-  IN OUT     VOID                            *Key,\r
-  IN OUT     EFI_FV_FILETYPE                *FileType,\r
+  IN CONST   EFI_FIRMWARE_VOLUME2_PROTOCOL *This,\r
+  IN OUT     VOID                          *Key,\r
+  IN OUT     EFI_FV_FILETYPE               *FileType,\r
   OUT        EFI_GUID                      *NameGuid,\r
   OUT        EFI_FV_FILE_ATTRIBUTES        *Attributes,\r
-  OUT        UINTN                           *Size\r
+  OUT        UINTN                          *Size\r
   )\r
 /*++\r
 \r
@@ -140,7 +140,7 @@ Returns:
   //\r
   // Check if read operation is enabled\r
   //\r
-  if ((FvAttributes & EFI_FV_READ_STATUS) == 0) {\r
+  if ((FvAttributes & EFI_FV2_READ_STATUS) == 0) {\r
     return EFI_ACCESS_DENIED;\r
   }\r
 \r
@@ -227,13 +227,13 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 FvReadFile (\r
-  IN     EFI_FIRMWARE_VOLUME_PROTOCOL   *This,\r
-  IN     EFI_GUID                       *NameGuid,\r
-  IN OUT VOID                           **Buffer,\r
-  IN OUT UINTN                          *BufferSize,\r
-  OUT    EFI_FV_FILETYPE               *FoundType,\r
-  OUT    EFI_FV_FILE_ATTRIBUTES        *FileAttributes,\r
-  OUT    UINT32                        *AuthenticationStatus\r
+  IN CONST EFI_FIRMWARE_VOLUME2_PROTOCOL *This,\r
+  IN CONST EFI_GUID                      *NameGuid,\r
+  IN OUT   VOID                          **Buffer,\r
+  IN OUT   UINTN                         *BufferSize,\r
+  OUT      EFI_FV_FILETYPE               *FoundType,\r
+  OUT      EFI_FV_FILE_ATTRIBUTES        *FileAttributes,\r
+  OUT      UINT32                        *AuthenticationStatus\r
   )\r
 /*++\r
 \r
@@ -370,13 +370,13 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 FvReadFileSection (\r
-  IN     EFI_FIRMWARE_VOLUME_PROTOCOL   *This,\r
-  IN     EFI_GUID                       *NameGuid,\r
-  IN     EFI_SECTION_TYPE               SectionType,\r
-  IN     UINTN                          SectionInstance,\r
-  IN OUT VOID                           **Buffer,\r
-  IN OUT UINTN                          *BufferSize,\r
-  OUT    UINT32                         *AuthenticationStatus\r
+  IN CONST  EFI_FIRMWARE_VOLUME2_PROTOCOL  *This,\r
+  IN CONST  EFI_GUID                       *NameGuid,\r
+  IN        EFI_SECTION_TYPE               SectionType,\r
+  IN        UINTN                          SectionInstance,\r
+  IN OUT    VOID                           **Buffer,\r
+  IN OUT    UINTN                          *BufferSize,\r
+  OUT       UINT32                         *AuthenticationStatus\r
   )\r
 /*++\r
 \r
index 4368fe534ed4464b4bbb1e873f1cdfec2be58e63..bf075dca863333b695a52d20c77e0cb98993c048 100644 (file)
@@ -25,10 +25,10 @@ Abstract:
 EFI_STATUS\r
 EFIAPI\r
 FvWriteFile (\r
-  IN EFI_FIRMWARE_VOLUME_PROTOCOL   *This,\r
-  IN UINT32                         NumberOfFiles,\r
-  IN EFI_FV_WRITE_POLICY            WritePolicy,\r
-  IN EFI_FV_WRITE_FILE_DATA         *FileData\r
+  IN CONST EFI_FIRMWARE_VOLUME2_PROTOCOL  *This,\r
+  IN       UINT32                         NumberOfFiles,\r
+  IN       EFI_FV_WRITE_POLICY            WritePolicy,\r
+  IN       EFI_FV_WRITE_FILE_DATA         *FileData\r
   )\r
 /*++\r
 \r
index e07eea20f5a1e5beb862a38f9263ef56a4d4809c..e90a10bfdc1bb3aee228e2b3df9d75812a942ea4 100644 (file)
@@ -586,7 +586,7 @@ Returns:
   //\r
   if (!EFI_ERROR(Status)) {\r
     Ptr = NULL;\r
-    Status = CoreHandleProtocol (*FVProtocolHandle, &gEfiFirmwareVolumeProtocolGuid, (VOID **)&Ptr);\r
+    Status = CoreHandleProtocol (*FVProtocolHandle, &gEfiFirmwareVolume2ProtocolGuid, (VOID **)&Ptr);\r
     if (EFI_ERROR(Status) || (Ptr == NULL)) {\r
       return EFI_VOLUME_CORRUPTED;\r
     }\r
index fb4e0d5bb2527fcc86254c3e3831de22dd769b86..fe70090630f9f65620cf4a7bd11e772651f6b64c 100644 (file)
@@ -24,6 +24,8 @@ Abstract:
 #define __FWVOL_H\r
 \r
 \r
+#define FV2_DEVICE_SIGNATURE EFI_SIGNATURE_32 ('_', 'F', 'V', '2')\r
+\r
 //\r
 // Used to track all non-deleted files\r
 //\r
@@ -38,7 +40,7 @@ typedef struct {
   UINTN                                   Signature;\r
   EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL      *Fvb;\r
   EFI_HANDLE                              Handle;\r
-  EFI_FIRMWARE_VOLUME_PROTOCOL            Fv;\r
+  EFI_FIRMWARE_VOLUME2_PROTOCOL           Fv;\r
 \r
   EFI_FIRMWARE_VOLUME_HEADER              *FwVolHeader;\r
   UINT8                                   *CachedFv;\r
@@ -51,14 +53,14 @@ typedef struct {
   UINT8                                   ErasePolarity;\r
 } FV_DEVICE;\r
 \r
-#define FV_DEVICE_FROM_THIS(a) CR(a, FV_DEVICE, Fv, FV_DEVICE_SIGNATURE)\r
+#define FV_DEVICE_FROM_THIS(a) CR(a, FV_DEVICE, Fv, FV2_DEVICE_SIGNATURE)\r
 \r
 \r
 EFI_STATUS\r
 EFIAPI\r
 FvGetVolumeAttributes (\r
-  IN    EFI_FIRMWARE_VOLUME_PROTOCOL   *This,\r
-  OUT   EFI_FV_ATTRIBUTES              *Attributes\r
+  IN    CONST EFI_FIRMWARE_VOLUME2_PROTOCOL  *This,\r
+  OUT         EFI_FV_ATTRIBUTES              *Attributes\r
   )\r
 /*++\r
 \r
@@ -79,8 +81,8 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 FvSetVolumeAttributes (\r
-  IN     EFI_FIRMWARE_VOLUME_PROTOCOL   *This,\r
-  IN OUT EFI_FV_ATTRIBUTES              *Attributes\r
+  IN CONST  EFI_FIRMWARE_VOLUME2_PROTOCOL  *This,\r
+  IN OUT    EFI_FV_ATTRIBUTES              *Attributes\r
   )\r
 /*++\r
 \r
@@ -100,12 +102,12 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 FvGetNextFile (\r
-  IN     EFI_FIRMWARE_VOLUME_PROTOCOL   *This,\r
-  IN OUT VOID                           *Key,\r
-  IN OUT EFI_FV_FILETYPE                *FileType,\r
-  OUT    EFI_GUID                       *NameGuid,\r
-  OUT    EFI_FV_FILE_ATTRIBUTES         *Attributes,\r
-  OUT    UINTN                          *Size\r
+  IN CONST  EFI_FIRMWARE_VOLUME2_PROTOCOL  *This,\r
+  IN OUT    VOID                           *Key,\r
+  IN OUT    EFI_FV_FILETYPE                *FileType,\r
+  OUT       EFI_GUID                       *NameGuid,\r
+  OUT       EFI_FV_FILE_ATTRIBUTES         *Attributes,\r
+  OUT       UINTN                          *Size\r
   )\r
 /*++\r
 \r
@@ -156,13 +158,13 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 FvReadFile (\r
-  IN     EFI_FIRMWARE_VOLUME_PROTOCOL   *This,\r
-  IN     EFI_GUID                       *NameGuid,\r
-  IN OUT VOID                           **Buffer,\r
-  IN OUT UINTN                          *BufferSize,\r
-  OUT    EFI_FV_FILETYPE                *FoundType,\r
-  OUT    EFI_FV_FILE_ATTRIBUTES         *FileAttributes,\r
-  OUT    UINT32                         *AuthenticationStatus\r
+  IN CONST  EFI_FIRMWARE_VOLUME2_PROTOCOL   *This,\r
+  IN CONST  EFI_GUID                       *NameGuid,\r
+  IN OUT    VOID                           **Buffer,\r
+  IN OUT    UINTN                          *BufferSize,\r
+  OUT       EFI_FV_FILETYPE                *FoundType,\r
+  OUT       EFI_FV_FILE_ATTRIBUTES         *FileAttributes,\r
+  OUT       UINT32                         *AuthenticationStatus\r
   )\r
 /*++\r
 \r
@@ -207,13 +209,13 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 FvReadFileSection (\r
-  IN     EFI_FIRMWARE_VOLUME_PROTOCOL   *This,\r
-  IN     EFI_GUID                       *NameGuid,\r
-  IN     EFI_SECTION_TYPE               SectionType,\r
-  IN     UINTN                          SectionInstance,\r
-  IN OUT VOID                           **Buffer,\r
-  IN OUT UINTN                          *BufferSize,\r
-  OUT    UINT32                         *AuthenticationStatus\r
+  IN CONST  EFI_FIRMWARE_VOLUME2_PROTOCOL   *This,\r
+  IN CONST  EFI_GUID                       *NameGuid,\r
+  IN        EFI_SECTION_TYPE               SectionType,\r
+  IN        UINTN                          SectionInstance,\r
+  IN OUT    VOID                           **Buffer,\r
+  IN OUT    UINTN                          *BufferSize,\r
+  OUT       UINT32                         *AuthenticationStatus\r
   )\r
 /*++\r
 \r
@@ -248,10 +250,10 @@ FvReadFileSection (
 EFI_STATUS\r
 EFIAPI\r
 FvWriteFile (\r
-  IN EFI_FIRMWARE_VOLUME_PROTOCOL       *This,\r
-  IN UINT32                             NumberOfFiles,\r
-  IN EFI_FV_WRITE_POLICY                WritePolicy,\r
-  IN EFI_FV_WRITE_FILE_DATA             *FileData\r
+  IN CONST EFI_FIRMWARE_VOLUME2_PROTOCOL       *This,\r
+  IN       UINT32                             NumberOfFiles,\r
+  IN       EFI_FV_WRITE_POLICY                WritePolicy,\r
+  IN       EFI_FV_WRITE_FILE_DATA             *FileData\r
   )\r
 /*++\r
 \r
@@ -278,7 +280,58 @@ FvWriteFile (
 --*/\r
 ;\r
 \r
+EFI_STATUS\r
+EFIAPI\r
+FvGetVolumeInfo (\r
+  IN  CONST EFI_FIRMWARE_VOLUME2_PROTOCOL       *This,\r
+  IN  CONST EFI_GUID                            *InformationType,\r
+  IN  OUT   UINTN                               *BufferSize,\r
+  OUT       VOID                                *Buffer\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+  Return information of type InformationType for the requested firmware\r
+  volume.\r
+  \r
+Arguments:\r
+    This                - Pointer to EFI_FIRMWARE_VOLUME2_PROTOCOL.\r
+    InformationType     - InformationType for requested.\r
+    BufferSize          - On input, size of Buffer.On output, the amount of\r
+                          data returned in Buffer.\r
+    Buffer              - A poniter to the data buffer to return.\r
+Returns:\r
+    EFI_SUCCESS         - Successfully got volume Information.\r
+\r
+--*/\r
+;\r
+\r
 \r
+EFI_STATUS\r
+EFIAPI\r
+FvSetVolumeInfo (\r
+  IN  CONST EFI_FIRMWARE_VOLUME2_PROTOCOL       *This,\r
+  IN  CONST EFI_GUID                            *InformationType,\r
+  IN        UINTN                               BufferSize,\r
+  IN  CONST  VOID                               *Buffer\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+  Set information of type InformationType for the requested firmware\r
+  volume.\r
+\r
+Arguments:\r
+    This                - Pointer to EFI_FIRMWARE_VOLUME2_PROTOCOL.\r
+    InformationType     - InformationType for requested.\r
+    BufferSize          - On input, size of Buffer.On output, the amount of\r
+                          data returned in Buffer.\r
+    Buffer              - A poniter to the data buffer to return.\r
+Returns:\r
+    EFI_SUCCESS         - Successfully set volume Information.\r
+\r
+--*/\r
+;\r
   \r
 //\r
 //Internal functions\r
index 408688c69fd93025c000975ad040bd7dc556e158..029f7cf2a7830d2ec62898fd9861e2b6c56c058e 100644 (file)
@@ -74,7 +74,7 @@ Returns:
   EFI_FILE_HANDLE                   FileHandle;\r
   EFI_FILE_HANDLE                   LastHandle;\r
   EFI_LOAD_FILE_PROTOCOL            *LoadFile;\r
-  EFI_FIRMWARE_VOLUME_PROTOCOL      *FwVol;\r
+  EFI_FIRMWARE_VOLUME2_PROTOCOL     *FwVol;\r
   EFI_SECTION_TYPE                  SectionType;\r
   UINT8                             *Pe32Buffer;\r
   UINTN                             Pe32BufferSize;\r
@@ -115,7 +115,7 @@ Returns:
   //\r
   FwVolFilePathNode = (MEDIA_FW_VOL_FILEPATH_DEVICE_PATH *)FilePath;\r
   Status = CoreDevicePathToInterface (\r
-            &gEfiFirmwareVolumeProtocolGuid, \r
+            &gEfiFirmwareVolume2ProtocolGuid, \r
             (EFI_DEVICE_PATH_PROTOCOL **)&FwVolFilePathNode, \r
             (VOID*)&FwVol, \r
             DeviceHandle\r
index 8d3c29a5798fce41a5ab2b0689935487a66e984f..32486a2e75d77327d37b11466e53c315b9331015 100644 (file)
@@ -377,8 +377,8 @@ Returns:
 \r
     Status = PeiServicesFfsFindNextFile (\r
                Type,\r
-               FwVolHeader,\r
-               &FfsFileHeader\r
+               (EFI_PEI_FV_HANDLE)    FwVolHeader,\r
+               (EFI_PEI_FILE_HANDLE*) &FfsFileHeader\r
                );\r
     if (!EFI_ERROR (Status)) {\r
       Status = PeiProcessFile (\r
index bec03041131359642641107f4d2dd26a476810fb..fbfd02f84c40091a2806c4d942b0fc13fea4cf9c 100644 (file)
@@ -28,8 +28,8 @@ Revision History
 EFI_STATUS\r
 EFIAPI\r
 PeiGetBootMode (\r
-  IN EFI_PEI_SERVICES  **PeiServices,\r
-  OUT EFI_BOOT_MODE *BootMode\r
+  IN CONST EFI_PEI_SERVICES  **PeiServices,\r
+  OUT EFI_BOOT_MODE          *BootMode\r
   )\r
 /*++\r
 \r
@@ -71,8 +71,8 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiSetBootMode (\r
-  IN EFI_PEI_SERVICES  **PeiServices,\r
-  IN EFI_BOOT_MODE     BootMode\r
+  IN CONST EFI_PEI_SERVICES  **PeiServices,\r
+  IN EFI_BOOT_MODE           BootMode\r
   )\r
 /*++\r
 \r
index d144fb85ec68df2e76d42b98c9826f9affd39499..a5065632c3c7bf695ddfeea2ea920863eba9f125 100644 (file)
@@ -251,9 +251,9 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiFfsFindSectionData (\r
-  IN     EFI_PEI_SERVICES      **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES      **PeiServices,\r
   IN     EFI_SECTION_TYPE      SectionType,\r
-  IN     EFI_FFS_FILE_HEADER   *FfsFileHeader,\r
+  IN     EFI_PEI_FILE_HANDLE   FileHandle,\r
   IN OUT VOID                  **SectionData\r
   )\r
 /*++\r
@@ -279,8 +279,10 @@ Returns:
   EFI_COMMON_SECTION_HEADER     *Section;\r
   UINT32                        SectionLength;\r
   UINT32                        ParsedLength;\r
-  \r
+  EFI_FFS_FILE_HEADER           *FfsFileHeader;\r
 \r
+  FfsFileHeader = (EFI_FFS_FILE_HEADER *) FileHandle;\r
+  \r
   //\r
   // Size is 24 bits wide so mask upper 8 bits. \r
   //    Does not include FfsFileHeader header size\r
@@ -355,10 +357,10 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiFfsFindNextFile (\r
-  IN     EFI_PEI_SERVICES            **PeiServices,\r
-  IN     EFI_FV_FILETYPE             SearchType,\r
-  IN     EFI_FIRMWARE_VOLUME_HEADER  *FwVolHeader,\r
-  IN OUT EFI_FFS_FILE_HEADER         **FileHeader\r
+  IN CONST EFI_PEI_SERVICES      **PeiServices,\r
+  IN UINT8                       SearchType,\r
+  IN EFI_PEI_FV_HANDLE           VolumeHandle,\r
+  IN OUT EFI_PEI_FILE_HANDLE     *FileHandle\r
   )\r
 /*++\r
 \r
@@ -385,6 +387,12 @@ Returns:
 \r
 --*/\r
 {\r
+  EFI_FIRMWARE_VOLUME_HEADER  *FwVolHeader;\r
+  EFI_FFS_FILE_HEADER         **FileHeader;\r
+\r
+  FwVolHeader = (EFI_FIRMWARE_VOLUME_HEADER  *)VolumeHandle;\r
+  FileHeader = (EFI_FFS_FILE_HEADER **) FileHandle;\r
+\r
   return PeiFfsFindNextFileEx ( \r
            SearchType,\r
            FwVolHeader,\r
@@ -396,9 +404,9 @@ Returns:
 EFI_STATUS \r
 EFIAPI\r
 PeiFvFindNextVolume (\r
-  IN     EFI_PEI_SERVICES           **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES           **PeiServices,\r
   IN     UINTN                      Instance,\r
-  IN OUT EFI_FIRMWARE_VOLUME_HEADER **FwVolHeader\r
+  IN OUT EFI_PEI_FV_HANDLE          *VolumeHandle\r
   )\r
 /*++\r
 \r
@@ -429,7 +437,9 @@ Returns:
   EFI_STATUS              Status;\r
   EFI_PEI_FIND_FV_PPI     *FindFvPpi;\r
   UINT8                   LocalInstance;\r
+  EFI_FIRMWARE_VOLUME_HEADER **FwVolHeader;\r
 \r
+  FwVolHeader = (EFI_FIRMWARE_VOLUME_HEADER **) VolumeHandle;\r
 \r
   LocalInstance = (UINT8) Instance;\r
 \r
@@ -463,7 +473,7 @@ Returns:
     } else {\r
       Status = FindFvPpi->FindFv (\r
                             FindFvPpi,\r
-                            PeiServices,\r
+                            (EFI_PEI_SERVICES **)PeiServices,\r
                             &LocalInstance,\r
                             FwVolHeader\r
                             );  \r
index 9ac672b24d7a1df21bc3213904dd88299b457758..803a4e05de90cb52de8d992ed2258d56e388f648 100644 (file)
@@ -24,7 +24,7 @@ Abstract:
 EFI_STATUS\r
 EFIAPI\r
 PeiGetHobList (\r
-  IN EFI_PEI_SERVICES  **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES  **PeiServices,\r
   IN OUT VOID          **HobList\r
   )\r
 /*++\r
@@ -71,7 +71,7 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiCreateHob (\r
-  IN EFI_PEI_SERVICES  **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES  **PeiServices,\r
   IN UINT16            Type,\r
   IN UINT16            Length,\r
   IN OUT VOID          **Hob\r
index e623c0109924d0e66308c17c0e6df8444d43f86f..431084f83bcd3b310c638c1d059ae41020b8421d 100644 (file)
@@ -100,7 +100,7 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiInstallPeiMemory (\r
-  IN EFI_PEI_SERVICES      **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES      **PeiServices,\r
   IN EFI_PHYSICAL_ADDRESS  MemoryBegin,\r
   IN UINT64                MemoryLength\r
   )\r
@@ -182,7 +182,7 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiAllocatePages (\r
-  IN EFI_PEI_SERVICES           **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES           **PeiServices,\r
   IN EFI_MEMORY_TYPE            MemoryType,\r
   IN UINTN                      Pages,\r
   OUT EFI_PHYSICAL_ADDRESS      *Memory\r
@@ -275,7 +275,7 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiAllocatePool (\r
-  IN EFI_PEI_SERVICES           **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES           **PeiServices,\r
   IN UINTN                      Size,\r
   OUT VOID                      **Buffer\r
   )\r
index e71ae78b0439e96b877daa269bb6c4b93f8ae1ed..9e0d7a8530e9704c7f0eb4b10addb70943980c46 100644 (file)
@@ -462,7 +462,7 @@ Returns:
 \r
 VOID\r
 ConvertPpiPointers (\r
-  IN EFI_PEI_SERVICES              **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES              **PeiServices,\r
   IN EFI_HOB_HANDOFF_INFO_TABLE    *OldHandOffHob,\r
   IN EFI_HOB_HANDOFF_INFO_TABLE    *NewHandOffHob\r
   )\r
@@ -486,8 +486,8 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiInstallPpi (\r
-  IN EFI_PEI_SERVICES        **PeiServices,\r
-  IN EFI_PEI_PPI_DESCRIPTOR  *PpiList\r
+  IN CONST EFI_PEI_SERVICES        **PeiServices,\r
+  IN CONST EFI_PEI_PPI_DESCRIPTOR  *PpiList\r
   )\r
 /*++\r
 \r
@@ -513,9 +513,9 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiReInstallPpi (\r
-  IN EFI_PEI_SERVICES        **PeiServices,\r
-  IN EFI_PEI_PPI_DESCRIPTOR  *OldPpi,\r
-  IN EFI_PEI_PPI_DESCRIPTOR  *NewPpi\r
+  IN CONST EFI_PEI_SERVICES        **PeiServices,\r
+  IN CONST EFI_PEI_PPI_DESCRIPTOR  *OldPpi,\r
+  IN CONST EFI_PEI_PPI_DESCRIPTOR  *NewPpi\r
   )\r
 /*++\r
 \r
@@ -542,8 +542,8 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiLocatePpi (\r
-  IN EFI_PEI_SERVICES            **PeiServices,\r
-  IN EFI_GUID                    *Guid,\r
+  IN CONST EFI_PEI_SERVICES            **PeiServices,\r
+  IN CONST EFI_GUID                    *Guid,\r
   IN UINTN                       Instance,\r
   IN OUT EFI_PEI_PPI_DESCRIPTOR  **PpiDescriptor,\r
   IN OUT VOID                    **Ppi\r
@@ -573,8 +573,8 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiNotifyPpi (\r
-  IN EFI_PEI_SERVICES           **PeiServices,\r
-  IN EFI_PEI_NOTIFY_DESCRIPTOR  *NotifyList\r
+  IN CONST EFI_PEI_SERVICES           **PeiServices,\r
+  IN CONST EFI_PEI_NOTIFY_DESCRIPTOR  *NotifyList\r
   )\r
 /*++\r
 \r
@@ -617,7 +617,7 @@ Returns:
 \r
 VOID\r
 DispatchNotify (\r
-  IN EFI_PEI_SERVICES    **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES    **PeiServices,\r
   IN UINTN               NotifyType,\r
   IN INTN                InstallStartIndex,\r
   IN INTN                InstallStopIndex,\r
@@ -650,7 +650,7 @@ Returns:  None
 EFI_STATUS\r
 EFIAPI\r
 PeiGetBootMode (\r
-  IN EFI_PEI_SERVICES  **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES  **PeiServices,\r
   IN OUT EFI_BOOT_MODE *BootMode\r
   )\r
 /*++\r
@@ -675,7 +675,7 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiSetBootMode (\r
-  IN EFI_PEI_SERVICES  **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES  **PeiServices,\r
   IN EFI_BOOT_MODE     BootMode\r
   )\r
 /*++\r
@@ -772,7 +772,7 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiGetHobList (\r
-  IN EFI_PEI_SERVICES  **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES  **PeiServices,\r
   IN OUT VOID          **HobList\r
   )\r
 /*++\r
@@ -798,7 +798,7 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiCreateHob (\r
-  IN EFI_PEI_SERVICES  **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES  **PeiServices,\r
   IN UINT16            Type,\r
   IN UINT16            Length,\r
   IN OUT VOID          **Hob\r
@@ -858,10 +858,10 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiFfsFindNextFile (\r
-  IN EFI_PEI_SERVICES            **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES      **PeiServices,\r
   IN UINT8                       SearchType,\r
-  IN EFI_FIRMWARE_VOLUME_HEADER  *FwVolHeader,\r
-  IN OUT EFI_FFS_FILE_HEADER     **FileHeader\r
+  IN EFI_PEI_FV_HANDLE           FwVolHeader,\r
+  IN OUT EFI_PEI_FILE_HANDLE     *FileHeader\r
   )\r
 /*++\r
 \r
@@ -892,9 +892,9 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiFfsFindSectionData (\r
-  IN EFI_PEI_SERVICES            **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES            **PeiServices,\r
   IN EFI_SECTION_TYPE            SectionType,\r
-  IN EFI_FFS_FILE_HEADER         *FfsFileHeader,\r
+  IN EFI_PEI_FILE_HANDLE         FfsFileHeader,\r
   IN OUT VOID                    **SectionData\r
   )\r
 /*++\r
@@ -920,9 +920,9 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiFvFindNextVolume (\r
-  IN EFI_PEI_SERVICES                **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES                **PeiServices,\r
   IN UINTN                           Instance,\r
-  IN OUT EFI_FIRMWARE_VOLUME_HEADER  **FwVolHeader\r
+  IN OUT EFI_PEI_FV_HANDLE           *FwVolHeader\r
   )\r
 /*++\r
 \r
@@ -982,7 +982,7 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiInstallPeiMemory (\r
-  IN EFI_PEI_SERVICES      **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES      **PeiServices,\r
   IN EFI_PHYSICAL_ADDRESS  MemoryBegin,\r
   IN UINT64                MemoryLength\r
   )\r
@@ -1009,7 +1009,7 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiAllocatePages (\r
-  IN EFI_PEI_SERVICES           **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES           **PeiServices,\r
   IN EFI_MEMORY_TYPE            MemoryType,\r
   IN UINTN                      Pages,\r
   OUT EFI_PHYSICAL_ADDRESS      *Memory\r
@@ -1043,7 +1043,7 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiAllocatePool (\r
-  IN EFI_PEI_SERVICES           **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES           **PeiServices,\r
   IN UINTN                      Size,\r
   OUT VOID                      **Buffer\r
   )\r
@@ -1101,12 +1101,12 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiReportStatusCode (\r
-  IN EFI_PEI_SERVICES         **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES         **PeiServices,\r
   IN EFI_STATUS_CODE_TYPE     CodeType,\r
   IN EFI_STATUS_CODE_VALUE    Value,\r
   IN UINT32                   Instance,\r
-  IN EFI_GUID                 *CallerId,\r
-  IN EFI_STATUS_CODE_DATA     *Data OPTIONAL\r
+  IN CONST EFI_GUID                 *CallerId,\r
+  IN CONST EFI_STATUS_CODE_DATA     *Data OPTIONAL\r
   )\r
 /*++\r
 \r
index c8bea851a5df7d1ed017421c72b425888eb37e3c..e429b665a28c8ffa7adba12cce8a06ed5b77cb5d 100644 (file)
@@ -60,7 +60,7 @@ Returns:
 \r
 VOID\r
 ConvertPpiPointers (\r
-  IN EFI_PEI_SERVICES                     **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES                     **PeiServices,\r
   IN EFI_HOB_HANDOFF_INFO_TABLE    *OldHandOffHob,\r
   IN EFI_HOB_HANDOFF_INFO_TABLE    *NewHandOffHob\r
   )\r
@@ -139,8 +139,8 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiInstallPpi (\r
-  IN EFI_PEI_SERVICES        **PeiServices,\r
-  IN EFI_PEI_PPI_DESCRIPTOR  *PpiList\r
+  IN CONST EFI_PEI_SERVICES        **PeiServices,\r
+  IN CONST EFI_PEI_PPI_DESCRIPTOR  *PpiList\r
   )\r
 /*++\r
 \r
@@ -202,7 +202,7 @@ Returns:
     }\r
 \r
     DEBUG((EFI_D_INFO, "Install PPI: %g\n", PpiList->Guid)); \r
-    PrivateData->PpiData.PpiListPtrs[Index].Ppi = PpiList;    \r
+    PrivateData->PpiData.PpiListPtrs[Index].Ppi = (EFI_PEI_PPI_DESCRIPTOR*) PpiList;    \r
     PrivateData->PpiData.PpiListEnd++;\r
     \r
     //\r
@@ -220,7 +220,7 @@ Returns:
   // Dispatch any callback level notifies for newly installed PPIs.\r
   //\r
   DispatchNotify (\r
-    PeiServices,\r
+    (CONST EFI_PEI_SERVICES **) PeiServices,\r
     EFI_PEI_PPI_DESCRIPTOR_NOTIFY_CALLBACK,\r
     LastCallbackInstall,\r
     PrivateData->PpiData.PpiListEnd,\r
@@ -236,9 +236,9 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiReInstallPpi (\r
-  IN EFI_PEI_SERVICES        **PeiServices,\r
-  IN EFI_PEI_PPI_DESCRIPTOR  *OldPpi,\r
-  IN EFI_PEI_PPI_DESCRIPTOR  *NewPpi\r
+  IN CONST EFI_PEI_SERVICES        **PeiServices,\r
+  IN CONST EFI_PEI_PPI_DESCRIPTOR  *OldPpi,\r
+  IN CONST EFI_PEI_PPI_DESCRIPTOR  *NewPpi\r
   )\r
 /*++\r
 \r
@@ -292,13 +292,13 @@ Returns:
   // Remove the old PPI from the database, add the new one.\r
   // \r
   DEBUG((EFI_D_INFO, "Reinstall PPI: %g\n", NewPpi->Guid));\r
-  PrivateData->PpiData.PpiListPtrs[Index].Ppi = NewPpi;\r
+  PrivateData->PpiData.PpiListPtrs[Index].Ppi = (EFI_PEI_PPI_DESCRIPTOR *) NewPpi;\r
 \r
   //\r
   // Dispatch any callback level notifies for the newly installed PPI.\r
   //\r
   DispatchNotify (\r
-    PeiServices,\r
+    (CONST EFI_PEI_SERVICES **) PeiServices,\r
     EFI_PEI_PPI_DESCRIPTOR_NOTIFY_CALLBACK,\r
     Index,\r
     Index+1,\r
@@ -314,8 +314,8 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiLocatePpi (\r
-  IN EFI_PEI_SERVICES        **PeiServices,\r
-  IN EFI_GUID                *Guid,\r
+  IN CONST EFI_PEI_SERVICES        **PeiServices,\r
+  IN CONST EFI_GUID                *Guid,\r
   IN UINTN                   Instance,\r
   IN OUT EFI_PEI_PPI_DESCRIPTOR  **PpiDescriptor,\r
   IN OUT VOID                **Ppi\r
@@ -389,8 +389,8 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiNotifyPpi (\r
-  IN EFI_PEI_SERVICES           **PeiServices,\r
-  IN EFI_PEI_NOTIFY_DESCRIPTOR  *NotifyList\r
+  IN CONST EFI_PEI_SERVICES           **PeiServices,\r
+  IN CONST EFI_PEI_NOTIFY_DESCRIPTOR  *NotifyList\r
   )\r
 /*++\r
 \r
@@ -458,7 +458,7 @@ Returns:
       NotifyDispatchCount ++; \r
     }        \r
     \r
-    PrivateData->PpiData.PpiListPtrs[Index].Notify = NotifyList;      \r
+    PrivateData->PpiData.PpiListPtrs[Index].Notify = (EFI_PEI_NOTIFY_DESCRIPTOR *) NotifyList;      \r
    \r
     PrivateData->PpiData.NotifyListEnd--;\r
     DEBUG((EFI_D_INFO, "Register PPI Notify: %g\n", NotifyList->Guid));\r
@@ -496,7 +496,7 @@ Returns:
   // Dispatch any callback level notifies for all previously installed PPIs.\r
   //\r
   DispatchNotify (\r
-    PeiServices,\r
+    (CONST EFI_PEI_SERVICES **) PeiServices,\r
     EFI_PEI_PPI_DESCRIPTOR_NOTIFY_CALLBACK,\r
     0,\r
     PrivateData->PpiData.PpiListEnd,\r
@@ -545,7 +545,7 @@ Returns:
     while (PrivateData->PpiData.LastDispatchedNotify != PrivateData->PpiData.DispatchListEnd) {\r
       TempValue = PrivateData->PpiData.DispatchListEnd;\r
       DispatchNotify (\r
-        PeiServices,\r
+        (CONST EFI_PEI_SERVICES **) PeiServices,\r
         EFI_PEI_PPI_DESCRIPTOR_NOTIFY_DISPATCH,\r
         0,\r
         PrivateData->PpiData.LastDispatchedInstall,\r
@@ -566,7 +566,7 @@ Returns:
     while (PrivateData->PpiData.LastDispatchedInstall != PrivateData->PpiData.PpiListEnd) {\r
       TempValue = PrivateData->PpiData.PpiListEnd;\r
       DispatchNotify (\r
-        PeiServices,\r
+        (CONST EFI_PEI_SERVICES **) PeiServices,\r
         EFI_PEI_PPI_DESCRIPTOR_NOTIFY_DISPATCH,\r
         PrivateData->PpiData.LastDispatchedInstall,\r
         PrivateData->PpiData.PpiListEnd,\r
@@ -585,7 +585,7 @@ Returns:
 \r
 VOID\r
 DispatchNotify (\r
-  IN EFI_PEI_SERVICES    **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES    **PeiServices,\r
   IN UINTN               NotifyType,\r
   IN INTN                InstallStartIndex,\r
   IN INTN                InstallStopIndex,\r
@@ -645,7 +645,7 @@ Returns:  None
           NotifyDescriptor->Notify\r
           ));\r
         NotifyDescriptor->Notify (\r
-                            PeiServices,\r
+                            (EFI_PEI_SERVICES **)PeiServices,\r
                             NotifyDescriptor,\r
                             (PrivateData->PpiData.PpiListPtrs[Index2].Ppi)->Ppi\r
                             );\r
index b9316b6e9e1141fd53e1ccf42958078b692c0244..04a4519844ea8c3ac21fd93313d588c3aeafba06 100644 (file)
@@ -26,12 +26,12 @@ Revision History
 EFI_STATUS\r
 EFIAPI\r
 PeiReportStatusCode (\r
-  IN EFI_PEI_SERVICES         **PeiServices,\r
-  IN EFI_STATUS_CODE_TYPE     CodeType,\r
-  IN EFI_STATUS_CODE_VALUE    Value, \r
-  IN UINT32                   Instance,\r
-  IN EFI_GUID                 *CallerId,\r
-  IN EFI_STATUS_CODE_DATA     *Data OPTIONAL\r
+  IN CONST EFI_PEI_SERVICES         **PeiServices,\r
+  IN EFI_STATUS_CODE_TYPE           CodeType,\r
+  IN EFI_STATUS_CODE_VALUE          Value, \r
+  IN UINT32                         Instance,\r
+  IN CONST EFI_GUID                 *CallerId,\r
+  IN CONST EFI_STATUS_CODE_DATA     *Data OPTIONAL\r
   )\r
 /*++\r
 \r
index f1ab82d87abb29eb3fc5d040b563f95557070491..f51869c7733204298071b9e94e73fbbc654ab906 100644 (file)
@@ -20,6 +20,7 @@ Abstract:
 --*/\r
 \r
 #include <BaseMemoryTest.h>\r
+#include <Library/PeiServicesLib.h>\r
 \r
 static PEI_BASE_MEMORY_TEST_PPI mPeiBaseMemoryTestPpi = { BaseMemoryTest };\r
 \r
@@ -51,11 +52,9 @@ Returns:
 \r
 --*/  \r
 {\r
-  EFI_STATUS  Status;\r
 \r
-  Status = (**PeiServices).InstallPpi (PeiServices, &PpiListPeiBaseMemoryTest);\r
-\r
-  return Status;\r
+  return PeiServicesInstallPpi (&PpiListPeiBaseMemoryTest);\r
+  \r
 }\r
 \r
 EFI_STATUS\r
index c0b2f87d688168adb7f2d56085fb4a2ffada4abd..5a410e20c300fc869efebd74eded026297638344 100644 (file)
@@ -39,6 +39,7 @@
   ReportStatusCodeLib\r
   PeimEntryPoint\r
   DebugLib\r
+  PeiServicesLib\r
 \r
 [Ppis]\r
   gPeiBaseMemoryTestPpiGuid                     # PPI ALWAYS_PRODUCED\r
index bf1fb2d88768357f22fd193fa58148d87854589e..d0ebe8de62ec2469b6836c11d8ed2ddfbf7db8ac 100644 (file)
@@ -364,7 +364,7 @@ PeimInitializePciCfg (
   ASSERT ((**PeiServices).Hdr.Revision >= PEI_SERVICES_REVISION);\r
 \r
   (**PeiServices).PciCfg = &gPciCfg2Ppi;\r
-  Status = (**PeiServices).InstallPpi (PeiServices, &gPciCfg2PpiList);\r
+  Status = (**PeiServices).InstallPpi ((CONST EFI_PEI_SERVICES **)PeiServices, &gPciCfg2PpiList);\r
 \r
   return Status;\r
 }\r
index ba8a23d67a509197b801266cb59ca6322bcc0b2e..7385af71572e24d68c16045aaa31cdf3cf618ad2 100644 (file)
@@ -64,7 +64,7 @@ Returns:
   //\r
   // Publish the variable capability to other modules\r
   //\r
-  return (**PeiServices).InstallPpi (PeiServices, &mPpiListVariable);\r
+  return (**PeiServices).InstallPpi ((CONST EFI_PEI_SERVICES **)PeiServices, &mPpiListVariable);\r
 \r
 }\r
 \r