From 607a0df601d0dcdc3f03e70ec36f41b164e55f7a Mon Sep 17 00:00:00 2001 From: andrewfish Date: Sat, 30 Jan 2010 20:44:32 +0000 Subject: Adding some new libraries to experiment with size reduction. Trying not to duplicate big code chunks in SEC with stuff compressed in FV. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9881 6f19259b-4bc3-4df7-8a09-765794883524 --- .../._LzmaHobCustomDecompressLib.c | Bin 0 -> 4096 bytes .../._LzmaHobCustomDecompressLib.inf | Bin 0 -> 4096 bytes .../LzmaHobCustomDecompressLib.c | 50 +++++++++++++++++++++ .../LzmaHobCustomDecompressLib.inf | 50 +++++++++++++++++++++ 4 files changed, 100 insertions(+) create mode 100755 EmbeddedPkg/Library/LzmaHobCustomDecompressLib/._LzmaHobCustomDecompressLib.c create mode 100755 EmbeddedPkg/Library/LzmaHobCustomDecompressLib/._LzmaHobCustomDecompressLib.inf create mode 100755 EmbeddedPkg/Library/LzmaHobCustomDecompressLib/LzmaHobCustomDecompressLib.c create mode 100755 EmbeddedPkg/Library/LzmaHobCustomDecompressLib/LzmaHobCustomDecompressLib.inf (limited to 'EmbeddedPkg/Library/LzmaHobCustomDecompressLib') diff --git a/EmbeddedPkg/Library/LzmaHobCustomDecompressLib/._LzmaHobCustomDecompressLib.c b/EmbeddedPkg/Library/LzmaHobCustomDecompressLib/._LzmaHobCustomDecompressLib.c new file mode 100755 index 0000000000..951a1f164d Binary files /dev/null and b/EmbeddedPkg/Library/LzmaHobCustomDecompressLib/._LzmaHobCustomDecompressLib.c differ diff --git a/EmbeddedPkg/Library/LzmaHobCustomDecompressLib/._LzmaHobCustomDecompressLib.inf b/EmbeddedPkg/Library/LzmaHobCustomDecompressLib/._LzmaHobCustomDecompressLib.inf new file mode 100755 index 0000000000..951a1f164d Binary files /dev/null and b/EmbeddedPkg/Library/LzmaHobCustomDecompressLib/._LzmaHobCustomDecompressLib.inf differ diff --git a/EmbeddedPkg/Library/LzmaHobCustomDecompressLib/LzmaHobCustomDecompressLib.c b/EmbeddedPkg/Library/LzmaHobCustomDecompressLib/LzmaHobCustomDecompressLib.c new file mode 100755 index 0000000000..fe5fd83836 --- /dev/null +++ b/EmbeddedPkg/Library/LzmaHobCustomDecompressLib/LzmaHobCustomDecompressLib.c @@ -0,0 +1,50 @@ +/** @file + LZMA Decompress GUIDed Section Extraction Library. + It wraps Lzma decompress interfaces to GUIDed Section Extraction interfaces + and registers them into GUIDed handler table. + + Copyright (c) 2009, Intel Corporation
+ All rights reserved. This program and the accompanying materials + are licensed and made available under the terms and conditions of the BSD License + which accompanies this distribution. The full text of the license may be found at + http://opensource.org/licenses/bsd-license.php + + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +**/ + +#include +#include +#include + +#include +#include + + +/** + Register LzmaDecompress and LzmaDecompressGetInfo handlers with LzmaCustomerDecompressGuid. + + @retval RETURN_SUCCESS Register successfully. + @retval RETURN_OUT_OF_RESOURCES No enough memory to store this handler. +**/ +EFI_STATUS +EFIAPI +LzmaDecompressLibConstructor ( + ) +{ + EXTRACT_SECTION_HOB *Hob; + + Hob = GetFirstGuidHob (&gLzmaCustomDecompressGuid); + if (Hob == NULL) { + return EFI_NOT_FOUND; + } + + // Locate Guided Hob + + return ExtractGuidedSectionRegisterHandlers ( + &gLzmaCustomDecompressGuid, + Hob->SectionGetInfo, + Hob->SectionExtraction + ); +} diff --git a/EmbeddedPkg/Library/LzmaHobCustomDecompressLib/LzmaHobCustomDecompressLib.inf b/EmbeddedPkg/Library/LzmaHobCustomDecompressLib/LzmaHobCustomDecompressLib.inf new file mode 100755 index 0000000000..522114c497 --- /dev/null +++ b/EmbeddedPkg/Library/LzmaHobCustomDecompressLib/LzmaHobCustomDecompressLib.inf @@ -0,0 +1,50 @@ +#/** @file +# LzmaCustomDecompressLib produces LZMA custom decompression algorithm. +# +# It is based on the LZMA SDK 4.65. +# LZMA SDK 4.65 was placed in the public domain on 2009-02-03. +# It was released on the http://www.7-zip.org/sdk.html website. +# +# Copyright (c) 2009, Intel Corporation. +# +# All rights reserved. This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +# +#**/ + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = LzmaDecompressLib + FILE_GUID = 35194660-7421-44ad-9636-e44885f092d1 + MODULE_TYPE = BASE + VERSION_STRING = 1.0 + LIBRARY_CLASS = NULL + CONSTRUCTOR = LzmaDecompressLibConstructor + +# +# The following information is for reference only and not required by the build tools. +# +# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# + +[Sources.common] + LzmaHobCustomDecompressLib.c + +[Packages] + MdePkg/MdePkg.dec + IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec + EmbeddedPkg/EmbeddedPkg.dec + +[Guids] + gLzmaCustomDecompressGuid ## PRODUCED ## GUID specifies LZMA custom decompress algorithm. + +[LibraryClasses] + DebugLib + HobLib + ExtractGuidedSectionLib + -- cgit v1.2.3