MdeModulePkg[all]
0.98
|
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 IN UINT16 | ImageType |
typedef IN UINT16 IN EFI_DEVICE_PATH_PROTOCOL * | DevicePath |
typedef IN EFI_PHYSICAL_ADDRESS | ImageBase |
typedef IN EFI_PHYSICAL_ADDRESS IN UINT64 | ImageSize |
typedef IN EFI_PHYSICAL_ADDRESS IN UINT64 IN OUT EFI_IMAGE_ENTRY_POINT * | EntryPoint |
Functions | |
typedef | BOOLEAN (EFIAPI *EDKII_PECOFF_IMAGE_EMULATOR_IS_IMAGE_SUPPORTED)(IN EDKII_PECOFF_IMAGE_EMULATOR_PROTOCOL *This |
typedef | EFI_STATUS (EFIAPI *EDKII_PECOFF_IMAGE_EMULATOR_REGISTER_IMAGE)(IN EDKII_PECOFF_IMAGE_EMULATOR_PROTOCOL *This |
Variables | |
EFI_GUID | gEdkiiPeCoffImageEmulatorProtocolGuid |
Copyright (c) 2019, Linaro, Ltd. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
#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 |
typedef IN UINT16 IN EFI_DEVICE_PATH_PROTOCOL* DevicePath |
typedef IN EFI_PHYSICAL_ADDRESS IN UINT64 IN OUT EFI_IMAGE_ENTRY_POINT* EntryPoint |
typedef IN EFI_PHYSICAL_ADDRESS ImageBase |
typedef IN EFI_PHYSICAL_ADDRESS IN UINT64 ImageSize |
typedef IN UINT16 ImageType |
typedef BOOLEAN | ( | EFIAPI * | EDKII_PECOFF_IMAGE_EMULATOR_IS_IMAGE_SUPPORTED | ) |
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. |
typedef EFI_STATUS | ( | EFIAPI * | EDKII_PECOFF_IMAGE_EMULATOR_UNREGISTER_IMAGE | ) |
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().
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. |
EFI_GUID gEdkiiPeCoffImageEmulatorProtocolGuid |