From ddc9ec37af077546ec68fa42115a362b40ad8e8b Mon Sep 17 00:00:00 2001 From: qwang12 Date: Wed, 14 Mar 2007 02:12:16 +0000 Subject: [PATCH 1/1] Remove the BugBug in package header file for DXE_CORE and DXE_DRIVER which force every driver to include MdePkg/Include/Library/PeCoffLib.h. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2457 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Include/Common/PeCoffLoaderImageContext.h | 57 +++++++++++++++++++ MdePkg/Include/Library/PeCoffLib.h | 44 +------------- 2 files changed, 60 insertions(+), 41 deletions(-) create mode 100644 MdePkg/Include/Common/PeCoffLoaderImageContext.h diff --git a/MdePkg/Include/Common/PeCoffLoaderImageContext.h b/MdePkg/Include/Common/PeCoffLoaderImageContext.h new file mode 100644 index 0000000000..b2519ea46d --- /dev/null +++ b/MdePkg/Include/Common/PeCoffLoaderImageContext.h @@ -0,0 +1,57 @@ +/** @file + Important data type defined used for Memory Only PE COFF loader. + + 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. + +**/ + +#ifndef __PECOFFLOADER_IMAGE_CONTEXT_H +#define __PECOFFLOADER_IMAGE_CONTEXT_H + +// +// PE/COFF Loader Read Function passed in by caller +// +typedef +RETURN_STATUS +(EFIAPI *PE_COFF_LOADER_READ_FILE) ( + IN VOID *FileHandle, + IN UINTN FileOffset, + IN OUT UINTN *ReadSize, + OUT VOID *Buffer + ); + +// +// Context structure used while PE/COFF image is being loaded and relocated +// +typedef struct { + PHYSICAL_ADDRESS ImageAddress; + UINT64 ImageSize; + PHYSICAL_ADDRESS DestinationAddress; + PHYSICAL_ADDRESS EntryPoint; + PE_COFF_LOADER_READ_FILE ImageRead; + VOID *Handle; + VOID *FixupData; + UINT32 SectionAlignment; + UINT32 PeCoffHeaderOffset; + UINT32 DebugDirectoryEntryRva; + VOID *CodeView; + CHAR8 *PdbPointer; + UINTN SizeOfHeaders; + UINT32 ImageCodeMemoryType; + UINT32 ImageDataMemoryType; + UINT32 ImageError; + UINTN FixupDataSize; + UINT16 Machine; + UINT16 ImageType; + BOOLEAN RelocationsStripped; + BOOLEAN IsTeImage; +} PE_COFF_LOADER_IMAGE_CONTEXT; + +#endif diff --git a/MdePkg/Include/Library/PeCoffLib.h b/MdePkg/Include/Library/PeCoffLib.h index 920004aebc..2bb9db58cf 100644 --- a/MdePkg/Include/Library/PeCoffLib.h +++ b/MdePkg/Include/Library/PeCoffLib.h @@ -1,7 +1,7 @@ /** @file Memory Only PE COFF loader. - Copyright (c) 2006, Intel Corporation + Copyright (c) 2006 - 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 @@ -17,6 +17,8 @@ #ifndef __BASE_PE_COFF_LIB_H__ #define __BASE_PE_COFF_LIB_H__ +#include + // // Return status codes from the PE/COFF Loader services // BUGBUG: Find where used and see if can be replaced by RETURN_STATUS codes @@ -34,46 +36,6 @@ #define IMAGE_ERROR_FAILED_ICACHE_FLUSH 10 -// -// PE/COFF Loader Read Function passed in by caller -// -typedef -RETURN_STATUS -(EFIAPI *PE_COFF_LOADER_READ_FILE) ( - IN VOID *FileHandle, - IN UINTN FileOffset, - IN OUT UINTN *ReadSize, - OUT VOID *Buffer - ); - -// -// Context structure used while PE/COFF image is being loaded and relocated -// -typedef struct { - PHYSICAL_ADDRESS ImageAddress; - UINT64 ImageSize; - PHYSICAL_ADDRESS DestinationAddress; - PHYSICAL_ADDRESS EntryPoint; - PE_COFF_LOADER_READ_FILE ImageRead; - VOID *Handle; - VOID *FixupData; - UINT32 SectionAlignment; - UINT32 PeCoffHeaderOffset; - UINT32 DebugDirectoryEntryRva; - VOID *CodeView; - CHAR8 *PdbPointer; - UINTN SizeOfHeaders; - UINT32 ImageCodeMemoryType; - UINT32 ImageDataMemoryType; - UINT32 ImageError; - UINTN FixupDataSize; - UINT16 Machine; - UINT16 ImageType; - BOOLEAN RelocationsStripped; - BOOLEAN IsTeImage; -} PE_COFF_LOADER_IMAGE_CONTEXT; - - /** Retrieves information about a PE/COFF image. -- 2.39.2