EmulatorPkg[all]
0.1
|
Data Structures | |
struct | EMU_THUNK_PPI |
Macros | |
#define | EMU_THUNK_PPI_GUID { 0xB958B78C, 0x1D3E, 0xEE40, { 0x8B, 0xF4, 0xF0, 0x63, 0x2D, 0x06, 0x39, 0x16 } } |
Typedefs | |
typedef OUT EFI_PHYSICAL_ADDRESS * | MemoryBase |
typedef OUT EFI_PHYSICAL_ADDRESS OUT UINT64 * | MemorySize |
typedef IN OUT EFI_PHYSICAL_ADDRESS * | FdBase |
typedef IN OUT EFI_PHYSICAL_ADDRESS IN OUT UINT64 * | FdSize |
typedef IN OUT EFI_PHYSICAL_ADDRESS IN OUT UINT64 IN OUT EFI_PHYSICAL_ADDRESS * | FixUp |
typedef VOID *EFIAPI * | EMU_PEI_THUNK_INTERFACE (VOID) |
typedef EFI_PHYSICAL_ADDRESS * | ImageAddress |
typedef EFI_PHYSICAL_ADDRESS UINT64 * | ImageSize |
typedef EFI_PHYSICAL_ADDRESS UINT64 EFI_PHYSICAL_ADDRESS * | EntryPoint |
Functions | |
typedef | EFI_STATUS (EFIAPI *EMU_PEI_AUTOSCAN)(IN UINTN Index |
Variables | |
EFI_GUID | gEmuThunkPpiGuid |
Emulator Thunk to abstract OS services from pure EFI code
Copyright (c) 2008 - 2011, Apple Inc. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
#define EMU_THUNK_PPI_GUID { 0xB958B78C, 0x1D3E, 0xEE40, { 0x8B, 0xF4, 0xF0, 0x63, 0x2D, 0x06, 0x39, 0x16 } } |
typedef EFI_PHYSICAL_ADDRESS UINT64 EFI_PHYSICAL_ADDRESS* EntryPoint |
typedef IN OUT EFI_PHYSICAL_ADDRESS* FdBase |
typedef EFI_PHYSICAL_ADDRESS* ImageAddress |
typedef OUT EFI_PHYSICAL_ADDRESS* MemoryBase |
typedef OUT EFI_PHYSICAL_ADDRESS OUT UINT64* MemorySize |
typedef EFI_STATUS | ( | EFIAPI * | EMU_BLOCK_FLUSH | ) |
Enumerates the current set of protocol instances that abstract OS services from EFI.
A given protocol can have multiple instances. Usually a protocol is configured via a single PCD string. The data associated for each instance is seperated via a ! in the string. EMU_IO_THUNK_PROTOCOL_CLOSE.ConfigString will contain the information in the PCD string up to the next !. Thus each instance has a unique ConfigString.
EmuBusDriver | TRUE means only return protocol instances that need to be produced by the EmuBusDriver. FALSE means return all possible protocols |
Instance | On input the protocol to search for, or NULL to start a search of all the supported protocol instances. |
NextProtocol | On output it represents the next value to be passed into Protocol. |
Interface | A pointer to the EMU_IO_THUNK_PROTOCOL_CLOSE interface. |
EFI_SUCCESS | The function completed successfully. |
EFI_NOT_FOUND | The next protocol instance was not found. |
EFI_INVALID_PARAMETER | Instance is NULL. |
Read BufferSize bytes from Lba into Buffer.
This function reads the requested number of blocks from the device. All the blocks are read, or an error is returned. If EFI_DEVICE_ERROR, EFI_NO_MEDIA,_or EFI_MEDIA_CHANGED is returned and non-blocking I/O is being used, the Event associated with this request will not be signaled.
[in] | This | Indicates a pointer to the calling context. |
[in] | MediaId | Id of the media, changes every time the media is replaced. |
[in] | Lba | The starting Logical Block Address to read from. |
[in,out] | Token | A pointer to the token associated with the transaction. |
[in] | BufferSize | Size of Buffer, must be a multiple of device block size. |
[out] | Buffer | A pointer to the destination buffer for the data. The caller is responsible for either having implicit or explicit ownership of the buffer. |
EFI_SUCCESS | The read request was queued if Token->Event is not NULL.The data was read correctly from the device if the Token->Event is NULL. |
EFI_DEVICE_ERROR | The device reported an error while performing the read. |
EFI_NO_MEDIA | There is no media in the device. |
EFI_MEDIA_CHANGED | The MediaId is not for the current media. |
EFI_BAD_BUFFER_SIZE | The BufferSize parameter is not a multiple of the intrinsic block size of the device. |
EFI_INVALID_PARAMETER | The read request contains LBAs that are not valid, or the buffer is not on proper alignment. |
EFI_OUT_OF_RESOURCES | The request could not be completed due to a lack of resources. |
Write BufferSize bytes from Lba into Buffer.
This function writes the requested number of blocks to the device. All blocks are written, or an error is returned.If EFI_DEVICE_ERROR, EFI_NO_MEDIA, EFI_WRITE_PROTECTED or EFI_MEDIA_CHANGED is returned and non-blocking I/O is being used, the Event associated with this request will not be signaled.
[in] | This | Indicates a pointer to the calling context. |
[in] | MediaId | The media ID that the write request is for. |
[in] | Lba | The starting logical block address to be written. The caller is responsible for writing to only legitimate locations. |
[in,out] | Token | A pointer to the token associated with the transaction. |
[in] | BufferSize | Size of Buffer, must be a multiple of device block size. |
[in] | Buffer | A pointer to the source buffer for the data. |
EFI_SUCCESS | The write request was queued if Event is not NULL. The data was written correctly to the device if the Event is NULL. |
EFI_WRITE_PROTECTED | The device can not be written to. |
EFI_NO_MEDIA | There is no media in the device. |
EFI_MEDIA_CHNAGED | The MediaId does not matched the current device. |
EFI_DEVICE_ERROR | The device reported an error while performing the write. |
EFI_BAD_BUFFER_SIZE | The Buffer was not a multiple of the block size of the device. |
EFI_INVALID_PARAMETER | The write request contains LBAs that are not valid, or the buffer is not on proper alignment. |
EFI_OUT_OF_RESOURCES | The request could not be completed due to a lack of resources. |
Flush the Block Device.
If EFI_DEVICE_ERROR, EFI_NO_MEDIA,_EFI_WRITE_PROTECTED or EFI_MEDIA_CHANGED is returned and non-blocking I/O is being used, the Event associated with this request will not be signaled.
[in] | This | Indicates a pointer to the calling context. |
[in,out] | Token | A pointer to the token associated with the transaction |
EFI_SUCCESS | The flush request was queued if Event is not NULL. All outstanding data was written correctly to the device if the Event is NULL. |
EFI_DEVICE_ERROR | The device reported an error while writting back the data. |
EFI_WRITE_PROTECTED | The device cannot be written to. |
EFI_NO_MEDIA | There is no media in the device. |
EFI_MEDIA_CHANGED | The MediaId is not for the current media. |
EFI_OUT_OF_RESOURCES | The request could not be completed due to a lack of resources. |
EFI_GUID gEmuThunkPpiGuid |