]> git.proxmox.com Git - mirror_edk2.git/blobdiff - DuetPkg/EfiLdr/EfiLoader.c
Update comment in SMM Library class include file.
[mirror_edk2.git] / DuetPkg / EfiLdr / EfiLoader.c
index dcca41d0d2cad06866a91bfdfc6cf51b595beb9a..c37fba89ec8e329cf5903c65a26db5debc99751e 100644 (file)
@@ -22,9 +22,8 @@ Revision History:
 #include "Support.h"\r
 #include "Debug.h"\r
 #include "PeLoader.h"\r
-#include "TianoDecompress.h"\r
+#include "LzmaDecompress.h"\r
 \r
-STATIC\r
 VOID\r
 SystemHang(\r
   VOID\r
@@ -41,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
@@ -52,12 +50,12 @@ EfiLoader (
   UINTN                 BfvBase;\r
   EFI_MAIN_ENTRYPOINT   EfiMainEntrypoint;\r
   CHAR8                 PrintBuffer[256];\r
-  static EFILDRHANDOFF  Handoff;\r
+  STATIC EFILDRHANDOFF  Handoff;\r
 \r
   ClearScreen();\r
   \r
   PrintHeader ('A');\r
-\r
+  
   AsciiSPrint (PrintBuffer, 256, "Enter DUET Loader ...\n", BiosMemoryMapBaseAddress);\r
   PrintString (PrintBuffer);\r
 \r
@@ -79,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
@@ -93,12 +91,11 @@ EfiLoader (
   // Decompress the image\r
   //\r
 \r
-  AsciiSPrint (PrintBuffer, 256, "Decompress BFV image, Image Address=0x%x! Offset=0x%x\n", \r
+  AsciiSPrint (PrintBuffer, 256, "Decompress BFV image, Image Address=0x%x Offset=0x%x\n", \r
                (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
@@ -110,15 +107,16 @@ 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
+    (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
@@ -145,12 +143,12 @@ EfiLoader (
   //\r
   // Decompress the image\r
   //\r
-  AsciiSPrint (PrintBuffer, 256, "Decompress DxeIpl image, Image Address=0x%x! Offset=0x%x\n", \r
+  AsciiSPrint (PrintBuffer, 256, "Decompress DxeIpl image, Image Address=0x%x Offset=0x%x\n", \r
                (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
@@ -162,13 +160,10 @@ 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
@@ -217,7 +212,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
@@ -229,13 +224,10 @@ PrintHeader ('C');
     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
     SystemHang();\r
@@ -311,3 +303,14 @@ PrintHeader ('F');
   SystemHang();\r
 }\r
 \r
+EFI_STATUS\r
+EFIAPI\r
+_ModuleEntryPoint (\r
+  UINT32    BiosMemoryMapBaseAddress\r
+  )\r
+{\r
+  EfiLoader(BiosMemoryMapBaseAddress);\r
+  return EFI_SUCCESS;\r
+}\r
+\r
+\r