#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
)\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
(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
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
- 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
if (EFI_ERROR (Status)) {\r
AsciiSPrint (PrintBuffer, 256, "Fail to decompress BFV!\n");\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
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
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
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
--- /dev/null
+/** @file\r
+ LZMA Decompress Library header file\r
+\r
+ Copyright (c) 2006 - 2009, Intel Corporation<BR>\r
+ All rights reserved. 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
+\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+**/\r
+\r
+#ifndef __LZMADECOMPRESS_H__\r
+#define __LZMADECOMPRESS_H__\r
+\r
+/**\r
+ The internal implementation of *_DECOMPRESS_PROTOCOL.GetInfo().\r
+ \r
+ @param Source The source buffer containing the compressed data.\r
+ @param SourceSize The size of source buffer\r
+ @param DestinationSize The size of destination buffer.\r
+ @param ScratchSize The size of scratch buffer.\r
+\r
+ @retval RETURN_SUCCESS - The size of destination buffer and the size of scratch buffer are successull retrieved.\r
+ @retval RETURN_INVALID_PARAMETER - The source data is corrupted\r
+**/\r
+RETURN_STATUS\r
+EFIAPI\r
+LzmaUefiDecompressGetInfo (\r
+ IN CONST VOID *Source,\r
+ IN UINT32 SourceSize,\r
+ OUT UINT32 *DestinationSize,\r
+ OUT UINT32 *ScratchSize\r
+ );\r
+\r
+/**\r
+ The internal implementation of *_DECOMPRESS_PROTOCOL.Decompress().\r
+ \r
+ @param Source - The source buffer containing the compressed data.\r
+ @param Destination - The destination buffer to store the decompressed data\r
+ @param Scratch - The buffer used internally by the decompress routine. This buffer is needed to store intermediate data.\r
+\r
+ @retval RETURN_SUCCESS - Decompression is successfull\r
+ @retval RETURN_INVALID_PARAMETER - The source data is corrupted \r
+**/\r
+RETURN_STATUS\r
+EFIAPI\r
+LzmaUefiDecompress (\r
+ IN CONST VOID *Source,\r
+ IN OUT VOID *Destination,\r
+ IN OUT VOID *Scratch\r
+ );\r
+\r
+#endif // __LZMADECOMPRESS_H__\r
+\r
@set BOOTSECTOR_OUTPUT_DIR=%BUILD_DIR%\IA32\DuetPkg\BootSector\BootSector\OUTPUT\r
\r
@echo Compressing DUETEFIMainFv.FV ...\r
-@%BASETOOLS_DIR%\TianoCompress -e -o %BUILD_DIR%\FV\DUETEFIMAINFV.z %BUILD_DIR%\FV\DUETEFIMAINFV.Fv\r
+@%BASETOOLS_DIR%\LzmaCompress -e -o %BUILD_DIR%\FV\DUETEFIMAINFV.z %BUILD_DIR%\FV\DUETEFIMAINFV.Fv\r
\r
@echo Compressing DxeMain.efi ...\r
-@%BASETOOLS_DIR%\TianoCompress -e -o %BUILD_DIR%\FV\DxeMain.z %BUILD_DIR%\%PROCESSOR%\DxeCore.efi\r
+@%BASETOOLS_DIR%\LzmaCompress -e -o %BUILD_DIR%\FV\DxeMain.z %BUILD_DIR%\%PROCESSOR%\DxeCore.efi\r
\r
@echo Compressing DxeIpl.efi ...\r
-@%BASETOOLS_DIR%\TianoCompress -e -o %BUILD_DIR%\FV\DxeIpl.z %BUILD_DIR%\%PROCESSOR%\DxeIpl.efi\r
+@%BASETOOLS_DIR%\LzmaCompress -e -o %BUILD_DIR%\FV\DxeIpl.z %BUILD_DIR%\%PROCESSOR%\DxeIpl.efi\r
\r
@echo Generate Loader Image ...\r
@if "%PROCESSOR%"=="IA32" goto GENERATE_IMAGE_IA32\r