]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkModulePkg/Core/DxeIplX64Peim/DxeLoadX64.c
Set Hob type for FvMainCompactFv to EFI_HOB_TYPE_UNUSED after decompressed. The can...
[mirror_edk2.git] / EdkModulePkg / Core / DxeIplX64Peim / DxeLoadX64.c
index d01daafbe2deace2d88a7e154f2b06f6f6d81b1a..33ca3bbb04ff4f5981dfbf09139c4958c4054c8f 100644 (file)
@@ -435,7 +435,8 @@ Returns:
       Status = PeiProcessFile (\r
                  SectionType,\r
                  &FfsFileHeader,\r
-                 Pe32Data\r
+                 Pe32Data,\r
+                 &Hob\r
                  );\r
       CopyMem (FileName, &FfsFileHeader->Name, sizeof (EFI_GUID));\r
       return Status;\r
@@ -650,7 +651,8 @@ Returns:
   Status = PeiProcessFile (\r
             EFI_SECTION_PE32,\r
             &FfsHeader,\r
-            &Pe32Data\r
+            &Pe32Data,\r
+            NULL\r
             );\r
 \r
   if (EFI_ERROR (Status)) {\r
@@ -675,7 +677,8 @@ EFI_STATUS
 PeiProcessFile (\r
   IN      UINT16                 SectionType,\r
   IN OUT  EFI_FFS_FILE_HEADER    **RealFfsFileHeader,\r
-  OUT     VOID                   **Pe32Data\r
+  OUT     VOID                   **Pe32Data,\r
+  IN      EFI_PEI_HOB_POINTERS   *OrigHob\r
   )\r
 /*++\r
 \r
@@ -930,11 +933,17 @@ Returns:
               return EFI_NOT_FOUND;\r
             }\r
 \r
+            if (OrigHob != NULL) {\r
+              //\r
+              // \r
+              OrigHob->Header->HobType = EFI_HOB_TYPE_UNUSED;\r
+            }\r
+            \r
             //\r
             // Reture the FfsHeader that contain Pe32Data.\r
             //\r
             *RealFfsFileHeader = FfsFileHeader;\r
-            return PeiProcessFile (SectionType, RealFfsFileHeader, Pe32Data);\r
+            return PeiProcessFile (SectionType, RealFfsFileHeader, Pe32Data, OrigHob);\r
           }\r
         }\r
         //\r