MdePkg[all]
1.08
|
Data Structures | |
struct | EFI_GCD_MEMORY_SPACE_DESCRIPTOR |
struct | EFI_GCD_IO_SPACE_DESCRIPTOR |
struct | DXE_SERVICES |
Macros | |
#define | DXE_SERVICES_SIGNATURE 0x565245535f455844ULL |
#define | DXE_SPECIFICATION_MAJOR_REVISION 1 |
#define | DXE_SPECIFICATION_MINOR_REVISION 70 |
#define | DXE_SERVICES_REVISION ((DXE_SPECIFICATION_MAJOR_REVISION<<16) | (DXE_SPECIFICATION_MINOR_REVISION)) |
Functions | |
typedef | EFI_STATUS (EFIAPI *EFI_SET_MEMORY_SPACE_CAPABILITIES)(IN EFI_PHYSICAL_ADDRESS BaseAddress |
Include file matches things in PI.
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
#define DXE_SERVICES_REVISION ((DXE_SPECIFICATION_MAJOR_REVISION<<16) | (DXE_SPECIFICATION_MINOR_REVISION)) |
#define DXE_SERVICES_SIGNATURE 0x565245535f455844ULL |
#define DXE_SPECIFICATION_MAJOR_REVISION 1 |
#define DXE_SPECIFICATION_MINOR_REVISION 70 |
typedef IN UINT64 IN UINT64 Capabilities |
typedef EFI_STATUS(EFIAPI * EFI_ADD_IO_SPACE)(IN EFI_GCD_IO_TYPE GcdIoType, IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length) |
Adds reserved I/O or I/O resources to the global coherency domain of the processor.
GcdIoType | The type of I/O resource being added. |
BaseAddress | The physical address that is the start address of the I/O resource being added. |
Length | The size in bytes of the I/O resource that is being added. |
EFI_SUCCESS | The I/O resource was added to the global coherency domain of the processor. |
EFI_INVALID_PARAMETER | GcdIoType is invalid. |
EFI_INVALID_PARAMETER | Length is zero. |
EFI_OUT_OF_RESOURCES | There are not enough system resources to add the I/O resource to the global coherency domain of the processor. |
EFI_UNSUPPORTED | The processor does not support one or more bytes of the I/O resource range specified by BaseAddress and Length. |
EFI_ACCESS_DENIED | One or more bytes of the I/O resource range specified by BaseAddress and Length conflicts with an I/O resource range that was previously added to the global coherency domain of the processor. |
EFI_ACCESS_DENIED | One or more bytes of the I/O resource range specified by BaseAddress and Length was allocated in a prior call to AllocateIoSpace(). |
typedef EFI_STATUS(EFIAPI * EFI_ADD_MEMORY_SPACE)(IN EFI_GCD_MEMORY_TYPE GcdMemoryType, IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length, IN UINT64 Capabilities) |
Adds reserved memory, system memory, or memory-mapped I/O resources to the global coherency domain of the processor.
GcdMemoryType | The type of memory resource being added. |
BaseAddress | The physical address that is the start address of the memory resource being added. |
Length | The size, in bytes, of the memory resource that is being added. |
Capabilities | The bit mask of attributes that the memory resource region supports. |
EFI_SUCCESS | The memory resource was added to the global coherency domain of the processor. |
EFI_INVALID_PARAMETER | GcdMemoryType is invalid. |
EFI_INVALID_PARAMETER | Length is zero. |
EFI_OUT_OF_RESOURCES | There are not enough system resources to add the memory resource to the global coherency domain of the processor. |
EFI_UNSUPPORTED | The processor does not support one or more bytes of the memory resource range specified by BaseAddress and Length. |
EFI_ACCESS_DENIED | One or more bytes of the memory resource range specified by BaseAddress and Length conflicts with a memory resource range that was previously added to the global coherency domain of the processor. |
EFI_ACCESS_DENIED | One or more bytes of the memory resource range specified by BaseAddress and Length was allocated in a prior call to AllocateMemorySpace(). |
typedef EFI_STATUS(EFIAPI * EFI_ALLOCATE_IO_SPACE)(IN EFI_GCD_ALLOCATE_TYPE GcdAllocateType, IN EFI_GCD_IO_TYPE GcdIoType, IN UINTN Alignment, IN UINT64 Length, IN OUT EFI_PHYSICAL_ADDRESS *BaseAddress, IN EFI_HANDLE ImageHandle, IN EFI_HANDLE DeviceHandle) |
Allocates nonexistent I/O, reserved I/O, or I/O resources from the global coherency domain of the processor.
GcdAllocateType | The type of allocation to perform. |
GcdIoType | The type of I/O resource being allocated. |
Alignment | The log base 2 of the boundary that BaseAddress must be aligned on output. |
Length | The size in bytes of the I/O resource range that is being allocated. |
BaseAddress | A pointer to a physical address. |
Imagehandle | The image handle of the agent that is allocating the I/O resource. |
DeviceHandle | The device handle for which the I/O resource is being allocated. |
EFI_SUCCESS | The I/O resource was allocated from the global coherency domain of the processor. |
EFI_INVALID_PARAMETER | GcdAllocateType is invalid. |
EFI_INVALID_PARAMETER | GcdIoType is invalid. |
EFI_INVALID_PARAMETER | Length is zero. |
EFI_INVALID_PARAMETER | BaseAddress is NULL. |
EFI_INVALID_PARAMETER | ImageHandle is NULL. |
EFI_OUT_OF_RESOURCES | There are not enough system resources to allocate the I/O resource from the global coherency domain of the processor. |
EFI_NOT_FOUND | The I/O resource request could not be satisfied. |
typedef EFI_STATUS(EFIAPI * EFI_ALLOCATE_MEMORY_SPACE)(IN EFI_GCD_ALLOCATE_TYPE GcdAllocateType, IN EFI_GCD_MEMORY_TYPE GcdMemoryType, IN UINTN Alignment, IN UINT64 Length, IN OUT EFI_PHYSICAL_ADDRESS *BaseAddress, IN EFI_HANDLE ImageHandle, IN EFI_HANDLE DeviceHandle) |
Allocates nonexistent memory, reserved memory, system memory, or memorymapped I/O resources from the global coherency domain of the processor.
GcdAllocateType | The type of allocation to perform. |
GcdMemoryType | The type of memory resource being allocated. |
Alignment | The log base 2 of the boundary that BaseAddress must be aligned on output. Align with 2^Alignment. |
Length | The size in bytes of the memory resource range that is being allocated. |
BaseAddress | A pointer to a physical address to allocate. |
Imagehandle | The image handle of the agent that is allocating the memory resource. |
DeviceHandle | The device handle for which the memory resource is being allocated. |
EFI_INVALID_PARAMETER | GcdAllocateType is invalid. |
EFI_INVALID_PARAMETER | GcdMemoryType is invalid. |
EFI_INVALID_PARAMETER | Length is zero. |
EFI_INVALID_PARAMETER | BaseAddress is NULL. |
EFI_INVALID_PARAMETER | ImageHandle is NULL. |
EFI_NOT_FOUND | The memory resource request could not be satisfied. No descriptor contains the desired space. |
EFI_OUT_OF_RESOURCES | There are not enough system resources to allocate the memory resource from the global coherency domain of the processor. |
EFI_SUCCESS | The memory resource was allocated from the global coherency domain of the processor. |
typedef EFI_STATUS(EFIAPI * EFI_DISPATCH)(VOID) |
Loads and executed DXE drivers from firmware volumes.
The Dispatch() function searches for DXE drivers in firmware volumes that have been installed since the last time the Dispatch() service was called. It then evaluates the dependency expressions of all the DXE drivers and loads and executes those DXE drivers whose dependency expression evaluate to TRUE. This service must interact with the Security Architectural Protocol to authenticate DXE drivers before they are executed. This process is continued until no more DXE drivers can be executed.
EFI_SUCCESS | One or more DXE driver were dispatched. |
EFI_NOT_FOUND | No DXE drivers were dispatched. |
EFI_ALREADY_STARTED | An attempt is being made to start the DXE Dispatcher recursively. Thus, no action was taken. |
typedef DXE_SERVICES EFI_DXE_SERVICES |
typedef EFI_STATUS(EFIAPI * EFI_FREE_IO_SPACE)(IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length) |
Frees nonexistent I/O, reserved I/O, or I/O resources from the global coherency domain of the processor.
BaseAddress | The physical address that is the start address of the I/O resource being freed. |
Length | The size in bytes of the I/O resource range that is being freed. |
EFI_SUCCESS | The I/O resource was freed from the global coherency domain of the processor. |
EFI_INVALID_PARAMETER | Length is zero. |
EFI_UNSUPPORTED | The processor does not support one or more bytes of the I/O resource range specified by BaseAddress and Length. |
EFI_NOT_FOUND | The I/O resource range specified by BaseAddress and Length was not allocated with previous calls to AllocateIoSpace(). |
EFI_OUT_OF_RESOURCES | There are not enough system resources to free the I/O resource from the global coherency domain of the processor. |
typedef EFI_STATUS(EFIAPI * EFI_FREE_MEMORY_SPACE)(IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length) |
Frees nonexistent memory, reserved memory, system memory, or memory-mapped I/O resources from the global coherency domain of the processor.
BaseAddress | The physical address that is the start address of the memory resource being freed. |
Length | The size in bytes of the memory resource range that is being freed. |
EFI_SUCCESS | The memory resource was freed from the global coherency domain of the processor. |
EFI_INVALID_PARAMETER | Length is zero. |
EFI_UNSUPPORTED | The processor does not support one or more bytes of the memory resource range specified by BaseAddress and Length. |
EFI_NOT_FOUND | The memory resource range specified by BaseAddress and Length was not allocated with previous calls to AllocateMemorySpace(). |
EFI_OUT_OF_RESOURCES | There are not enough system resources to free the memory resource from the global coherency domain of the processor. |
typedef EFI_STATUS(EFIAPI * EFI_GET_IO_SPACE_DESCRIPTOR)(IN EFI_PHYSICAL_ADDRESS BaseAddress, OUT EFI_GCD_IO_SPACE_DESCRIPTOR *Descriptor) |
Retrieves the descriptor for an I/O region containing a specified address.
BaseAddress | The physical address that is the start address of an I/O region. |
Descriptor | A pointer to a caller allocated descriptor. |
EFI_SUCCESS | The descriptor for the I/O resource region containing BaseAddress was returned in Descriptor. |
EFI_INVALID_PARAMETER | Descriptor is NULL. |
EFI_NOT_FOUND | An I/O resource range containing BaseAddress was not found. |
typedef EFI_STATUS(EFIAPI * EFI_GET_IO_SPACE_MAP)(OUT UINTN *NumberOfDescriptors, OUT EFI_GCD_IO_SPACE_DESCRIPTOR **IoSpaceMap) |
Returns a map of the I/O resources in the global coherency domain of the processor.
NumberOfDescriptors | A pointer to number of descriptors returned in the IoSpaceMap buffer. |
MemorySpaceMap | A pointer to the array of EFI_GCD_IO_SPACE_DESCRIPTORs. |
EFI_SUCCESS | The I/O space map was returned in the IoSpaceMap buffer, and the number of descriptors in IoSpaceMap was returned in NumberOfDescriptors. |
EFI_INVALID_PARAMETER | NumberOfDescriptors is NULL. |
EFI_INVALID_PARAMETER | IoSpaceMap is NULL. |
EFI_OUT_OF_RESOURCES | There are not enough resources to allocate IoSpaceMap. |
typedef EFI_STATUS(EFIAPI * EFI_GET_MEMORY_SPACE_DESCRIPTOR)(IN EFI_PHYSICAL_ADDRESS BaseAddress, OUT EFI_GCD_MEMORY_SPACE_DESCRIPTOR *Descriptor) |
Retrieves the descriptor for a memory region containing a specified address.
BaseAddress | The physical address that is the start address of a memory region. |
Descriptor | A pointer to a caller allocated descriptor. |
EFI_SUCCESS | The descriptor for the memory resource region containing BaseAddress was returned in Descriptor. |
EFI_INVALID_PARAMETER | Descriptor is NULL. |
EFI_NOT_FOUND | A memory resource range containing BaseAddress was not found. |
typedef EFI_STATUS(EFIAPI * EFI_GET_MEMORY_SPACE_MAP)(OUT UINTN *NumberOfDescriptors, OUT EFI_GCD_MEMORY_SPACE_DESCRIPTOR **MemorySpaceMap) |
Returns a map of the memory resources in the global coherency domain of the processor.
NumberOfDescriptors | A pointer to number of descriptors returned in the MemorySpaceMap buffer. |
MemorySpaceMap | A pointer to the array of EFI_GCD_MEMORY_SPACE_DESCRIPTORs. |
EFI_SUCCESS | The memory space map was returned in the MemorySpaceMap buffer, and the number of descriptors in MemorySpaceMap was returned in NumberOfDescriptors. |
EFI_INVALID_PARAMETER | NumberOfDescriptors is NULL. |
EFI_INVALID_PARAMETER | MemorySpaceMap is NULL. |
EFI_OUT_OF_RESOURCES | There are not enough resources to allocate MemorySpaceMap. |
typedef EFI_STATUS(EFIAPI * EFI_PROCESS_FIRMWARE_VOLUME)(IN CONST VOID *FirmwareVolumeHeader, IN UINTN Size, OUT EFI_HANDLE *FirmwareVolumeHandle) |
Creates a firmware volume handle for a firmware volume that is present in system memory.
FirmwareVolumeHeader | A pointer to the header of the firmware volume. |
Size | The size, in bytes, of the firmware volume. |
FirmwareVolumeHandle | On output, a pointer to the created handle. |
EFI_SUCCESS | The EFI_FIRMWARE_VOLUME_PROTOCOL and EFI_DEVICE_PATH_PROTOCOL were installed onto FirmwareVolumeHandle for the firmware volume described by FirmwareVolumeHeader and Size. |
EFI_VOLUME_CORRUPTED | The firmware volume described by FirmwareVolumeHeader and Size is corrupted. |
EFI_OUT_OF_RESOURCES | There are not enough system resources available to produce the EFI_FIRMWARE_VOLUME_PROTOCOL and EFI_DEVICE_PATH_PROTOCOL for the firmware volume described by FirmwareVolumeHeader and Size. |
typedef EFI_STATUS(EFIAPI * EFI_REMOVE_IO_SPACE)(IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length) |
Removes reserved I/O or I/O resources from the global coherency domain of the processor.
BaseAddress | A pointer to a physical address that is the start address of the I/O resource being removed. |
Length | The size in bytes of the I/O resource that is being removed. |
EFI_SUCCESS | The I/O resource was removed from the global coherency domain of the processor. |
EFI_INVALID_PARAMETER | Length is zero. |
EFI_UNSUPPORTED | The processor does not support one or more bytes of the I/O resource range specified by BaseAddress and Length. |
EFI_NOT_FOUND | One or more bytes of the I/O resource range specified by BaseAddress and Length was not added with previous calls to AddIoSpace(). |
EFI_ACCESS_DENIED | One or more bytes of the I/O resource range specified by BaseAddress and Length has been allocated with AllocateIoSpace(). |
EFI_OUT_OF_RESOURCES | There are not enough system resources to remove the I/O resource from the global coherency domain of the processor. |
typedef EFI_STATUS(EFIAPI * EFI_REMOVE_MEMORY_SPACE)(IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length) |
Removes reserved memory, system memory, or memory-mapped I/O resources from the global coherency domain of the processor.
BaseAddress | The physical address that is the start address of the memory resource being removed. |
Length | The size in bytes of the memory resource that is being removed. |
EFI_SUCCESS | The memory resource was removed from the global coherency domain of the processor. |
EFI_INVALID_PARAMETER | Length is zero. |
EFI_UNSUPPORTED | The processor does not support one or more bytes of the memory resource range specified by BaseAddress and Length. |
EFI_NOT_FOUND | One or more bytes of the memory resource range specified by BaseAddress and Length was not added with previous calls to AddMemorySpace(). |
EFI_ACCESS_DEFINED | One or more bytes of the memory resource range specified by BaseAddress and Length has been allocated with AllocateMemorySpace(). |
EFI_OUT_OF_RESOURCES | There are not enough system resources to remove the memory resource from the global coherency domain of the processor. |
typedef EFI_STATUS(EFIAPI * EFI_SCHEDULE)(IN EFI_HANDLE FirmwareVolumeHandle, IN CONST EFI_GUID *FileName) |
Clears the Schedule on Request (SOR) flag for a component that is stored in a firmware volume.
FirmwareVolumeHandle | The handle of the firmware volume that contains the file specified by FileName. |
FileName | A pointer to the name of the file in a firmware volume. |
EFI_SUCCESS | The DXE driver was found and its SOR bit was cleared. |
EFI_NOT_FOUND | The DXE driver does not exist, or the DXE driver exists and its SOR bit is not set. |
typedef EFI_STATUS(EFIAPI * EFI_SET_MEMORY_SPACE_ATTRIBUTES)(IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length, IN UINT64 Attributes) |
Modifies the attributes for a memory region in the global coherency domain of the processor.
BaseAddress | The physical address that is the start address of a memory region. |
Length | The size in bytes of the memory region. |
Attributes | The bit mask of attributes to set for the memory region. |
EFI_SUCCESS | The attributes were set for the memory region. |
EFI_INVALID_PARAMETER | Length is zero. |
EFI_UNSUPPORTED | The processor does not support one or more bytes of the memory resource range specified by BaseAddress and Length. |
EFI_UNSUPPORTED | The bit mask of attributes is not support for the memory resource range specified by BaseAddress and Length. |
EFI_ACCESS_DENIED | The attributes for the memory resource range specified by BaseAddress and Length cannot be modified. |
EFI_OUT_OF_RESOURCES | There are not enough system resources to modify the attributes of the memory resource range. |
EFI_NOT_AVAILABLE_YET | The attributes cannot be set because CPU architectural protocol is not available yet. |
typedef EFI_STATUS(EFIAPI * EFI_TRUST)(IN EFI_HANDLE FirmwareVolumeHandle, IN CONST EFI_GUID *FileName) |
Promotes a file stored in a firmware volume from the untrusted to the trusted state.
FirmwareVolumeHandle | The handle of the firmware volume that contains the file specified by FileName. |
DriverName | A pointer to the name of the file in a firmware volume. |
EFI_NOT_FOUND | The file was not found in the untrusted state. |
The type of allocation to perform.
enum EFI_GCD_IO_TYPE |
Global Coherencey Domain types - IO type.
enum EFI_GCD_MEMORY_TYPE |
Global Coherencey Domain types - Memory type.
typedef EFI_STATUS | ( | EFIAPI * | EFI_SET_MEMORY_SPACE_CAPABILITIES | ) |
Modifies the capabilities for a memory region in the global coherency domain of the processor.
BaseAddress | The physical address that is the start address of a memory region. |
Length | The size in bytes of the memory region. |
Capabilities | The bit mask of capabilities that the memory region supports. |
EFI_SUCCESS | The capabilities were set for the memory region. |
EFI_INVALID_PARAMETER | Length is zero. |
EFI_UNSUPPORTED | The capabilities specified by Capabilities do not include the memory region attributes currently in use. |
EFI_ACCESS_DENIED | The capabilities for the memory resource range specified by BaseAddress and Length cannot be modified. |
EFI_OUT_OF_RESOURCES | There are not enough system resources to modify the capabilities of the memory resource range. |