]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EmbeddedPkg/Library/PrePiLib/FwVol.c
ARM Packages: Replace tabs by spaces for indentation
[mirror_edk2.git] / EmbeddedPkg / Library / PrePiLib / FwVol.c
index 9e4cdd002ec6143df77120186e95aa732d8ee225..f73f1c0da47e00c3af6f6276d758c5834f86d43e 100644 (file)
@@ -1,10 +1,10 @@
 /** @file\r
   Implementation of the 6 PEI Ffs (FV) APIs in library form.\r
-  \r
+\r
   This code only knows about a FV if it has a EFI_HOB_TYPE_FV entry in the HOB list\r
 \r
   Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>\r
-  \r
+\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
 \r
 /**\r
   Returns the highest bit set of the State field\r
-  \r
+\r
   @param ErasePolarity   Erase Polarity  as defined by EFI_FVB2_ERASE_POLARITY\r
                          in the Attributes field.\r
   @param FfsHeader       Pointer to FFS File Header\r
-                      \r
+\r
 \r
   @retval the highest bit in the State field\r
 \r
@@ -56,15 +56,15 @@ GetFileState(
   }\r
 \r
   return HighestBit;\r
-} \r
+}\r
 \r
 \r
 /**\r
   Calculates the checksum of the header of a file.\r
   The header is a zero byte checksum, so zero means header is good\r
-  \r
+\r
   @param FfsHeader       Pointer to FFS File Header\r
-                      \r
+\r
   @retval Checksum of the header\r
 \r
 **/\r
@@ -77,7 +77,7 @@ CalculateHeaderChecksum (
   UINT8   *Ptr;\r
   UINTN   Index;\r
   UINT8   Sum;\r
-  \r
+\r
   Sum = 0;\r
   Ptr = (UINT8 *)FileHeader;\r
 \r
@@ -91,9 +91,9 @@ CalculateHeaderChecksum (
   for (; Index < sizeof(EFI_FFS_FILE_HEADER); Index++) {\r
     Sum = (UINT8)(Sum + Ptr[Index]);\r
   }\r
-  \r
+\r
   //\r
-  // State field (since this indicates the different state of file). \r
+  // State field (since this indicates the different state of file).\r
   //\r
   Sum = (UINT8)(Sum - FileHeader->State);\r
   //\r
@@ -107,10 +107,10 @@ CalculateHeaderChecksum (
 \r
 /**\r
   Given a FileHandle return the VolumeHandle\r
-  \r
+\r
   @param FileHandle   File handle to look up\r
   @param VolumeHandle Match for FileHandle\r
-                      \r
+\r
   @retval TRUE  VolumeHandle is valid\r
 \r
 **/\r
@@ -129,7 +129,7 @@ FileHandleToVolume (
   if (Hob.Raw == NULL) {\r
     return FALSE;\r
   }\r
-  \r
+\r
   do {\r
     Hob.Raw = GetNextHob (EFI_HOB_TYPE_FV, Hob.Raw);\r
     if (Hob.Raw != NULL) {\r
@@ -143,7 +143,7 @@ FileHandleToVolume (
       Hob.Raw = GetNextHob (EFI_HOB_TYPE_FV, GET_NEXT_HOB (Hob));\r
     }\r
   } while (Hob.Raw != NULL);\r
-    \r
+\r
   return FALSE;\r
 }\r
 \r
@@ -153,10 +153,10 @@ FileHandleToVolume (
   Given the input file pointer, search for the next matching file in the\r
   FFS volume as defined by SearchType. The search starts from FileHeader inside\r
   the Firmware Volume defined by FwVolHeader.\r
-  \r
+\r
   @param FileHandle   File handle to look up\r
   @param VolumeHandle Match for FileHandle\r
-                      \r
+\r
 \r
 **/\r
 EFI_STATUS\r
@@ -208,13 +208,13 @@ FindFileEx (
     FileOccupiedSize = GET_OCCUPIED_SIZE (FileLength, 8);\r
     FfsFileHeader = (EFI_FFS_FILE_HEADER *)((UINT8 *)*FileHeader + FileOccupiedSize);\r
   }\r
-  \r
+\r
   FileOffset = (UINT32) ((UINT8 *)FfsFileHeader - (UINT8 *)FwVolHeader);\r
   ASSERT (FileOffset <= 0xFFFFFFFF);\r
 \r
   while (FileOffset < (FvLength - sizeof (EFI_FFS_FILE_HEADER))) {\r
     //\r
-    // Get FileState which is the highest bit of the State \r
+    // Get FileState which is the highest bit of the State\r
     //\r
     FileState = GetFileState (ErasePolarity, FfsFileHeader);\r
 \r
@@ -224,7 +224,7 @@ FindFileEx (
       FileOffset += sizeof(EFI_FFS_FILE_HEADER);\r
       FfsFileHeader = (EFI_FFS_FILE_HEADER *)((UINT8 *)FfsFileHeader + sizeof(EFI_FFS_FILE_HEADER));\r
       break;\r
-        \r
+\r
     case EFI_FILE_DATA_VALID:\r
     case EFI_FILE_MARKED_FOR_UPDATE:\r
       if (CalculateHeaderChecksum (FfsFileHeader) != 0) {\r
@@ -241,16 +241,16 @@ FindFileEx (
           *FileHeader = FfsFileHeader;\r
           return EFI_SUCCESS;\r
         }\r
-      } else if (((SearchType == FfsFileHeader->Type) || (SearchType == EFI_FV_FILETYPE_ALL)) && \r
-                 (FfsFileHeader->Type != EFI_FV_FILETYPE_FFS_PAD)) { \r
+      } else if (((SearchType == FfsFileHeader->Type) || (SearchType == EFI_FV_FILETYPE_ALL)) &&\r
+                 (FfsFileHeader->Type != EFI_FV_FILETYPE_FFS_PAD)) {\r
         *FileHeader = FfsFileHeader;\r
         return EFI_SUCCESS;\r
       }\r
 \r
-      FileOffset += FileOccupiedSize; \r
+      FileOffset += FileOccupiedSize;\r
       FfsFileHeader = (EFI_FFS_FILE_HEADER *)((UINT8 *)FfsFileHeader + FileOccupiedSize);\r
       break;\r
-    \r
+\r
     case EFI_FILE_DELETED:\r
       FileLength = *(UINT32 *)(FfsFileHeader->Size) & 0x00FFFFFF;\r
       FileOccupiedSize = GET_OCCUPIED_SIZE(FileLength, 8);\r
@@ -261,24 +261,24 @@ FindFileEx (
     default:\r
       *FileHeader = NULL;\r
       return EFI_NOT_FOUND;\r
-    } \r
+    }\r
   }\r
 \r
-  \r
+\r
   *FileHeader = NULL;\r
-  return EFI_NOT_FOUND;  \r
+  return EFI_NOT_FOUND;\r
 }\r
 \r
 \r
 /**\r
   Go through the file to search SectionType section,\r
-  when meeting an encapsuled section. \r
-  \r
+  when meeting an encapsuled section.\r
+\r
   @param  SectionType  - Filter to find only section of this type.\r
   @param  Section      - From where to search.\r
   @param  SectionSize  - The file size to search.\r
   @param  OutputBuffer - Pointer to the section to search.\r
-                      \r
+\r
   @retval EFI_SUCCESS\r
 **/\r
 EFI_STATUS\r
@@ -293,7 +293,7 @@ FfsProcessSection (
   UINT32                                  SectionLength;\r
   UINT32                                  ParsedLength;\r
   EFI_COMPRESSION_SECTION                 *CompressionSection;\r
-  UINT                                  DstBufferSize;\r
+  UINT32                                  DstBufferSize;\r
   VOID                                    *ScratchBuffer;\r
   UINT32                                  ScratchBufferSize;\r
   VOID                                    *DstBuffer;\r
@@ -310,11 +310,11 @@ FfsProcessSection (
 \r
       return EFI_SUCCESS;\r
     } else if ((Section->Type == EFI_SECTION_COMPRESSION) || (Section->Type == EFI_SECTION_GUID_DEFINED)) {\r
-    \r
+\r
       if (Section->Type == EFI_SECTION_COMPRESSION) {\r
         CompressionSection  = (EFI_COMPRESSION_SECTION *) Section;\r
         SectionLength       = *(UINT32 *)Section->Size & 0x00FFFFFF;\r
-        \r
+\r
         if (CompressionSection->CompressionType != EFI_STANDARD_COMPRESSION) {\r
           return EFI_UNSUPPORTED;\r
         }\r
@@ -322,18 +322,18 @@ FfsProcessSection (
         Status = UefiDecompressGetInfo (\r
                    (UINT8 *) ((EFI_COMPRESSION_SECTION *) Section + 1),\r
                    (UINT32) SectionLength - sizeof (EFI_COMPRESSION_SECTION),\r
-                   (UINT32 *) &DstBufferSize,\r
+                   &DstBufferSize,\r
                    &ScratchBufferSize\r
                    );\r
       } else if (Section->Type == EFI_SECTION_GUID_DEFINED) {\r
         Status = ExtractGuidedSectionGetInfo (\r
                    Section,\r
-                   (UINT32 *) &DstBufferSize,\r
+                   &DstBufferSize,\r
                    &ScratchBufferSize,\r
                    &SectionAttribute\r
                    );\r
       }\r
-      \r
+\r
       if (EFI_ERROR (Status)) {\r
         //\r
         // GetInfo failed\r
@@ -349,7 +349,7 @@ FfsProcessSection (
         return EFI_OUT_OF_RESOURCES;\r
       }\r
       //\r
-      // Allocate destination buffer, extra one page for adjustment \r
+      // Allocate destination buffer, extra one page for adjustment\r
       //\r
       DstBuffer = (VOID *)(UINTN)AllocatePages (EFI_SIZE_TO_PAGES (DstBufferSize) + 1);\r
       if (DstBuffer == NULL) {\r
@@ -377,7 +377,7 @@ FfsProcessSection (
                     &AuthenticationStatus\r
                     );\r
       }\r
-      \r
+\r
       if (EFI_ERROR (Status)) {\r
         //\r
         // Decompress failed\r
@@ -386,16 +386,16 @@ FfsProcessSection (
         return EFI_NOT_FOUND;\r
       } else {\r
         return FfsProcessSection (\r
-                SectionType, \r
-                DstBuffer, \r
-                DstBufferSize, \r
-                OutputBuffer \r
+                SectionType,\r
+                DstBuffer,\r
+                DstBufferSize,\r
+                OutputBuffer\r
                 );\r
-       }        \r
+       }\r
     }\r
 \r
     //\r
-    // Size is 24 bits wide so mask upper 8 bits. \r
+    // Size is 24 bits wide so mask upper 8 bits.\r
     // SectionLength is adjusted it is 4 byte aligned.\r
     // Go to the next section\r
     //\r
@@ -405,7 +405,7 @@ FfsProcessSection (
     ParsedLength += SectionLength;\r
     Section = (EFI_COMMON_SECTION_HEADER *)((UINT8 *)Section + SectionLength);\r
   }\r
-  \r
+\r
   return EFI_NOT_FOUND;\r
 }\r
 \r
@@ -438,7 +438,7 @@ FfsFindSectionData (
   FfsFileHeader = (EFI_FFS_FILE_HEADER *)(FileHandle);\r
 \r
   //\r
-  // Size is 24 bits wide so mask upper 8 bits. \r
+  // Size is 24 bits wide so mask upper 8 bits.\r
   // Does not include FfsFileHeader header size\r
   // FileSize is adjusted to FileOccupiedSize as it is 8 byte aligned.\r
   //\r
@@ -447,9 +447,9 @@ FfsFindSectionData (
   FileSize -= sizeof (EFI_FFS_FILE_HEADER);\r
 \r
   return FfsProcessSection (\r
-          SectionType, \r
-          Section, \r
-          FileSize, \r
+          SectionType,\r
+          Section,\r
+          FileSize,\r
           SectionData\r
           );\r
 }\r
@@ -503,13 +503,13 @@ FfsFindNextVolume (
   )\r
 {\r
   EFI_PEI_HOB_POINTERS        Hob;\r
-  \r
+\r
 \r
   Hob.Raw = GetHobList ();\r
   if (Hob.Raw == NULL) {\r
     return EFI_NOT_FOUND;\r
   }\r
-  \r
+\r
   do {\r
     Hob.Raw = GetNextHob (EFI_HOB_TYPE_FV, Hob.Raw);\r
     if (Hob.Raw != NULL) {\r
@@ -521,7 +521,7 @@ FfsFindNextVolume (
       Hob.Raw = GetNextHob (EFI_HOB_TYPE_FV, GET_NEXT_HOB (Hob));\r
     }\r
   } while (Hob.Raw != NULL);\r
-    \r
+\r
   return EFI_NOT_FOUND;\r
 \r
 }\r
@@ -529,7 +529,7 @@ FfsFindNextVolume (
 \r
 /**\r
   Find a file in the volume by name\r
-  \r
+\r
   @param FileName       A pointer to the name of the file to\r
                         find within the firmware volume.\r
 \r
@@ -546,7 +546,7 @@ FfsFindNextVolume (
 \r
 **/\r
 EFI_STATUS\r
-EFIAPI \r
+EFIAPI\r
 FfsFindFileByName (\r
   IN  CONST EFI_GUID        *FileName,\r
   IN  EFI_PEI_FV_HANDLE     VolumeHandle,\r
@@ -576,15 +576,15 @@ FfsFindFileByName (
                       information.\r
 \r
   @retval EFI_SUCCESS             File information returned.\r
-  \r
+\r
   @retval EFI_INVALID_PARAMETER   If FileHandle does not\r
                                   represent a valid file.\r
-  \r
+\r
   @retval EFI_INVALID_PARAMETER   If FileInfo is NULL.\r
-  \r
+\r
 **/\r
 EFI_STATUS\r
-EFIAPI \r
+EFIAPI\r
 FfsGetFileInfo (\r
   IN EFI_PEI_FILE_HANDLE  FileHandle,\r
   OUT EFI_FV_FILE_INFO    *FileInfo\r
@@ -614,14 +614,14 @@ FfsGetFileInfo (
   }\r
 \r
   //\r
-  // Get FileState which is the highest bit of the State \r
+  // Get FileState which is the highest bit of the State\r
   //\r
   FileState = GetFileState (ErasePolarity, (EFI_FFS_FILE_HEADER*)FileHandle);\r
 \r
   switch (FileState) {\r
     case EFI_FILE_DATA_VALID:\r
     case EFI_FILE_MARKED_FOR_UPDATE:\r
-      break;  \r
+      break;\r
     default:\r
       return EFI_INVALID_PARAMETER;\r
     }\r
@@ -645,15 +645,15 @@ FfsGetFileInfo (
                         information.\r
 \r
   @retval EFI_SUCCESS             File information returned.\r
-  \r
+\r
   @retval EFI_INVALID_PARAMETER   If FileHandle does not\r
                                   represent a valid file.\r
-  \r
+\r
   @retval EFI_INVALID_PARAMETER   If FileInfo is NULL.\r
 \r
 **/\r
 EFI_STATUS\r
-EFIAPI \r
+EFIAPI\r
 FfsGetVolumeInfo (\r
   IN EFI_PEI_FV_HANDLE  VolumeHandle,\r
   OUT EFI_FV_INFO       *VolumeInfo\r
@@ -665,10 +665,10 @@ FfsGetVolumeInfo (
   if (VolumeInfo == NULL) {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
-  \r
+\r
   //\r
-  // VolumeHandle may not align at 8 byte, \r
-  // but FvLength is UINT64 type, which requires FvHeader align at least 8 byte. \r
+  // VolumeHandle may not align at 8 byte,\r
+  // but FvLength is UINT64 type, which requires FvHeader align at least 8 byte.\r
   // So, Copy FvHeader into the local FvHeader structure.\r
   //\r
   CopyMem (&FwVolHeader, VolumeHandle, sizeof (EFI_FIRMWARE_VOLUME_HEADER));\r
@@ -695,12 +695,12 @@ FfsGetVolumeInfo (
 /**\r
   Search through every FV until you find a file of type FileType\r
 \r
-       @param FileType             File handle of a Fv type file.\r
-  @param Volumehandle   On succes Volume Handle of the match\r
-  @param FileHandle     On success File Handle of the match\r
-  \r
-  @retval EFI_NOT_FOUND                                FV image can't be found.\r
-  @retval EFI_SUCCESS                                          Successfully found FileType\r
+  @param FileType        File handle of a Fv type file.\r
+  @param Volumehandle    On succes Volume Handle of the match\r
+  @param FileHandle      On success File Handle of the match\r
+\r
+  @retval EFI_NOT_FOUND  FV image can't be found.\r
+  @retval EFI_SUCCESS    Successfully found FileType\r
 \r
 **/\r
 EFI_STATUS\r
@@ -734,7 +734,7 @@ FfsAnyFvFindFirstFile (
       break;\r
     }\r
   }\r
-  \r
+\r
   return Status;\r
 }\r
 \r
@@ -743,11 +743,11 @@ FfsAnyFvFindFirstFile (
 /**\r
   Get Fv image from the FV type file, then add FV & FV2 Hob.\r
 \r
-       @param FileHandle               File handle of a Fv type file.\r
+  @param FileHandle  File handle of a Fv type file.\r
 \r
 \r
-  @retval EFI_NOT_FOUND                                FV image can't be found.\r
-  @retval EFI_SUCCESS                                          Successfully to process it.\r
+  @retval EFI_NOT_FOUND  FV image can't be found.\r
+  @retval EFI_SUCCESS    Successfully to process it.\r
 \r
 **/\r
 EFI_STATUS\r
@@ -788,14 +788,14 @@ FfsProcessFvFile (
   if (EFI_ERROR (Status)) {\r
     return Status;\r
   }\r
-  \r
+\r
   //\r
   // Collect FvImage Info.\r
   //\r
   ZeroMem (&FvImageInfo, sizeof (FvImageInfo));\r
   Status = FfsGetVolumeInfo (FvImageHandle, &FvImageInfo);\r
   ASSERT_EFI_ERROR (Status);\r
-  \r
+\r
   //\r
   // FvAlignment must be more than 8 bytes required by FvHeader structure.\r
   //\r
@@ -803,7 +803,7 @@ FfsProcessFvFile (
   if (FvAlignment < 8) {\r
     FvAlignment = 8;\r
   }\r
-  \r
+\r
   //\r
   // Check FvImage\r
   //\r
@@ -824,7 +824,7 @@ FfsProcessFvFile (
   // Inform HOB consumer phase, i.e. DXE core, the existance of this FV\r
   //\r
   BuildFvHob ((EFI_PHYSICAL_ADDRESS) (UINTN) FvImageInfo.FvStart, FvImageInfo.FvSize);\r
-  \r
+\r
   //\r
   // Makes the encapsulated volume show up in DXE phase to skip processing of\r
   // encapsulated file again.\r