]> git.proxmox.com Git - mirror_edk2.git/blobdiff - DuetPkg/EfiLdr/EfiLoader.c
DuetPkg: Move EfiLdr Handoff data to stack
[mirror_edk2.git] / DuetPkg / EfiLdr / EfiLoader.c
index c37fba89ec8e329cf5903c65a26db5debc99751e..f10db53552a6eaa0d26d7d4100ade9d34f37aa53 100644 (file)
@@ -1,7 +1,7 @@
 /*++\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
@@ -50,13 +50,13 @@ EfiLoader (
   UINTN                 BfvBase;\r
   EFI_MAIN_ENTRYPOINT   EfiMainEntrypoint;\r
   CHAR8                 PrintBuffer[256];\r
-  STATIC EFILDRHANDOFF  Handoff;\r
+  EFILDRHANDOFF         Handoff;\r
 \r
   ClearScreen();\r
   \r
   PrintHeader ('A');\r
   
-  AsciiSPrint (PrintBuffer, 256, "Enter DUET Loader ...\n", BiosMemoryMapBaseAddress);\r
+  AsciiSPrint (PrintBuffer, 256, "Enter DUET Loader...\n");\r
   PrintString (PrintBuffer);\r
 \r
   AsciiSPrint (PrintBuffer, 256, "BiosMemoryMapBaseAddress = 0x%x\n", BiosMemoryMapBaseAddress);\r
@@ -113,6 +113,7 @@ EfiLoader (
   PrintString (PrintBuffer);\r
   Status =  LzmaUefiDecompress (\r
     (VOID *)(UINTN)(EFILDR_HEADER_ADDRESS + EFILDRImage->Offset),\r
+    EFILDRImage->Length,\r
     (VOID *)(UINTN)EFI_DECOMPRESSED_BUFFER_ADDRESS, \r
     (VOID *)(UINTN)((EFI_DECOMPRESSED_BUFFER_ADDRESS + DestinationSize + 0x1000) & 0xfffff000)\r
     );\r
@@ -162,6 +163,7 @@ EfiLoader (
 \r
   Status = LzmaUefiDecompress (\r
              (VOID *)(UINTN)(EFILDR_HEADER_ADDRESS + EFILDRImage->Offset),\r
+             EFILDRImage->Length,\r
              (VOID *)(UINTN)EFI_DECOMPRESSED_BUFFER_ADDRESS,\r
              (VOID *)(UINTN)((EFI_DECOMPRESSED_BUFFER_ADDRESS + DestinationSize + 0x1000) & 0xfffff000)\r
              );\r
@@ -226,6 +228,7 @@ PrintHeader ('C');
 \r
   Status = LzmaUefiDecompress (\r
              (VOID *)(UINTN)(EFILDR_HEADER_ADDRESS + EFILDRImage->Offset),\r
+              EFILDRImage->Length,\r
              (VOID *)(UINTN)EFI_DECOMPRESSED_BUFFER_ADDRESS,\r
              (VOID *)(UINTN)((EFI_DECOMPRESSED_BUFFER_ADDRESS + DestinationSize + 0x1000) & 0xfffff000)\r
              );\r