]> git.proxmox.com Git - mirror_edk2.git/blobdiff - DuetPkg/EfiLdr/EfiLoader.c
Fix more InitializeDebugAgent API change bugs. GDB stub was not turned on in example...
[mirror_edk2.git] / DuetPkg / EfiLdr / EfiLoader.c
index 88bce2f07429c3ee9edf54e5647f56282eb2b6f4..609e5474832b4bf4ab0033519eb0fb64925b39c4 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
@@ -22,7 +22,7 @@ Revision History:
 #include "Support.h"\r
 #include "Debug.h"\r
 #include "PeLoader.h"\r
-#include "TianoDecompress.h"\r
+#include "LzmaDecompress.h"\r
 \r
 VOID\r
 SystemHang(\r
@@ -40,7 +40,6 @@ EfiLoader (
   )\r
 {\r
   BIOS_MEMORY_MAP       *BiosMemoryMap;    \r
-  EFILDR_HEADER         *EFILDRHeader;\r
   EFILDR_IMAGE          *EFILDRImage;\r
   EFI_MEMORY_DESCRIPTOR EfiMemoryDescriptor[EFI_MAX_MEMORY_DESCRIPTORS];\r
   EFI_STATUS            Status;\r
@@ -56,8 +55,8 @@ EfiLoader (
   ClearScreen();\r
   \r
   PrintHeader ('A');\r
-\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
@@ -78,7 +77,7 @@ EfiLoader (
   // Get information on where the image is in memory\r
   //\r
 \r
-  EFILDRHeader = (EFILDR_HEADER *)(UINTN)(EFILDR_HEADER_ADDRESS);\r
+  //EFILDRHeader = (EFILDR_HEADER *)(UINTN)(EFILDR_HEADER_ADDRESS);\r
   EFILDRImage  = (EFILDR_IMAGE *)(UINTN)(EFILDR_HEADER_ADDRESS + sizeof(EFILDR_HEADER));\r
 \r
 \r
@@ -96,8 +95,7 @@ EfiLoader (
                (UINTN)(EFILDR_HEADER_ADDRESS + EFILDRImage->Offset),\r
                EFILDRImage->Offset);\r
   PrintString (PrintBuffer);\r
-\r
-  Status = TianoGetInfo (\r
+  Status = LzmaUefiDecompressGetInfo (\r
              (VOID *)(UINTN)(EFILDR_HEADER_ADDRESS + EFILDRImage->Offset),\r
              EFILDRImage->Length,\r
              &DestinationSize, \r
@@ -109,15 +107,17 @@ EfiLoader (
     PrintString (PrintBuffer);\r
     SystemHang();\r
   }\r
-\r
-  Status = TianoDecompress (\r
-             (VOID *)(UINTN)(EFILDR_HEADER_ADDRESS + EFILDRImage->Offset),\r
-             EFILDRImage->Length,\r
-             (VOID *)(UINTN)EFI_DECOMPRESSED_BUFFER_ADDRESS,\r
-             DestinationSize, \r
-             (VOID *)(UINTN)((EFI_DECOMPRESSED_BUFFER_ADDRESS + DestinationSize + 0x1000) & 0xfffff000),\r
-             ScratchSize\r
-             );\r
+  \r
+  AsciiSPrint (PrintBuffer, 256, "BFV decompress: DestinationSize=0x%X, ScratchSize=0x%X!\n",\r
+               DestinationSize, ScratchSize);\r
+  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
+  \r
 \r
   if (EFI_ERROR (Status)) {\r
     AsciiSPrint (PrintBuffer, 256, "Fail to decompress BFV!\n");\r
@@ -149,7 +149,7 @@ EfiLoader (
                EFILDRImage->Offset);\r
   PrintString (PrintBuffer);\r
 \r
-  Status = TianoGetInfo (\r
+  Status = LzmaUefiDecompressGetInfo (\r
              (VOID *)(UINTN)(EFILDR_HEADER_ADDRESS + EFILDRImage->Offset),\r
              EFILDRImage->Length,\r
              &DestinationSize, \r
@@ -161,13 +161,11 @@ EfiLoader (
     SystemHang();\r
   }\r
 \r
-  Status = TianoDecompress (\r
+  Status = LzmaUefiDecompress (\r
              (VOID *)(UINTN)(EFILDR_HEADER_ADDRESS + EFILDRImage->Offset),\r
              EFILDRImage->Length,\r
              (VOID *)(UINTN)EFI_DECOMPRESSED_BUFFER_ADDRESS,\r
-             DestinationSize, \r
-             (VOID *)(UINTN)((EFI_DECOMPRESSED_BUFFER_ADDRESS + DestinationSize + 0x1000) & 0xfffff000),\r
-             ScratchSize\r
+             (VOID *)(UINTN)((EFI_DECOMPRESSED_BUFFER_ADDRESS + DestinationSize + 0x1000) & 0xfffff000)\r
              );\r
   if (EFI_ERROR (Status)) {\r
     AsciiSPrint (PrintBuffer, 256, "Fail to decompress DxeIpl image\n");\r
@@ -216,7 +214,7 @@ PrintHeader ('C');
                EFILDRImage->Offset);\r
   PrintString (PrintBuffer);\r
 \r
-  Status = TianoGetInfo (\r
+  Status = LzmaUefiDecompressGetInfo (\r
              (VOID *)(UINTN)(EFILDR_HEADER_ADDRESS + EFILDRImage->Offset),\r
              EFILDRImage->Length,\r
              &DestinationSize, \r
@@ -228,13 +226,11 @@ PrintHeader ('C');
     SystemHang();\r
   }\r
 \r
-  Status = TianoDecompress (\r
+  Status = LzmaUefiDecompress (\r
              (VOID *)(UINTN)(EFILDR_HEADER_ADDRESS + EFILDRImage->Offset),\r
-             EFILDRImage->Length,\r
+              EFILDRImage->Length,\r
              (VOID *)(UINTN)EFI_DECOMPRESSED_BUFFER_ADDRESS,\r
-             DestinationSize, \r
-             (VOID *)(UINTN)((EFI_DECOMPRESSED_BUFFER_ADDRESS + DestinationSize + 0x1000) & 0xfffff000),\r
-             ScratchSize\r
+             (VOID *)(UINTN)((EFI_DECOMPRESSED_BUFFER_ADDRESS + DestinationSize + 0x1000) & 0xfffff000)\r
              );\r
   if (EFI_ERROR (Status)) {\r
     SystemHang();\r