TianoCore EDK2 master
|
Go to the source code of this file.
Data Structures | |
struct | _EDKII_PECOFF_IMAGE_EMULATOR_PROTOCOL |
Macros | |
#define | EDKII_PECOFF_IMAGE_EMULATOR_PROTOCOL_GUID { 0x96F46153, 0x97A7, 0x4793, { 0xAC, 0xC1, 0xFA, 0x19, 0xBF, 0x78, 0xEA, 0x97 } } |
#define | EDKII_PECOFF_IMAGE_EMULATOR_VERSION 0x1 |
Typedefs | |
typedef struct _EDKII_PECOFF_IMAGE_EMULATOR_PROTOCOL | EDKII_PECOFF_IMAGE_EMULATOR_PROTOCOL |
typedef BOOLEAN(EFIAPI * | EDKII_PECOFF_IMAGE_EMULATOR_IS_IMAGE_SUPPORTED) (IN EDKII_PECOFF_IMAGE_EMULATOR_PROTOCOL *This, IN UINT16 ImageType, IN EFI_DEVICE_PATH_PROTOCOL *DevicePath OPTIONAL) |
typedef EFI_STATUS(EFIAPI * | EDKII_PECOFF_IMAGE_EMULATOR_REGISTER_IMAGE) (IN EDKII_PECOFF_IMAGE_EMULATOR_PROTOCOL *This, IN EFI_PHYSICAL_ADDRESS ImageBase, IN UINT64 ImageSize, IN OUT EFI_IMAGE_ENTRY_POINT *EntryPoint) |
typedef EFI_STATUS(EFIAPI * | EDKII_PECOFF_IMAGE_EMULATOR_UNREGISTER_IMAGE) (IN EDKII_PECOFF_IMAGE_EMULATOR_PROTOCOL *This, IN EFI_PHYSICAL_ADDRESS ImageBase) |
Variables | |
EFI_GUID | gEdkiiPeCoffImageEmulatorProtocolGuid |
Copyright (c) 2019, Linaro, Ltd. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file PeCoffImageEmulator.h.
#define EDKII_PECOFF_IMAGE_EMULATOR_PROTOCOL_GUID { 0x96F46153, 0x97A7, 0x4793, { 0xAC, 0xC1, 0xFA, 0x19, 0xBF, 0x78, 0xEA, 0x97 } } |
Definition at line 10 of file PeCoffImageEmulator.h.
#define EDKII_PECOFF_IMAGE_EMULATOR_VERSION 0x1 |
Definition at line 85 of file PeCoffImageEmulator.h.
typedef BOOLEAN(EFIAPI * EDKII_PECOFF_IMAGE_EMULATOR_IS_IMAGE_SUPPORTED) (IN EDKII_PECOFF_IMAGE_EMULATOR_PROTOCOL *This, IN UINT16 ImageType, IN EFI_DEVICE_PATH_PROTOCOL *DevicePath OPTIONAL) |
Check whether the emulator supports executing a certain PE/COFF image
[in] | This | This pointer for EDKII_PECOFF_IMAGE_EMULATOR_PROTOCOL structure |
[in] | ImageType | Whether the image is an application, a boot time driver or a runtime driver. |
[in] | DevicePath | Path to device where the image originated (e.g., a PCI option ROM) |
TRUE | The image is supported by the emulator |
FALSE | The image is not supported by the emulator. |
Definition at line 29 of file PeCoffImageEmulator.h.
Definition at line 13 of file PeCoffImageEmulator.h.
typedef EFI_STATUS(EFIAPI * EDKII_PECOFF_IMAGE_EMULATOR_REGISTER_IMAGE) (IN EDKII_PECOFF_IMAGE_EMULATOR_PROTOCOL *This, IN EFI_PHYSICAL_ADDRESS ImageBase, IN UINT64 ImageSize, IN OUT EFI_IMAGE_ENTRY_POINT *EntryPoint) |
Register a supported PE/COFF image with the emulator. After this call completes successfully, the PE/COFF image may be started as usual, and it is the responsibility of the emulator implementation that any branch into the code section of the image (including returns from functions called from the foreign code) is executed as if it were running on the machine type it was built for.
[in] | This | This pointer for EDKII_PECOFF_IMAGE_EMULATOR_PROTOCOL structure |
[in] | ImageBase | The base address in memory of the PE/COFF image |
[in] | ImageSize | The size in memory of the PE/COFF image |
[in,out] | EntryPoint | The entry point of the PE/COFF image. Passed by reference so that the emulator may modify it. |
EFI_SUCCESS | The image was registered with the emulator and can be started as usual. |
other | The image could not be registered. |
If the PE/COFF machine type or image type are not supported by the emulator, then ASSERT().
Definition at line 59 of file PeCoffImageEmulator.h.
typedef EFI_STATUS(EFIAPI * EDKII_PECOFF_IMAGE_EMULATOR_UNREGISTER_IMAGE) (IN EDKII_PECOFF_IMAGE_EMULATOR_PROTOCOL *This, IN EFI_PHYSICAL_ADDRESS ImageBase) |
Unregister a PE/COFF image that has been registered with the emulator. This should be done before the image is unloaded from memory.
[in] | This | This pointer for EDKII_PECOFF_IMAGE_EMULATOR_PROTOCOL structure |
[in] | ImageBase | The base address in memory of the PE/COFF image |
EFI_SUCCESS | The image was unregistered with the emulator. |
other | Image could not be unloaded. |
Definition at line 79 of file PeCoffImageEmulator.h.