Remove PeCoffLoader library class and its instances.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3967 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
lgao4 2007-09-28 08:48:41 +00:00
parent 5d582956c2
commit c58cf83da2
13 changed files with 3 additions and 437 deletions

View File

@ -79,7 +79,6 @@ Revision History
#include <Library/PerformanceLib.h> #include <Library/PerformanceLib.h>
#include <Library/UefiDecompressLib.h> #include <Library/UefiDecompressLib.h>
#include <Library/CustomDecompressLib.h> #include <Library/CustomDecompressLib.h>
#include <Library/PeCoffLoaderLib.h>
#include <Library/CacheMaintenanceLib.h> #include <Library/CacheMaintenanceLib.h>
#include <Library/BaseMemoryLib.h> #include <Library/BaseMemoryLib.h>
#include <Library/PeCoffLib.h> #include <Library/PeCoffLib.h>
@ -203,7 +202,6 @@ extern EFI_DXE_SERVICES *gDxeCoreDS;
extern EFI_HANDLE gDxeCoreImageHandle; extern EFI_HANDLE gDxeCoreImageHandle;
extern EFI_DECOMPRESS_PROTOCOL gEfiDecompress; extern EFI_DECOMPRESS_PROTOCOL gEfiDecompress;
extern EFI_PEI_PE_COFF_LOADER_PROTOCOL *gEfiPeiPeCoffLoader;
extern EFI_RUNTIME_ARCH_PROTOCOL *gRuntime; extern EFI_RUNTIME_ARCH_PROTOCOL *gRuntime;
extern EFI_CPU_ARCH_PROTOCOL *gCpu; extern EFI_CPU_ARCH_PROTOCOL *gCpu;

View File

@ -42,7 +42,6 @@ Abstract:
#include <Library/PeiServicesLib.h> #include <Library/PeiServicesLib.h>
#include <Library/ReportStatusCodeLib.h> #include <Library/ReportStatusCodeLib.h>
#include <Library/CacheMaintenanceLib.h> #include <Library/CacheMaintenanceLib.h>
#include <Library/PeCoffLoaderLib.h>
#include <Library/UefiDecompressLib.h> #include <Library/UefiDecompressLib.h>
#include <Library/CustomDecompressLib.h> #include <Library/CustomDecompressLib.h>
#include <Library/PeiServicesTablePointerLib.h> #include <Library/PeiServicesTablePointerLib.h>
@ -61,15 +60,6 @@ Abstract:
extern BOOLEAN gInMemory; extern BOOLEAN gInMemory;
EFI_STATUS
PeiFindFile (
IN UINT8 Type,
IN EFI_SECTION_TYPE SectionType,
OUT EFI_GUID *FileName,
OUT VOID **Pe32Data
)
;
EFI_STATUS EFI_STATUS
PeiLoadFile ( PeiLoadFile (
IN EFI_PEI_FILE_HANDLE FileHandle, IN EFI_PEI_FILE_HANDLE FileHandle,
@ -100,31 +90,6 @@ GetImageReadFunction (
) )
; ;
EFI_STATUS
PeiImageRead (
IN VOID *FileHandle,
IN UINTN FileOffset,
IN OUT UINTN *ReadSize,
OUT VOID *Buffer
)
;
EFI_STATUS
EFIAPI
DxeIplLoadFile (
IN EFI_PEI_FV_FILE_LOADER_PPI *This,
IN EFI_FFS_FILE_HEADER *FfsHeader,
OUT EFI_PHYSICAL_ADDRESS *ImageAddress,
OUT UINT64 *ImageSize,
OUT EFI_PHYSICAL_ADDRESS *EntryPoint
);
EFI_STATUS
ShadowDxeIpl (
IN EFI_FFS_FILE_HEADER *DxeIpl,
IN EFI_PEI_PE_COFF_LOADER_PROTOCOL *PeiEfiPeiPeCoffLoader
);
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
DxeLoadCore ( DxeLoadCore (
@ -140,14 +105,6 @@ HandOffToDxeCore (
IN EFI_PEI_PPI_DESCRIPTOR *EndOfPeiSignal IN EFI_PEI_PPI_DESCRIPTOR *EndOfPeiSignal
); );
EFI_STATUS
PeiProcessFile (
IN EFI_SECTION_TYPE SectionType,
IN EFI_FFS_FILE_HEADER *FfsFileHeader,
OUT VOID **Pe32Data,
IN EFI_PEI_HOB_POINTERS *OrigHob
);
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
PeimInitializeDxeIpl ( PeimInitializeDxeIpl (

View File

@ -557,8 +557,7 @@ InitializeImageServices (
Routine Description: Routine Description:
Regitser PeCoffLoader to PeiCore PrivateData. And install Install Pei Load File PPI.
Pei Load File PPI.
Arguments: Arguments:

View File

@ -44,11 +44,11 @@ Revision History
#include <Library/PerformanceLib.h> #include <Library/PerformanceLib.h>
#include <Library/PeiServicesLib.h> #include <Library/PeiServicesLib.h>
#include <Library/ReportStatusCodeLib.h> #include <Library/ReportStatusCodeLib.h>
#include <Library/PeCoffLib.h>
#include <Library/PeCoffGetEntryPointLib.h> #include <Library/PeCoffGetEntryPointLib.h>
#include <Library/BaseMemoryLib.h> #include <Library/BaseMemoryLib.h>
#include <Library/CacheMaintenanceLib.h> #include <Library/CacheMaintenanceLib.h>
#include <Library/TimerLib.h> #include <Library/TimerLib.h>
#include <Library/PeCoffLoaderLib.h>
#include <IndustryStandard/PeImage.h> #include <IndustryStandard/PeImage.h>
#include <Library/PeiServicesTablePointerLib.h> #include <Library/PeiServicesTablePointerLib.h>
#include <Library/MemoryAllocationLib.h> #include <Library/MemoryAllocationLib.h>
@ -1399,8 +1399,7 @@ InitializeImageServices (
Routine Description: Routine Description:
Regitser PeCoffLoader to PeiCore PrivateData. And install Install Pei Load File PPI.
Pei Load File PPI.
Arguments: Arguments:

View File

@ -87,7 +87,6 @@
[Guids] [Guids]
gPeiAprioriFileNameGuid gPeiAprioriFileNameGuid
gEfiFirmwareFileSystem2Guid gEfiFirmwareFileSystem2Guid
gEfiPeiPeCoffLoaderGuid
[Ppis] [Ppis]
gEfiPeiSecurityPpiGuid # PPI_NOTIFY SOMETIMES_CONSUMED gEfiPeiSecurityPpiGuid # PPI_NOTIFY SOMETIMES_CONSUMED

View File

@ -1,34 +0,0 @@
/*++
Copyright (c) 2006, 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:
EdkPeCoffLoaderLib.h
Abstract:
Wrap the Base PE/COFF loader with the PE COFF Protocol
--*/
#ifndef __PE_COFF_LOADER_LIB_H_
#define __PE_COFF_LOADER_LIB_H_
#include <Guid/PeiPeCoffLoader.h>
EFI_PEI_PE_COFF_LOADER_PROTOCOL*
EFIAPI
GetPeCoffLoaderProtocol (
VOID
);
#endif

View File

@ -1,47 +0,0 @@
#/** @file
# EdkPeCoffLoaderLib library instance
#
# This library gets PeCoffLoader Protocol from Hob List
# Copyright (c) 2006, 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 = EdkDxePeCoffLoaderFromHobLib
FILE_GUID = ed3de5c8-c389-44f2-a35e-2ebdc9802a49
MODULE_TYPE = DXE_DRIVER
VERSION_STRING = 1.0
LIBRARY_CLASS = PeCoffLoaderLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER
EDK_RELEASE_VERSION = 0x00020000
EFI_SPECIFICATION_VERSION = 0x00020000
#
# The following information is for reference only and not required by the build tools.
#
# VALID_ARCHITECTURES = IA32 X64 IPF EBC
#
[Sources.common]
PeCoff.c
[Packages]
MdeModulePkg/MdeModulePkg.dec
MdePkg/MdePkg.dec
[LibraryClasses]
HobLib
[Guids]
gEfiPeiPeCoffLoaderGuid # ALWAYS_CONSUMED

View File

@ -1,48 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<MsaHeader>
<ModuleName>EdkDxePeCoffLoaderFromHobLib</ModuleName>
<ModuleType>DXE_DRIVER</ModuleType>
<GuidValue>ed3de5c8-c389-44f2-a35e-2ebdc9802a49</GuidValue>
<Version>1.0</Version>
<Abstract>EdkPeCoffLoaderLib library instance</Abstract>
<Description>This library gets PeCoffLoader Protocol from Hob List</Description>
<Copyright>Copyright (c) 2006, Intel Corporation.</Copyright>
<License>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.</License>
<Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052</Specification>
</MsaHeader>
<ModuleDefinitions>
<SupportedArchitectures>IA32 X64 IPF EBC</SupportedArchitectures>
<BinaryModule>false</BinaryModule>
<OutputFileBasename>EdkDxePeCoffLoaderFromHobLib</OutputFileBasename>
</ModuleDefinitions>
<LibraryClassDefinitions>
<LibraryClass Usage="ALWAYS_PRODUCED" SupModuleList="DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER">
<Keyword>EdkPeCoffLoaderLib</Keyword>
</LibraryClass>
<LibraryClass Usage="ALWAYS_CONSUMED">
<Keyword>HobLib</Keyword>
</LibraryClass>
</LibraryClassDefinitions>
<SourceFiles>
<Filename>PeCoff.c</Filename>
</SourceFiles>
<PackageDependencies>
<Package PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
<Package PackageGuid="68169ab0-d41b-4009-9060-292c253ac43d"/>
</PackageDependencies>
<Guids>
<GuidCNames Usage="ALWAYS_CONSUMED">
<GuidCName>gEfiPeiPeCoffLoaderGuid</GuidCName>
</GuidCNames>
</Guids>
<Externs>
<Specification>EFI_SPECIFICATION_VERSION 0x00020000</Specification>
<Specification>EDK_RELEASE_VERSION 0x00020000</Specification>
</Externs>
</ModuleSurfaceArea>

View File

@ -1,44 +0,0 @@
/*++
Copyright (c) 2006, 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:
Decompress.c
Abstract:
--*/
#include <PiDxe.h>
#include <Guid/PeiPeCoffLoader.h>
#include <Library/PeCoffLoaderLib.h>
#include <Library/HobLib.h>
EFI_PEI_PE_COFF_LOADER_PROTOCOL *
EFIAPI
GetPeCoffLoaderProtocol (
)
{
EFI_HOB_GUID_TYPE *GuidHob;
GuidHob = GetFirstGuidHob (&gEfiPeiPeCoffLoaderGuid);
if (GuidHob == NULL) {
return NULL;
} else {
return (EFI_PEI_PE_COFF_LOADER_PROTOCOL *)(*(UINTN *)(GET_GUID_HOB_DATA (GuidHob)));
}
}

View File

@ -1,123 +0,0 @@
/*++
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
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:
EdkPeCoffLoader.c
Abstract:
Wrap the Base PE/COFF loader with the PE COFF Protocol
--*/
#include <PiPei.h>
#include <Guid/PeiPeCoffLoader.h>
#include <Library/PeCoffLib.h>
#include <IndustryStandard/PeImage.h>
STATIC
EFI_STATUS
EFIAPI
PeCoffLoaderLibGetImageInfo (
IN EFI_PEI_PE_COFF_LOADER_PROTOCOL *This,
IN OUT PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext
)
{
EFI_STATUS Status;
Status = PeCoffLoaderGetImageInfo (ImageContext);
if (EFI_ERROR (Status)) {
return Status;
}
switch (ImageContext->ImageType) {
case EFI_IMAGE_SUBSYSTEM_EFI_APPLICATION:
ImageContext->ImageCodeMemoryType = EfiLoaderCode;
ImageContext->ImageDataMemoryType = EfiLoaderData;
break;
case EFI_IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER:
ImageContext->ImageCodeMemoryType = EfiBootServicesCode;
ImageContext->ImageDataMemoryType = EfiBootServicesData;
break;
case EFI_IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER:
case EFI_IMAGE_SUBSYSTEM_SAL_RUNTIME_DRIVER:
ImageContext->ImageCodeMemoryType = EfiRuntimeServicesCode;
ImageContext->ImageDataMemoryType = EfiRuntimeServicesData;
break;
default:
ImageContext->ImageError = IMAGE_ERROR_INVALID_SUBSYSTEM;
return RETURN_UNSUPPORTED;
}
return Status;
}
STATIC
EFI_STATUS
EFIAPI
PeCoffLoaderLibLoadImage (
IN EFI_PEI_PE_COFF_LOADER_PROTOCOL *This,
IN OUT PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext
)
{
return PeCoffLoaderLoadImage (ImageContext);
}
STATIC
EFI_STATUS
EFIAPI
PeCoffLoaderLibRelocateImage (
IN EFI_PEI_PE_COFF_LOADER_PROTOCOL *This,
IN OUT PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext
)
{
return PeCoffLoaderRelocateImage (ImageContext);
}
STATIC
EFI_STATUS
EFIAPI
PeCoffLoaderLibUnloadimage (
IN EFI_PEI_PE_COFF_LOADER_PROTOCOL *This,
IN PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext
)
{
return EFI_SUCCESS;
}
EFI_PEI_PE_COFF_LOADER_PROTOCOL mPeiEfiPeiPeCoffLoader = {
PeCoffLoaderLibGetImageInfo,
PeCoffLoaderLibLoadImage,
PeCoffLoaderLibRelocateImage,
PeCoffLoaderLibUnloadimage
};
EFI_PEI_PE_COFF_LOADER_PROTOCOL *
EFIAPI
GetPeCoffLoaderProtocol (
)
{
return &mPeiEfiPeiPeCoffLoader;
}

View File

@ -1,45 +0,0 @@
#/** @file
# DxePeCoffLoaderLib library instance
#
# This library provides PeCoffLoader protocol based on PeCoffLib functions.
# Copyright (c) 2006, 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 = PeiDxePeCoffLoaderLib
FILE_GUID = 858bbbc9-474f-4556-a361-0ae52a44ffa5
MODULE_TYPE = PEIM
VERSION_STRING = 1.0
LIBRARY_CLASS = PeCoffLoaderLib|DXE_CORE PEIM
EDK_RELEASE_VERSION = 0x00020000
EFI_SPECIFICATION_VERSION = 0x00020000
#
# The following information is for reference only and not required by the build tools.
#
# VALID_ARCHITECTURES = IA32 X64 IPF EBC
#
[Sources.common]
PeCoffLoader.c
[Packages]
MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec
[LibraryClasses]
PeCoffLib

View File

@ -1,44 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<MsaHeader>
<ModuleName>PeiDxePeCoffLoaderLib</ModuleName>
<ModuleType>PEIM</ModuleType>
<GuidValue>858bbbc9-474f-4556-a361-0ae52a44ffa5</GuidValue>
<Version>1.0</Version>
<Abstract>DxePeCoffLoaderLib library instance</Abstract>
<Description>This library provides PeCoffLoader protocol based on PeCoffLib functions.</Description>
<Copyright>Copyright (c) 2006, Intel Corporation.</Copyright>
<License>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.</License>
<Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052</Specification>
</MsaHeader>
<ModuleDefinitions>
<SupportedArchitectures>IA32 X64 IPF EBC</SupportedArchitectures>
<BinaryModule>false</BinaryModule>
<OutputFileBasename>PeiDxePeCoffLoaderLib</OutputFileBasename>
</ModuleDefinitions>
<LibraryClassDefinitions>
<LibraryClass Usage="ALWAYS_PRODUCED" SupModuleList="DXE_CORE PEIM">
<Keyword>PeiDxeCorePeCoffLoaderLib</Keyword>
</LibraryClass>
<LibraryClass Usage="ALWAYS_CONSUMED">
<Keyword>PeCoffLib</Keyword>
</LibraryClass>
</LibraryClassDefinitions>
<SourceFiles>
<Filename>PeCoffLoader.c</Filename>
<Filename>PeCoffLoaderLibInternals.h</Filename>
</SourceFiles>
<PackageDependencies>
<Package PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
<Package PackageGuid="68169ab0-d41b-4009-9060-292c253ac43d"/>
</PackageDependencies>
<Externs>
<Specification>EFI_SPECIFICATION_VERSION 0x00020000</Specification>
<Specification>EDK_RELEASE_VERSION 0x00020000</Specification>
</Externs>
</ModuleSurfaceArea>

View File

@ -29,7 +29,6 @@
[LibraryClasses.common] [LibraryClasses.common]
IpIoLib|Include/Library/IpIoLib.h IpIoLib|Include/Library/IpIoLib.h
NetLib|Include/Library/NetLib.h NetLib|Include/Library/NetLib.h
PeCoffLoaderLib|Include/Library/PeCoffLoaderLib.h
ResetSystemLib|Include/Library/ResetSystemLib.h ResetSystemLib|Include/Library/ResetSystemLib.h
UdpIoLib|Include/Library/UdpIoLib.h UdpIoLib|Include/Library/UdpIoLib.h
S3Lib|Include/Library/S3Lib.h S3Lib|Include/Library/S3Lib.h