mirror of
				https://github.com/acidanthera/audk.git
				synced 2025-10-31 19:23:54 +01:00 
			
		
		
		
	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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user