]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Core/DxeIplPeim/DxeLoad.c
1. Sync the latest network stack. Add NetLibCreateIPv4DPathNode () in netlib library.
[mirror_edk2.git] / MdeModulePkg / Core / DxeIplPeim / DxeLoad.c
index 381d60cb2aa3ea48a8aedafa81dcf1f4d20cfd2f..8d3c29a5798fce41a5ab2b0689935487a66e984f 100644 (file)
@@ -538,7 +538,7 @@ Returns:
     // Set gInMemory global variable to TRUE to indicate the dxeipl is shadowed.\r
     //\r
     *(BOOLEAN *) ((UINTN) &gInMemory + (UINTN) DxeIplEntryPoint - (UINTN) _ModuleEntryPoint) = TRUE;\r
-    Status = ((EFI_PEIM_ENTRY_POINT) (UINTN) DxeIplEntryPoint) ((EFI_PEI_FILE_HANDLE *) DxeIplFileHeader, GetPeiServicesTablePointer());\r
+    Status = ((EFI_PEIM_ENTRY_POINT2) (UINTN) DxeIplEntryPoint) ((EFI_PEI_FILE_HANDLE *) DxeIplFileHeader, GetPeiServicesTablePointer());\r
   }\r
 \r
   return Status;\r
@@ -593,15 +593,23 @@ Returns:
   // Preprocess the FFS file to get a pointer to the PE32 information\r
   // in the enclosed PE32 image.\r
   //\r
 Status = PeiProcessFile (\r
-            EFI_SECTION_PE32,\r
+ Status = PeiProcessFile (\r
+            EFI_SECTION_TE,\r
             FfsHeader,\r
             &Pe32Data,\r
             NULL\r
             );\r
-\r
   if (EFI_ERROR (Status)) {\r
-    return Status;\r
+    Status = PeiProcessFile (\r
+              EFI_SECTION_PE32,\r
+              FfsHeader,\r
+              &Pe32Data,\r
+              NULL\r
+              );\r
+    \r
+    if (EFI_ERROR (Status)) {\r
+      return Status;\r
+    }\r
   }\r
   //\r
   // Load the PE image from the FFS file\r
@@ -647,7 +655,7 @@ Returns:
   EFI_STATUS                      Status;\r
   UINT8                           *DstBuffer;\r
   UINT8                           *ScratchBuffer;\r
-  UINT32                          DstBufferSize;\r
+  UINT                          DstBufferSize;\r
   UINT32                          ScratchBufferSize;\r
   EFI_COMMON_SECTION_HEADER       *CmpSection;\r
   UINTN                           CmpSectionLength;\r
@@ -736,6 +744,7 @@ Returns:
         DEBUG ((EFI_D_ERROR, "Extract section content failed - %r\n", Status));\r
         return Status;\r
       }\r
+      \r
       //\r
       // Todo check AuthenticationStatus and do the verify\r
       //\r
@@ -754,7 +763,7 @@ Returns:
         Status = UefiDecompressGetInfo (\r
                    (UINT8 *) ((EFI_COMPRESSION_SECTION *) Section + 1),\r
                    (UINT32) SectionLength - sizeof (EFI_COMPRESSION_SECTION),\r
-                   &DstBufferSize,\r
+                   (UINT32 *) &DstBufferSize,\r
                    &ScratchBufferSize\r
                    );\r
         if (EFI_ERROR (Status)) {\r