diff options
Diffstat (limited to 'MdePkg')
-rw-r--r-- | MdePkg/Library/PeiDxeExtractGuidedSectionLib/PeiDxeExtractGuidedSectionLib.c | 278 | ||||
-rw-r--r-- | MdePkg/Library/PeiDxeExtractGuidedSectionLib/PeiDxeExtractGuidedSectionLib.inf | 51 |
2 files changed, 0 insertions, 329 deletions
diff --git a/MdePkg/Library/PeiDxeExtractGuidedSectionLib/PeiDxeExtractGuidedSectionLib.c b/MdePkg/Library/PeiDxeExtractGuidedSectionLib/PeiDxeExtractGuidedSectionLib.c deleted file mode 100644 index 33c582b371..0000000000 --- a/MdePkg/Library/PeiDxeExtractGuidedSectionLib/PeiDxeExtractGuidedSectionLib.c +++ /dev/null @@ -1,278 +0,0 @@ -/*++
-
-Copyright (c) 2007, 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.
-
-Module Name:
-
- PeiDxeExtractGuidedSectionLib.c
-
-Abstract:
-
- Provide generic extract guided section functions.
-
---*/
-
-#include <PiPei.h>
-
-#include <Library/DebugLib.h>
-#include <Library/PcdLib.h>
-#include <Library/BaseMemoryLib.h>
-#include <Library/MemoryAllocationLib.h>
-#include <Library/ExtractGuidedSectionLib.h>
-#include <Library/HobLib.h>
-
-STATIC GUID *mExtractHandlerGuidTable;
-STATIC UINT32 mNumberOfExtractHandler;
-
-STATIC EXTRACT_GUIDED_SECTION_DECODE_HANDLER *mExtractDecodeHandlerTable;
-STATIC EXTRACT_GUIDED_SECTION_GET_INFO_HANDLER *mExtractGetInfoHandlerTable;
-
-/** - Construtor allocates the global memory to store the registered guid and Handler list.
- - @retval RETURN_SUCCESS Allocate the global memory space to store guid and funciton tables.
- @retval RETURN_OUT_OF_RESOURCES No enough memory to allocated. -**/
-RETURN_STATUS
-EFIAPI
-PeiDxeExtractGuidedSectionLibConstructor (
- )
-{
- //
- // Allocate global pool space to store the registered handler and its guid value.
- //
- mExtractHandlerGuidTable = (GUID *) AllocatePool (PcdGet32 (PcdMaximumGuidedExtractHandler) * sizeof (GUID));
- if (mExtractHandlerGuidTable == NULL) {
- return RETURN_OUT_OF_RESOURCES;
- }
-
- mExtractDecodeHandlerTable = (EXTRACT_GUIDED_SECTION_DECODE_HANDLER *) AllocatePool (PcdGet32 (PcdMaximumGuidedExtractHandler) * sizeof (EXTRACT_GUIDED_SECTION_DECODE_HANDLER));
- if (mExtractDecodeHandlerTable == NULL) {
- return RETURN_OUT_OF_RESOURCES;
- }
-
- mExtractGetInfoHandlerTable = (EXTRACT_GUIDED_SECTION_GET_INFO_HANDLER *) AllocatePool (PcdGet32 (PcdMaximumGuidedExtractHandler) * sizeof (EXTRACT_GUIDED_SECTION_GET_INFO_HANDLER));
- if (mExtractGetInfoHandlerTable == NULL) {
- return RETURN_OUT_OF_RESOURCES;
- }
-
- //
- // the initialized number is Zero.
- //
- mNumberOfExtractHandler = 0;
-
- return RETURN_SUCCESS;
-}
-
-/** - Get the supported exract guided section Handler guid list.
- If ExtractHandlerGuidTable = NULL, then ASSERT.
-
- @param[in, out] ExtractHandlerGuidTable The extract Handler guid pointer list. -
- @retval return the number of the supported extract guided Handler. -**/
-UINTN
-EFIAPI
-ExtractGuidedSectionGetGuidList (
- IN OUT GUID **ExtractHandlerGuidTable
- )
-{
- ASSERT (ExtractHandlerGuidTable != NULL);
-
- *ExtractHandlerGuidTable = mExtractHandlerGuidTable;
- return mNumberOfExtractHandler;
-}
-
-/** - Register Guided Section Extract and GetInfo handler.
-
- @param[in] SectionGuid The guid matches this Extraction function. - @param[in] GetInfoHandler Function to get info from guided section.
- @param[in] DecodeHandler Function to extract guided section. - - @retval RETURN_SUCCESS Register Guided Section Extract function successfully. - @retval RETURN_OUT_OF_RESOURCES Resource is not enough to register new function.
- @retval RETURN_INVALID_PARAMETER Input pointer to Guid value is not valid.
-**/
-RETURN_STATUS
-EFIAPI
-ExtractGuidedSectionRegisterHandlers (
- IN CONST GUID *SectionGuid,
- IN EXTRACT_GUIDED_SECTION_GET_INFO_HANDLER GetInfoHandler,
- IN EXTRACT_GUIDED_SECTION_DECODE_HANDLER DecodeHandler
- )
-{
- if (GetBootModeHob () == BOOT_ON_S3_RESUME) {
- //
- // (Work around fix to bypass registeration on S3 resume.)
- // S3 resume does not shadow DxeIpl.
- //
- return RETURN_SUCCESS;
- }
- //
- // Check input paramter.
- //
- if (SectionGuid == NULL) {
- return RETURN_INVALID_PARAMETER;
- }
- //
- // Check the global table is enough to contain new Handler.
- //
- if (mNumberOfExtractHandler >= PcdGet32 (PcdMaximumGuidedExtractHandler)) {
- return RETURN_OUT_OF_RESOURCES;
- }
-
- //
- // Register new Handler and guid value.
- //
- CopyGuid (&mExtractHandlerGuidTable [mNumberOfExtractHandler], SectionGuid);
- mExtractDecodeHandlerTable [mNumberOfExtractHandler] = DecodeHandler;
- mExtractGetInfoHandlerTable [mNumberOfExtractHandler++] = GetInfoHandler;
-
- return RETURN_SUCCESS;
-}
-
-/** - Get information from the guided section. This function first gets the guid value
- from guided section header, then match this guid in the registered extract Handler list
- to its corresponding getinfo Handler.
- If not found, RETURN_UNSUPPORTED will be return.
- If found, it will call the getinfo Handler to get the required size and attribute.
-
- It will ASSERT () if the pointer to OutputBufferSize is NULL.
- It will ASSERT () if the pointer to ScratchBufferSize is NULL. - It will ASSERT () if the pointer to SectionAttribute is NULL.
-
- @param[in] InputSection Buffer containing the input GUIDed section to be processed.
- @param[out] OutputBufferSize The size of OutputBuffer.
- @param[out] ScratchBufferSize The size of ScratchBuffer.
- @param[out] SectionAttribute The attribute of the input guided section.
- - @retval RETURN_SUCCESS Get the required information successfully.
- @retval RETURN_UNSUPPORTED Guided section data is not supported.
- @retval RETURN_INVALID_PARAMETER The input data can't be parsed correctly.
-
-**/
-RETURN_STATUS
-EFIAPI
-ExtractGuidedSectionGetInfo (
- IN CONST VOID *InputSection,
- OUT UINT32 *OutputBufferSize,
- OUT UINT32 *ScratchBufferSize,
- OUT UINT16 *SectionAttribute
- )
-{
- UINT32 Index;
-
- if (InputSection == NULL) {
- return RETURN_INVALID_PARAMETER;
- }
-
- ASSERT (OutputBufferSize != NULL);
- ASSERT (ScratchBufferSize != NULL);
- ASSERT (SectionAttribute != NULL);
-
- //
- // Search the match registered GetInfo handler for the input guided section.
- //
- for (Index = 0; Index < mNumberOfExtractHandler; Index ++) {
- if (CompareGuid (&mExtractHandlerGuidTable[Index], &(((EFI_GUID_DEFINED_SECTION *) InputSection)->SectionDefinitionGuid))) {
- break;
- }
- }
-
- //
- // Not found, the input guided section is not supported.
- //
- if (Index == mNumberOfExtractHandler) {
- return RETURN_UNSUPPORTED;
- }
-
- //
- // Call the match handler to getinfo for the input section data.
- //
- return mExtractGetInfoHandlerTable [Index] (
- InputSection,
- OutputBufferSize,
- ScratchBufferSize,
- SectionAttribute
- );
-}
-
-/** - Extract data from the guided section. This function first gets the guid value
- from guided section header, then match this guid in the registered extract Handler list
- to its corresponding extract Handler.
- If not found, RETURN_UNSUPPORTED will be return.
- If found, it will call this extract Handler to get output data and AuthenticationStatus. -
- It will ASSERT () if the pointer to OutputBuffer is NULL.
- It will ASSERT () if the pointer to AuthenticationStatus is NULL.
-
- @param[in] InputSection Buffer containing the input GUIDed section to be processed.
- @param[out] OutputBuffer OutputBuffer to point the start of the section's contents
- if guided data is not required prcessing. Otherwise,
- OutputBuffer to contain the output data, which is
- allocated by the caller.
- @param[out] ScratchBuffer A pointer to a caller-allocated buffer for function internal use.
- @param[out] AuthenticationStatus
- A pointer to a caller-allocated UINT32 that indicates the
- authentication status of the output buffer. - - @retval RETURN_SUCCESS Get the output data, size and AuthenticationStatus successfully.
- @retval RETURN_UNSUPPORTED Guided section data is not supported to be decoded.
- @retval RETURN_INVALID_PARAMETER The input data can't be parsed correctly.
- -**/
-RETURN_STATUS
-EFIAPI
-ExtractGuidedSectionDecode (
- IN CONST VOID *InputSection,
- OUT VOID **OutputBuffer,
- OUT VOID *ScratchBuffer, OPTIONAL
- OUT UINT32 *AuthenticationStatus
- )
-{
- UINT32 Index;
-
- if (InputSection == NULL) {
- return RETURN_INVALID_PARAMETER;
- }
-
- ASSERT (OutputBuffer != NULL);
- ASSERT (AuthenticationStatus != NULL);
-
- //
- // Search the match registered GetInfo handler for the input guided section.
- //
- for (Index = 0; Index < mNumberOfExtractHandler; Index ++) {
- if (CompareGuid (&mExtractHandlerGuidTable[Index], &(((EFI_GUID_DEFINED_SECTION *) InputSection)->SectionDefinitionGuid))) {
- break;
- }
- }
-
- //
- // Not found, the input guided section is not supported.
- //
- if (Index == mNumberOfExtractHandler) {
- return RETURN_UNSUPPORTED;
- }
-
- //
- // Call the match handler to getinfo for the input section data.
- //
- return mExtractDecodeHandlerTable [Index] (
- InputSection,
- OutputBuffer,
- ScratchBuffer,
- AuthenticationStatus
- );
-}
diff --git a/MdePkg/Library/PeiDxeExtractGuidedSectionLib/PeiDxeExtractGuidedSectionLib.inf b/MdePkg/Library/PeiDxeExtractGuidedSectionLib/PeiDxeExtractGuidedSectionLib.inf deleted file mode 100644 index 7cb040c525..0000000000 --- a/MdePkg/Library/PeiDxeExtractGuidedSectionLib/PeiDxeExtractGuidedSectionLib.inf +++ /dev/null @@ -1,51 +0,0 @@ -#/** @file
-# Component description file for DxeCore Performance Library
-#
-# This library provides intrastructure for DxeCore to log performance.
-# Copyright (c) 2007, 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 = PeiDxeExtractGuidedSectionLib
- FILE_GUID = EF97E3EB-9321-4dfc-8353-CF473FD98F03
- MODULE_TYPE = BASE
- VERSION_STRING = 1.0
- LIBRARY_CLASS = ExtractGuidedSectionLib
- EDK_RELEASE_VERSION = 0x00020000
- EFI_SPECIFICATION_VERSION = 0x00020000
-
- CONSTRUCTOR = PeiDxeExtractGuidedSectionLibConstructor
-
-#
-# The following information is for reference only and not required by the build tools.
-#
-# VALID_ARCHITECTURES = IA32 X64 IPF EBC
-#
-
-[Sources.common]
- PeiDxeExtractGuidedSectionLib.c
-
-[Packages]
- MdePkg/MdePkg.dec
-
-
-[LibraryClasses]
- MemoryAllocationLib
- BaseMemoryLib
- DebugLib
- HobLib
-
-[FixedPcd.common]
- gEfiMdePkgTokenSpaceGuid.PcdMaximumGuidedExtractHandler
-
-
|