mirror of https://github.com/acidanthera/audk.git
remove the gEfiLoadPeImageProtocolGuid and replace all references for it with BasePeCoffLib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8096 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
d46dfe99e5
commit
af3888e0b7
|
@ -39,7 +39,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
#include <Protocol/MonotonicCounter.h>
|
#include <Protocol/MonotonicCounter.h>
|
||||||
#include <Protocol/StatusCode.h>
|
#include <Protocol/StatusCode.h>
|
||||||
#include <Protocol/Decompress.h>
|
#include <Protocol/Decompress.h>
|
||||||
#include <Protocol/LoadPe32Image.h>
|
|
||||||
#include <Protocol/Security.h>
|
#include <Protocol/Security.h>
|
||||||
#include <Protocol/Ebc.h>
|
#include <Protocol/Ebc.h>
|
||||||
#include <Protocol/Reset.h>
|
#include <Protocol/Reset.h>
|
||||||
|
|
|
@ -107,7 +107,6 @@
|
||||||
gEfiStatusCodeRuntimeProtocolGuid ## SOMETIMES_CONSUMES
|
gEfiStatusCodeRuntimeProtocolGuid ## SOMETIMES_CONSUMES
|
||||||
gEfiCapsuleArchProtocolGuid ## CONSUMES
|
gEfiCapsuleArchProtocolGuid ## CONSUMES
|
||||||
gEfiDecompressProtocolGuid ## CONSUMES
|
gEfiDecompressProtocolGuid ## CONSUMES
|
||||||
gEfiLoadPeImageProtocolGuid ## PRODUCES
|
|
||||||
gEfiSimpleFileSystemProtocolGuid ## CONSUMES
|
gEfiSimpleFileSystemProtocolGuid ## CONSUMES
|
||||||
gEfiLoadFileProtocolGuid ## CONSUMES
|
gEfiLoadFileProtocolGuid ## CONSUMES
|
||||||
gEfiLoadFile2ProtocolGuid ## CONSUMES
|
gEfiLoadFile2ProtocolGuid ## CONSUMES
|
||||||
|
|
|
@ -15,20 +15,15 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
#include "DxeMain.h"
|
#include "DxeMain.h"
|
||||||
#include "Image.h"
|
#include "Image.h"
|
||||||
|
|
||||||
|
#define EFI_LOAD_PE_IMAGE_ATTRIBUTE_NONE 0x00
|
||||||
|
#define EFI_LOAD_PE_IMAGE_ATTRIBUTE_RUNTIME_REGISTRATION 0x01
|
||||||
|
#define EFI_LOAD_PE_IMAGE_ATTRIBUTE_DEBUG_IMAGE_INFO_TABLE_REGISTRATION 0x02
|
||||||
|
|
||||||
//
|
//
|
||||||
// Module Globals
|
// Module Globals
|
||||||
//
|
//
|
||||||
LOADED_IMAGE_PRIVATE_DATA *mCurrentImage = NULL;
|
LOADED_IMAGE_PRIVATE_DATA *mCurrentImage = NULL;
|
||||||
|
|
||||||
LOAD_PE32_IMAGE_PRIVATE_DATA mLoadPe32PrivateData = {
|
|
||||||
LOAD_PE32_IMAGE_PRIVATE_DATA_SIGNATURE,
|
|
||||||
NULL,
|
|
||||||
{
|
|
||||||
CoreLoadImageEx,
|
|
||||||
CoreUnloadImageEx
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// This code is needed to build the Image handle for the DXE Core
|
// This code is needed to build the Image handle for the DXE Core
|
||||||
|
@ -147,12 +142,7 @@ CoreInitializeImageServices (
|
||||||
//
|
//
|
||||||
// Export DXE Core PE Loader functionality
|
// Export DXE Core PE Loader functionality
|
||||||
//
|
//
|
||||||
return CoreInstallProtocolInterface (
|
return EFI_SUCCESS;
|
||||||
&mLoadPe32PrivateData.Handle,
|
|
||||||
&gEfiLoadPeImageProtocolGuid,
|
|
||||||
EFI_NATIVE_INTERFACE,
|
|
||||||
&mLoadPe32PrivateData.Pe32Image
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1000,66 +990,6 @@ CoreLoadImage (
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
Loads an EFI image into memory and returns a handle to the image with extended parameters.
|
|
||||||
|
|
||||||
@param This Calling context
|
|
||||||
@param ParentImageHandle The caller's image handle.
|
|
||||||
@param FilePath The specific file path from which the image is
|
|
||||||
loaded.
|
|
||||||
@param SourceBuffer If not NULL, a pointer to the memory location
|
|
||||||
containing a copy of the image to be loaded.
|
|
||||||
@param SourceSize The size in bytes of SourceBuffer.
|
|
||||||
@param DstBuffer The buffer to store the image.
|
|
||||||
@param NumberOfPages For input, specifies the space size of the
|
|
||||||
image by caller if not NULL. For output,
|
|
||||||
specifies the actual space size needed.
|
|
||||||
@param ImageHandle Image handle for output.
|
|
||||||
@param EntryPoint Image entry point for output.
|
|
||||||
@param Attribute The bit mask of attributes to set for the load
|
|
||||||
PE image.
|
|
||||||
|
|
||||||
@retval EFI_SUCCESS The image was loaded into memory.
|
|
||||||
@retval EFI_NOT_FOUND The FilePath was not found.
|
|
||||||
@retval EFI_INVALID_PARAMETER One of the parameters has an invalid value.
|
|
||||||
@retval EFI_UNSUPPORTED The image type is not supported, or the device
|
|
||||||
path cannot be parsed to locate the proper
|
|
||||||
protocol for loading the file.
|
|
||||||
@retval EFI_OUT_OF_RESOURCES Image was not loaded due to insufficient
|
|
||||||
resources.
|
|
||||||
|
|
||||||
**/
|
|
||||||
EFI_STATUS
|
|
||||||
EFIAPI
|
|
||||||
CoreLoadImageEx (
|
|
||||||
IN EFI_PE32_IMAGE_PROTOCOL *This,
|
|
||||||
IN EFI_HANDLE ParentImageHandle,
|
|
||||||
IN EFI_DEVICE_PATH_PROTOCOL *FilePath,
|
|
||||||
IN VOID *SourceBuffer OPTIONAL,
|
|
||||||
IN UINTN SourceSize,
|
|
||||||
IN EFI_PHYSICAL_ADDRESS DstBuffer OPTIONAL,
|
|
||||||
OUT UINTN *NumberOfPages OPTIONAL,
|
|
||||||
OUT EFI_HANDLE *ImageHandle,
|
|
||||||
OUT EFI_PHYSICAL_ADDRESS *EntryPoint OPTIONAL,
|
|
||||||
IN UINT32 Attribute
|
|
||||||
)
|
|
||||||
{
|
|
||||||
return CoreLoadImageCommon (
|
|
||||||
TRUE,
|
|
||||||
ParentImageHandle,
|
|
||||||
FilePath,
|
|
||||||
SourceBuffer,
|
|
||||||
SourceSize,
|
|
||||||
DstBuffer,
|
|
||||||
NumberOfPages,
|
|
||||||
ImageHandle,
|
|
||||||
EntryPoint,
|
|
||||||
Attribute
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Transfer control to a loaded image's entry point.
|
Transfer control to a loaded image's entry point.
|
||||||
|
|
||||||
|
@ -1380,25 +1310,3 @@ Done:
|
||||||
return Status;
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
Unload the specified image.
|
|
||||||
|
|
||||||
@param This Indicates the calling context.
|
|
||||||
@param ImageHandle The specified image handle.
|
|
||||||
|
|
||||||
@retval EFI_INVALID_PARAMETER Image handle is NULL.
|
|
||||||
@retval EFI_UNSUPPORTED Attempt to unload an unsupported image.
|
|
||||||
@retval EFI_SUCCESS Image successfully unloaded.
|
|
||||||
|
|
||||||
**/
|
|
||||||
EFI_STATUS
|
|
||||||
EFIAPI
|
|
||||||
CoreUnloadImageEx (
|
|
||||||
IN EFI_PE32_IMAGE_PROTOCOL *This,
|
|
||||||
IN EFI_HANDLE ImageHandle
|
|
||||||
)
|
|
||||||
{
|
|
||||||
return CoreUnloadImage (ImageHandle);
|
|
||||||
}
|
|
||||||
|
|
|
@ -65,19 +65,6 @@ typedef struct {
|
||||||
CR(a, LOADED_IMAGE_PRIVATE_DATA, Info, LOADED_IMAGE_PRIVATE_DATA_SIGNATURE)
|
CR(a, LOADED_IMAGE_PRIVATE_DATA, Info, LOADED_IMAGE_PRIVATE_DATA_SIGNATURE)
|
||||||
|
|
||||||
|
|
||||||
#define LOAD_PE32_IMAGE_PRIVATE_DATA_SIGNATURE SIGNATURE_32('l','p','e','i')
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
UINTN Signature;
|
|
||||||
/// Image handle
|
|
||||||
EFI_HANDLE Handle;
|
|
||||||
EFI_PE32_IMAGE_PROTOCOL Pe32Image;
|
|
||||||
} LOAD_PE32_IMAGE_PRIVATE_DATA;
|
|
||||||
|
|
||||||
#define LOAD_PE32_IMAGE_PRIVATE_DATA_FROM_THIS(a) \
|
|
||||||
CR(a, LOAD_PE32_IMAGE_PRIVATE_DATA, Pe32Image, LOAD_PE32_IMAGE_PRIVATE_DATA_SIGNATURE)
|
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Private Data Types
|
// Private Data Types
|
||||||
//
|
//
|
||||||
|
@ -150,66 +137,5 @@ CoreReadImageFile (
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
Loads an EFI image into memory and returns a handle to the image with extended parameters.
|
|
||||||
|
|
||||||
@param This Calling context
|
|
||||||
@param ParentImageHandle The caller's image handle.
|
|
||||||
@param FilePath The specific file path from which the image is
|
|
||||||
loaded.
|
|
||||||
@param SourceBuffer If not NULL, a pointer to the memory location
|
|
||||||
containing a copy of the image to be loaded.
|
|
||||||
@param SourceSize The size in bytes of SourceBuffer.
|
|
||||||
@param DstBuffer The buffer to store the image.
|
|
||||||
@param NumberOfPages For input, specifies the space size of the
|
|
||||||
image by caller if not NULL. For output,
|
|
||||||
specifies the actual space size needed.
|
|
||||||
@param ImageHandle Image handle for output.
|
|
||||||
@param EntryPoint Image entry point for output.
|
|
||||||
@param Attribute The bit mask of attributes to set for the load
|
|
||||||
PE image.
|
|
||||||
|
|
||||||
@retval EFI_SUCCESS The image was loaded into memory.
|
|
||||||
@retval EFI_NOT_FOUND The FilePath was not found.
|
|
||||||
@retval EFI_INVALID_PARAMETER One of the parameters has an invalid value.
|
|
||||||
@retval EFI_UNSUPPORTED The image type is not supported, or the device
|
|
||||||
path cannot be parsed to locate the proper
|
|
||||||
protocol for loading the file.
|
|
||||||
@retval EFI_OUT_OF_RESOURCES Image was not loaded due to insufficient
|
|
||||||
resources.
|
|
||||||
|
|
||||||
**/
|
|
||||||
EFI_STATUS
|
|
||||||
EFIAPI
|
|
||||||
CoreLoadImageEx (
|
|
||||||
IN EFI_PE32_IMAGE_PROTOCOL *This,
|
|
||||||
IN EFI_HANDLE ParentImageHandle,
|
|
||||||
IN EFI_DEVICE_PATH_PROTOCOL *FilePath,
|
|
||||||
IN VOID *SourceBuffer OPTIONAL,
|
|
||||||
IN UINTN SourceSize,
|
|
||||||
IN EFI_PHYSICAL_ADDRESS DstBuffer OPTIONAL,
|
|
||||||
OUT UINTN *NumberOfPages OPTIONAL,
|
|
||||||
OUT EFI_HANDLE *ImageHandle,
|
|
||||||
OUT EFI_PHYSICAL_ADDRESS *EntryPoint OPTIONAL,
|
|
||||||
IN UINT32 Attribute
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
Unload the specified image.
|
|
||||||
|
|
||||||
@param This Indicates the calling context.
|
|
||||||
@param ImageHandle The specified image handle.
|
|
||||||
|
|
||||||
@retval EFI_INVALID_PARAMETER Image handle is NULL.
|
|
||||||
@retval EFI_UNSUPPORTED Attempt to unload an unsupported image.
|
|
||||||
@retval EFI_SUCCESS Image successfully unloaded.
|
|
||||||
|
|
||||||
**/
|
|
||||||
EFI_STATUS
|
|
||||||
EFIAPI
|
|
||||||
CoreUnloadImageEx (
|
|
||||||
IN EFI_PE32_IMAGE_PROTOCOL *This,
|
|
||||||
IN EFI_HANDLE ImageHandle
|
|
||||||
);
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,95 +0,0 @@
|
||||||
/** @file
|
|
||||||
|
|
||||||
Load Pe32 Image protocol provides capability to load and unload EFI image into memory and execute it.
|
|
||||||
This protocol bases on File Device Path to get EFI image.
|
|
||||||
|
|
||||||
Copyright (c) 2006 - 2008, 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 __LOAD_PE32_IMAGE_H__
|
|
||||||
#define __LOAD_PE32_IMAGE_H__
|
|
||||||
|
|
||||||
#define PE32_IMAGE_PROTOCOL_GUID \
|
|
||||||
{0x5cb5c776,0x60d5,0x45ee,{0x88,0x3c,0x45,0x27,0x8,0xcd,0x74,0x3f }}
|
|
||||||
|
|
||||||
#define EFI_LOAD_PE_IMAGE_ATTRIBUTE_NONE 0x00
|
|
||||||
#define EFI_LOAD_PE_IMAGE_ATTRIBUTE_RUNTIME_REGISTRATION 0x01
|
|
||||||
#define EFI_LOAD_PE_IMAGE_ATTRIBUTE_DEBUG_IMAGE_INFO_TABLE_REGISTRATION 0x02
|
|
||||||
|
|
||||||
typedef struct _EFI_PE32_IMAGE_PROTOCOL EFI_PE32_IMAGE_PROTOCOL;
|
|
||||||
|
|
||||||
/**
|
|
||||||
|
|
||||||
Loads an EFI image into memory and returns a handle to the image with extended parameters.
|
|
||||||
|
|
||||||
@param This Pointer to the LoadPe32Image protocol instance
|
|
||||||
@param ParentImageHandle The caller's image handle.
|
|
||||||
@param FilePath The specific file path from which the image is loaded.
|
|
||||||
@param SourceBuffer If not NULL, a pointer to the memory location containing a copy of
|
|
||||||
the image to be loaded.
|
|
||||||
@param SourceSize The size in bytes of SourceBuffer.
|
|
||||||
@param DstBuffer The buffer to store the image.
|
|
||||||
@param NumberOfPages For input, specifies the space size of the image by caller if not NULL.
|
|
||||||
For output, specifies the actual space size needed.
|
|
||||||
@param ImageHandle Image handle for output.
|
|
||||||
@param EntryPoint Image entry point for output.
|
|
||||||
@param Attribute The bit mask of attributes to set for the load PE image.
|
|
||||||
|
|
||||||
@retval EFI_SUCCESS The image was loaded into memory.
|
|
||||||
@retval EFI_NOT_FOUND The FilePath was not found.
|
|
||||||
@retval EFI_INVALID_PARAMETER One of the parameters has an invalid value.
|
|
||||||
@retval EFI_UNSUPPORTED The image type is not supported, or the device path cannot be
|
|
||||||
parsed to locate the proper protocol for loading the file.
|
|
||||||
@retval EFI_OUT_OF_RESOURCES Image was not loaded due to insufficient memory resources.
|
|
||||||
**/
|
|
||||||
typedef
|
|
||||||
EFI_STATUS
|
|
||||||
(EFIAPI *LOAD_PE_IMAGE)(
|
|
||||||
IN EFI_PE32_IMAGE_PROTOCOL *This,
|
|
||||||
IN EFI_HANDLE ParentImageHandle,
|
|
||||||
IN EFI_DEVICE_PATH_PROTOCOL *FilePath,
|
|
||||||
IN VOID *SourceBuffer OPTIONAL,
|
|
||||||
IN UINTN SourceSize,
|
|
||||||
IN EFI_PHYSICAL_ADDRESS DstBuffer OPTIONAL,
|
|
||||||
OUT UINTN *NumberOfPages OPTIONAL,
|
|
||||||
OUT EFI_HANDLE *ImageHandle,
|
|
||||||
OUT EFI_PHYSICAL_ADDRESS *EntryPoint OPTIONAL,
|
|
||||||
IN UINT32 Attribute
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
|
||||||
|
|
||||||
Unload the specified image.
|
|
||||||
|
|
||||||
@param This Pointer to the LoadPe32Image protocol instance
|
|
||||||
@param ImageHandle The specified image handle to be unloaded.
|
|
||||||
|
|
||||||
@retval EFI_INVALID_PARAMETER Image handle is NULL.
|
|
||||||
@retval EFI_UNSUPPORTED Attempt to unload an unsupported image.
|
|
||||||
@retval EFI_SUCCESS Image is successfully unloaded.
|
|
||||||
|
|
||||||
--*/
|
|
||||||
typedef
|
|
||||||
EFI_STATUS
|
|
||||||
(EFIAPI *UNLOAD_PE_IMAGE)(
|
|
||||||
IN EFI_PE32_IMAGE_PROTOCOL *This,
|
|
||||||
IN EFI_HANDLE ImageHandle
|
|
||||||
);
|
|
||||||
|
|
||||||
struct _EFI_PE32_IMAGE_PROTOCOL {
|
|
||||||
LOAD_PE_IMAGE LoadPeImage;
|
|
||||||
UNLOAD_PE_IMAGE UnLoadPeImage;
|
|
||||||
};
|
|
||||||
|
|
||||||
extern EFI_GUID gEfiLoadPeImageProtocolGuid;
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -142,10 +142,6 @@
|
||||||
gEfiCrc32GuidedSectionExtractionGuid = { 0xFC1BCDB0, 0x7D31, 0x49aa, {0x93, 0x6A, 0xA4, 0x60, 0x0D, 0x9D, 0xD0, 0x83 } }
|
gEfiCrc32GuidedSectionExtractionGuid = { 0xFC1BCDB0, 0x7D31, 0x49aa, {0x93, 0x6A, 0xA4, 0x60, 0x0D, 0x9D, 0xD0, 0x83 } }
|
||||||
|
|
||||||
[Protocols.common]
|
[Protocols.common]
|
||||||
## Load File protocol provides capability to load and unload EFI image into memory and execute it.
|
|
||||||
## Include/Protocol/LoadPe32Image.h
|
|
||||||
gEfiLoadPeImageProtocolGuid = { 0x5CB5C776, 0x60D5, 0x45EE, { 0x88, 0x3C, 0x45, 0x27, 0x08, 0xCD, 0x74, 0x3F }}
|
|
||||||
|
|
||||||
## Print protocol defines six basic print functions to print the format unicode and ascii string.
|
## Print protocol defines six basic print functions to print the format unicode and ascii string.
|
||||||
## Include/Protocol/Print2.h
|
## Include/Protocol/Print2.h
|
||||||
gEfiPrint2ProtocolGuid = { 0x5bcc3dbc, 0x8c57, 0x450a, { 0xbb, 0x0c, 0xa1, 0xc0, 0xbd, 0xde, 0x48, 0x0c }}
|
gEfiPrint2ProtocolGuid = { 0x5bcc3dbc, 0x8c57, 0x450a, { 0xbb, 0x0c, 0xa1, 0xc0, 0xbd, 0xde, 0x48, 0x0c }}
|
||||||
|
|
Loading…
Reference in New Issue