Updated to support passing PE/COFF and LZMA decompress up via HOBS. Currently turned...
[mirror_edk2.git] / BeagleBoardPkg / Sec / Sec.c
index 5b4d294..448a713 100755 (executable)
 #include <Library/PeCoffGetEntryPointLib.h>\r
 \r
 #include <Ppi/GuidedSectionExtraction.h>\r
-\r
+#include <Guid/LzmaDecompress.h>\r
 #include <Omap3530/Omap3530.h>\r
 \r
+#include "LzmaDecompress.h"\r
+\r
 VOID\r
 EFIAPI \r
 _ModuleEntryPoint(\r
@@ -239,7 +241,7 @@ CEntryPoint (
         //
 #ifdef __CC_ARM
         // Print out the command for the RVD debugger to load symbols for this image
-        DEBUG ((EFI_D_ERROR, "load /a /ni /np %a &0x%08x\n", SecDeCygwinPathIfNeeded (FilePath), PeCoffImage + Offset));
+        DEBUG ((EFI_D_ERROR, "load /a /ni /np %a &0x%08x\n", SecDeCygwinPathIfNeeded (FilePath), (CHAR8 *)PeCoffImage + Offset));
 #elif __GNUC__\r
         // This may not work correctly if you generate PE/COFF directlyas then the Offset would not be required
         DEBUG ((EFI_D_ERROR, "add-symbol-file %a 0x%08x\n", FilePath, PeCoffImage + Offset));
@@ -260,6 +262,18 @@ CEntryPoint (
   ExtractGuidedSectionLibConstructor();\r
   LzmaDecompressLibConstructor();\r
 \r
+  // Build HOBs to pass up our version of stuff the DXE Core needs to save space\r
+#if 0\r
+  BuildPeCoffLoaderHob ();\r
+  BuildExtractSectionHob (\r
+    &gLzmaCustomDecompressGuid,\r
+    LzmaGuidedSectionGetInfo,\r
+    LzmaGuidedSectionExtraction\r
+    );\r
+#endif\r
+\r
+  DecompressFirstFv ();\r
+\r
   // Load the DXE Core and transfer control to it\r
   LoadDxeCoreFromFv(NULL, 0);\r
   \r