From 92650d219962b8acf81ed434e1db92739a50ba85 Mon Sep 17 00:00:00 2001 From: qhuang8 Date: Thu, 5 Mar 2009 09:18:06 +0000 Subject: Remove PeRemove PeiPeCoffLoader.h and gPeiPeCoffLoaderGuid, and Add PeCoffExtraActionLib class and instances. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7810 6f19259b-4bc3-4df7-8a09-765794883524 --- MdeModulePkg/Include/Guid/PeiPeCoffLoader.h | 158 ---------------------------- 1 file changed, 158 deletions(-) delete mode 100644 MdeModulePkg/Include/Guid/PeiPeCoffLoader.h (limited to 'MdeModulePkg/Include/Guid') diff --git a/MdeModulePkg/Include/Guid/PeiPeCoffLoader.h b/MdeModulePkg/Include/Guid/PeiPeCoffLoader.h deleted file mode 100644 index d6ccbfd193..0000000000 --- a/MdeModulePkg/Include/Guid/PeiPeCoffLoader.h +++ /dev/null @@ -1,158 +0,0 @@ -/** @file - This file defines PeCoffLoader guid for PeCoffLoader entry in the HOB list. - It also defines PE/COFF Loader APIs in PeCoffLoader Hob entry shared between SEC, PEI and DXE - -Copyright (c) 2006 - 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. - -**/ - -#ifndef __PEI_PE_COFF_LOADER_H__ -#define __PEI_PE_COFF_LOADER_H__ - -// -// Depend on PE_COFF_LOADER_IMAGE_CONTEXT structure definition in PeCoff library class. -// -#include - -#define EFI_PEI_PE_COFF_LOADER_GUID \ - { 0xd8117cff, 0x94a6, 0x11d4, {0x9a, 0x3a, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } } - -typedef struct _EFI_PEI_PE_COFF_LOADER_PROTOCOL EFI_PEI_PE_COFF_LOADER_PROTOCOL; - -/** - Retrieves information about a PE/COFF image. - - Computes the PeCoffHeaderOffset, IsTeImage, ImageType, ImageAddress, ImageSize, - DestinationAddress, RelocationsStripped, SectionAlignment, SizeOfHeaders, and - DebugDirectoryEntryRva fields of the ImageContext structure. - If ImageContext is NULL, then return RETURN_INVALID_PARAMETER. - If the PE/COFF image accessed through the ImageRead service in the ImageContext - structure is not a supported PE/COFF image type, then return RETURN_UNSUPPORTED. - If any errors occur while computing the fields of ImageContext, - then the error status is returned in the ImageError field of ImageContext. - If the image is a TE image, then SectionAlignment is set to 0. - The ImageRead and Handle fields of ImageContext structure must be valid prior - to invoking this service. - - @param This Pointer to the EFI_PEI_PE_COFF_LOADER_PROTOCOL instance. - @param ImageContext Pointer to the image context structure that describes the PE/COFF - image that needs to be examined by this function. - - @retval RETURN_SUCCESS The information on the PE/COFF image was collected. - @retval RETURN_INVALID_PARAMETER ImageContext is NULL. - @retval RETURN_UNSUPPORTED The PE/COFF image is not supported. - -**/ -typedef -RETURN_STATUS -(EFIAPI *EFI_PEI_PE_COFF_LOADER_GET_IMAGE_INFO)( - IN EFI_PEI_PE_COFF_LOADER_PROTOCOL *This, - IN OUT PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext - ); - -/** - Loads a PE/COFF image into memory. - - Loads the PE/COFF image accessed through the ImageRead service of ImageContext into the buffer - specified by the ImageAddress and ImageSize fields of ImageContext. The caller must allocate - the load buffer and fill in the ImageAddress and ImageSize fields prior to calling this function. - The EntryPoint, FixupDataSize, CodeView, and PdbPointer fields of ImageContext are computed. - The ImageRead, Handle, PeCoffHeaderOffset, IsTeImage, Machine, ImageType, ImageAddress, ImageSize, - DestinationAddress, RelocationsStripped, SectionAlignment, SizeOfHeaders, and DebugDirectoryEntryRva - fields of the ImageContext structure must be valid prior to invoking this service. - - @param This Pointer to the EFI_PEI_PE_COFF_LOADER_PROTOCOL instance. - @param ImageContext Pointer to the image context structure that describes the PE/COFF - image that is being loaded. - - @retval RETURN_SUCCESS The PE/COFF image was loaded into the buffer specified by - the ImageAddress and ImageSize fields of ImageContext. - Extended status information is in the ImageError field of ImageContext. - @retval RETURN_BUFFER_TOO_SMALL The caller did not provide a large enough buffer. - Extended status information is in the ImageError field of ImageContext. - @retval RETURN_LOAD_ERROR The PE/COFF image is an EFI Runtime image with no relocations. - Extended status information is in the ImageError field of ImageContext. - @retval RETURN_INVALID_PARAMETER The image address is invalid. - Extended status information is in the ImageError field of ImageContext. - -**/ -typedef -RETURN_STATUS -(EFIAPI *EFI_PEI_PE_COFF_LOADER_LOAD_IMAGE)( - IN EFI_PEI_PE_COFF_LOADER_PROTOCOL *This, - IN OUT PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext - ); - -/** - Applies relocation fixups to a PE/COFF image that was loaded with PeCoffLoaderLoadImage(). - - If the DestinationAddress field of ImageContext is 0, then use the ImageAddress field of - ImageContext as the relocation base address. Otherwise, use the DestinationAddress field - of ImageContext as the relocation base address. The caller must allocate the relocation - fixup log buffer and fill in the FixupData field of ImageContext prior to calling this function. - - The ImageRead, Handle, PeCoffHeaderOffset, IsTeImage, Machine, ImageType, ImageAddress, - ImageSize, DestinationAddress, RelocationsStripped, SectionAlignment, SizeOfHeaders, - DebugDirectoryEntryRva, EntryPoint, FixupDataSize, CodeView, PdbPointer, and FixupData of - the ImageContext structure must be valid prior to invoking this service. - - If ImageContext is NULL, then ASSERT(). - - @param This Pointer to the EFI_PEI_PE_COFF_LOADER_PROTOCOL instance. - @param ImageContext Pointer to the image context structure that describes the PE/COFF - image that is being relocated. - - @retval RETURN_SUCCESS The PE/COFF image was relocated. - Extended status information is in the ImageError field of ImageContext. - @retval RETURN_LOAD_ERROR The image in not a valid PE/COFF image. - Extended status information is in the ImageError field of ImageContext. - @retval RETURN_UNSUPPORTED A relocation record type is not supported. - Extended status information is in the ImageError field of ImageContext. - -**/ -typedef -RETURN_STATUS -(EFIAPI *EFI_PEI_PE_COFF_LOADER_RELOCATE_IMAGE)( - IN EFI_PEI_PE_COFF_LOADER_PROTOCOL *This, - IN OUT PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext - ); - -/** - Unloads a loaded PE/COFF image from memory and releases its taken resource. - Releases any environment specific resources that were allocated when the image - specified by ImageContext was loaded using PeCoffLoaderLoadImage(). - - For NT32 emulator, the PE/COFF image loaded by system needs to release. - For real platform, the PE/COFF image loaded by Core doesn't needs to be unloaded, - this function can simply return RETURN_SUCCESS. - - @param This Pointer to the EFI_PEI_PE_COFF_LOADER_PROTOCOL instance. - @param ImageContext Pointer to the image context structure that describes the PE/COFF - image to be unloaded. - - @retval RETURN_SUCCESS The PE/COFF image was unloaded successfully. -**/ -typedef -RETURN_STATUS -(EFIAPI *EFI_PEI_PE_COFF_LOADER_UNLOAD_IMAGE)( - IN EFI_PEI_PE_COFF_LOADER_PROTOCOL *This, - IN PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext - ); - -struct _EFI_PEI_PE_COFF_LOADER_PROTOCOL { - EFI_PEI_PE_COFF_LOADER_GET_IMAGE_INFO GetImageInfo; - EFI_PEI_PE_COFF_LOADER_LOAD_IMAGE LoadImage; - EFI_PEI_PE_COFF_LOADER_RELOCATE_IMAGE RelocateImage; - EFI_PEI_PE_COFF_LOADER_UNLOAD_IMAGE UnloadImage; -}; - -extern EFI_GUID gEfiPeiPeCoffLoaderGuid; - -#endif -- cgit v1.2.3