]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/F86GuidedSectionExtraction.c
Remove IntelFrameworkModulePkg
[mirror_edk2.git] / IntelFrameworkModulePkg / Library / LzmaCustomDecompressLib / F86GuidedSectionExtraction.c
diff --git a/IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/F86GuidedSectionExtraction.c b/IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/F86GuidedSectionExtraction.c
deleted file mode 100644 (file)
index ac3fea3..0000000
+++ /dev/null
@@ -1,213 +0,0 @@
-/** @file\r
-  LZMA Decompress GUIDed Section Extraction Library, which produces LZMA custom\r
-  decompression algorithm with the converter for the different arch code.\r
-  It wraps Lzma decompress interfaces to GUIDed Section Extraction interfaces\r
-  and registers them into GUIDed handler table.\r
-\r
-  Copyright (c) 2012 - 2018, Intel Corporation. All rights reserved.<BR>\r
-  SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-**/\r
-\r
-#include "LzmaDecompressLibInternal.h"\r
-#include "Sdk/C/Bra.h"\r
-\r
-/**\r
-  Examines a GUIDed section and returns the size of the decoded buffer and the\r
-  size of an scratch buffer required to actually decode the data in a GUIDed section.\r
-\r
-  Examines a GUIDed section specified by InputSection.\r
-  If GUID for InputSection does not match the GUID that this handler supports,\r
-  then RETURN_UNSUPPORTED is returned.\r
-  If the required information can not be retrieved from InputSection,\r
-  then RETURN_INVALID_PARAMETER is returned.\r
-  If the GUID of InputSection does match the GUID that this handler supports,\r
-  then the size required to hold the decoded buffer is returned in OututBufferSize,\r
-  the size of an optional scratch buffer is returned in ScratchSize, and the Attributes field\r
-  from EFI_GUID_DEFINED_SECTION header of InputSection is returned in SectionAttribute.\r
-\r
-  If InputSection is NULL, then ASSERT().\r
-  If OutputBufferSize is NULL, then ASSERT().\r
-  If ScratchBufferSize is NULL, then ASSERT().\r
-  If SectionAttribute is NULL, then ASSERT().\r
-\r
-\r
-  @param[in]  InputSection       A pointer to a GUIDed section of an FFS formatted file.\r
-  @param[out] OutputBufferSize   A pointer to the size, in bytes, of an output buffer required\r
-                                 if the buffer specified by InputSection were decoded.\r
-  @param[out] ScratchBufferSize  A pointer to the size, in bytes, required as scratch space\r
-                                 if the buffer specified by InputSection were decoded.\r
-  @param[out] SectionAttribute   A pointer to the attributes of the GUIDed section. See the Attributes\r
-                                 field of EFI_GUID_DEFINED_SECTION in the PI Specification.\r
-\r
-  @retval  RETURN_SUCCESS            The information about InputSection was returned.\r
-  @retval  RETURN_UNSUPPORTED        The section specified by InputSection does not match the GUID this handler supports.\r
-  @retval  RETURN_INVALID_PARAMETER  The information can not be retrieved from the section specified by InputSection.\r
-\r
-**/\r
-RETURN_STATUS\r
-EFIAPI\r
-LzmaArchGuidedSectionGetInfo (\r
-  IN  CONST VOID  *InputSection,\r
-  OUT UINT32      *OutputBufferSize,\r
-  OUT UINT32      *ScratchBufferSize,\r
-  OUT UINT16      *SectionAttribute\r
-  )\r
-{\r
-  ASSERT (InputSection != NULL);\r
-  ASSERT (OutputBufferSize != NULL);\r
-  ASSERT (ScratchBufferSize != NULL);\r
-  ASSERT (SectionAttribute != NULL);\r
-\r
-  if (IS_SECTION2 (InputSection)) {\r
-    if (!CompareGuid (\r
-        &gLzmaF86CustomDecompressGuid,\r
-        &(((EFI_GUID_DEFINED_SECTION2 *) InputSection)->SectionDefinitionGuid))) {\r
-      return RETURN_INVALID_PARAMETER;\r
-    }\r
-\r
-    *SectionAttribute = ((EFI_GUID_DEFINED_SECTION2 *) InputSection)->Attributes;\r
-\r
-    return LzmaUefiDecompressGetInfo (\r
-             (UINT8 *) InputSection + ((EFI_GUID_DEFINED_SECTION2 *) InputSection)->DataOffset,\r
-             SECTION2_SIZE (InputSection) - ((EFI_GUID_DEFINED_SECTION2 *) InputSection)->DataOffset,\r
-             OutputBufferSize,\r
-             ScratchBufferSize\r
-             );\r
-  } else {\r
-    if (!CompareGuid (\r
-        &gLzmaF86CustomDecompressGuid,\r
-        &(((EFI_GUID_DEFINED_SECTION *) InputSection)->SectionDefinitionGuid))) {\r
-      return RETURN_INVALID_PARAMETER;\r
-    }\r
-\r
-    *SectionAttribute = ((EFI_GUID_DEFINED_SECTION *) InputSection)->Attributes;\r
-\r
-    return LzmaUefiDecompressGetInfo (\r
-             (UINT8 *) InputSection + ((EFI_GUID_DEFINED_SECTION *) InputSection)->DataOffset,\r
-             SECTION_SIZE (InputSection) - ((EFI_GUID_DEFINED_SECTION *) InputSection)->DataOffset,\r
-             OutputBufferSize,\r
-             ScratchBufferSize\r
-             );\r
-  }\r
-}\r
-\r
-/**\r
-  Decompress a LZAM compressed GUIDed section into a caller allocated output buffer.\r
-\r
-  Decodes the GUIDed section specified by InputSection.\r
-  If GUID for InputSection does not match the GUID that this handler supports, then RETURN_UNSUPPORTED is returned.\r
-  If the data in InputSection can not be decoded, then RETURN_INVALID_PARAMETER is returned.\r
-  If the GUID of InputSection does match the GUID that this handler supports, then InputSection\r
-  is decoded into the buffer specified by OutputBuffer and the authentication status of this\r
-  decode operation is returned in AuthenticationStatus.  If the decoded buffer is identical to the\r
-  data in InputSection, then OutputBuffer is set to point at the data in InputSection.  Otherwise,\r
-  the decoded data will be placed in caller allocated buffer specified by OutputBuffer.\r
-\r
-  If InputSection is NULL, then ASSERT().\r
-  If OutputBuffer is NULL, then ASSERT().\r
-  If ScratchBuffer is NULL and this decode operation requires a scratch buffer, then ASSERT().\r
-  If AuthenticationStatus is NULL, then ASSERT().\r
-\r
-\r
-  @param[in]  InputSection  A pointer to a GUIDed section of an FFS formatted file.\r
-  @param[out] OutputBuffer  A pointer to a buffer that contains the result of a decode operation.\r
-  @param[out] ScratchBuffer A caller allocated buffer that may be required by this function\r
-                            as a scratch buffer to perform the decode operation.\r
-  @param[out] AuthenticationStatus\r
-                            A pointer to the authentication status of the decoded output buffer.\r
-                            See the definition of authentication status in the EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI\r
-                            section of the PI Specification. EFI_AUTH_STATUS_PLATFORM_OVERRIDE must\r
-                            never be set by this handler.\r
-\r
-  @retval  RETURN_SUCCESS            The buffer specified by InputSection was decoded.\r
-  @retval  RETURN_UNSUPPORTED        The section specified by InputSection does not match the GUID this handler supports.\r
-  @retval  RETURN_INVALID_PARAMETER  The section specified by InputSection can not be decoded.\r
-\r
-**/\r
-RETURN_STATUS\r
-EFIAPI\r
-LzmaArchGuidedSectionExtraction (\r
-  IN CONST  VOID    *InputSection,\r
-  OUT       VOID    **OutputBuffer,\r
-  OUT       VOID    *ScratchBuffer,        OPTIONAL\r
-  OUT       UINT32  *AuthenticationStatus\r
-  )\r
-{\r
-  EFI_GUID          *InputGuid;\r
-  VOID              *Source;\r
-  UINTN             SourceSize;\r
-  EFI_STATUS        Status;\r
-  UINT32            X86State;\r
-  UINT32            OutputBufferSize;\r
-  UINT32            ScratchBufferSize;\r
-\r
-  ASSERT (OutputBuffer != NULL);\r
-  ASSERT (InputSection != NULL);\r
-\r
-  if (IS_SECTION2 (InputSection)) {\r
-    InputGuid  = &(((EFI_GUID_DEFINED_SECTION2 *) InputSection)->SectionDefinitionGuid);\r
-    Source     = (UINT8 *) InputSection + ((EFI_GUID_DEFINED_SECTION2 *) InputSection)->DataOffset;\r
-    SourceSize = SECTION2_SIZE (InputSection) - ((EFI_GUID_DEFINED_SECTION2 *) InputSection)->DataOffset;\r
-  } else {\r
-    InputGuid  = &(((EFI_GUID_DEFINED_SECTION *) InputSection)->SectionDefinitionGuid);\r
-    Source     = (UINT8 *) InputSection + ((EFI_GUID_DEFINED_SECTION *) InputSection)->DataOffset;\r
-    SourceSize = SECTION_SIZE (InputSection) - ((EFI_GUID_DEFINED_SECTION *) InputSection)->DataOffset;\r
-  }\r
-\r
-  if (!CompareGuid (&gLzmaF86CustomDecompressGuid, InputGuid)) {\r
-    return RETURN_INVALID_PARAMETER;\r
-  }\r
-\r
-  //\r
-  // Authentication is set to Zero, which may be ignored.\r
-  //\r
-  *AuthenticationStatus = 0;\r
-\r
-  Status = LzmaUefiDecompress (\r
-           Source,\r
-           SourceSize,\r
-           *OutputBuffer,\r
-           ScratchBuffer\r
-           );\r
-\r
-  //\r
-  // After decompress, the data need to be converted to the raw data.\r
-  //\r
-  if (!EFI_ERROR (Status)) {\r
-    Status = LzmaUefiDecompressGetInfo (\r
-             Source,\r
-             (UINT32) SourceSize,\r
-             &OutputBufferSize,\r
-             &ScratchBufferSize\r
-             );\r
-\r
-    if (!EFI_ERROR (Status)) {\r
-      x86_Convert_Init(X86State);\r
-      x86_Convert(*OutputBuffer, OutputBufferSize, 0, &X86State, 0);\r
-    }\r
-  }\r
-\r
-  return Status;\r
-}\r
-\r
-\r
-/**\r
-  Register LzmaArchDecompress and LzmaArchDecompressGetInfo handlers with LzmaF86CustomDecompressGuid.\r
-\r
-  @retval  RETURN_SUCCESS            Register successfully.\r
-  @retval  RETURN_OUT_OF_RESOURCES   No enough memory to store this handler.\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-LzmaArchDecompressLibConstructor (\r
-  VOID\r
-  )\r
-{\r
-  return ExtractGuidedSectionRegisterHandlers (\r
-          &gLzmaF86CustomDecompressGuid,\r
-          LzmaArchGuidedSectionGetInfo,\r
-          LzmaArchGuidedSectionExtraction\r
-          );\r
-}\r
-\r