12#ifndef __PI_DXECIS_H__
13#define __PI_DXECIS_H__
696#define DXE_SERVICES_SIGNATURE 0x565245535f455844ULL
697#define DXE_SPECIFICATION_MAJOR_REVISION PI_SPECIFICATION_MAJOR_REVISION
698#define DXE_SPECIFICATION_MINOR_REVISION PI_SPECIFICATION_MINOR_REVISION
699#define DXE_SERVICES_REVISION ((DXE_SPECIFICATION_MAJOR_REVISION<<16) | (DXE_SPECIFICATION_MINOR_REVISION))
UINT64 UINTN
Unsigned value of native width.
unsigned long long UINT64
8-byte unsigned value.
#define CONST
Datum is read-only.
#define VOID
Undeclared type.
#define OPTIONAL
Passing the datum to the function is optional, and a NULL is passed if the value is not supplied.
EFI_STATUS(EFIAPI * EFI_SET_MEMORY_SPACE_CAPABILITIES)(IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length, IN UINT64 Capabilities)
Modifies the capabilities for a memory region in the global coherency domain of the processor.
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.
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 process...
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.
EFI_GCD_MEMORY_TYPE
Global Coherencey Domain types - Memory type.
@ EfiGcdMemoryTypeReserved
A memory region that is visible to the boot processor.
@ EfiGcdMemoryTypeNonExistent
A memory region that is visible to the boot processor.
@ EfiGcdMemoryTypePersistent
A memory region that is visible to the boot processor.
@ EfiGcdMemoryTypeMoreReliable
A memory region that provides higher reliability relative to other memory in the system.
@ EfiGcdMemoryTypeMaximum
@ EfiGcdMemoryTypeUnaccepted
A memory region that describes system memory that has not been accepted by a corresponding call to th...
@ EfiGcdMemoryTypeSystemMemory
A memory region that is visible to the boot processor.
@ EfiGcdMemoryTypeMemoryMappedIo
A memory region that is visible to the boot processor.
@ EfiGcdMemoryTypePersistentMemory
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.
DXE_SERVICES EFI_DXE_SERVICES
EFI_GCD_ALLOCATE_TYPE
The type of allocation to perform.
@ EfiGcdAllocateMaxAddressSearchBottomUp
The GCD memory space map is searched from the lowest address up to the specified MaxAddress looking f...
@ EfiGcdAllocateMaxAddressSearchTopDown
The GCD memory space map is searched from the specified MaxAddress down to the lowest address looking...
@ EfiGcdAllocateAnySearchTopDown
The GCD memory space map is searched from the highest address down to the lowest address looking for ...
@ EfiGcdAllocateAddress
The GCD memory space map is checked to see if the memory range starting at the specified Address is a...
@ EfiGcdAllocateAnySearchBottomUp
The GCD memory space map is searched from the lowest address up to the highest address looking for un...
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.
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...
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.
EFI_GCD_IO_TYPE
Global Coherencey Domain types - IO type.
@ EfiGcdIoTypeNonExistent
An I/O region that is visible to the boot processor.
@ EfiGcdIoTypeReserved
An I/O region that is visible to the boot processor.
@ EfiGcdIoTypeIo
An I/O region that is visible to the boot processor.
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.
EFI_STATUS(EFIAPI * EFI_DISPATCH)(VOID)
Loads and executed DXE drivers from firmware volumes.
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 glo...
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 doma...
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 OPTIONAL)
Allocates nonexistent memory, reserved memory, system memory, or memorymapped I/O resources from the ...
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.
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 OPTIONAL)
Allocates nonexistent I/O, reserved I/O, or I/O resources from the global coherency domain of the pro...
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.
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.
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.
Include file matches things in PI for multiple module types.
UINT64 EFI_PHYSICAL_ADDRESS
64-bit physical memory address.
RETURN_STATUS EFI_STATUS
Function return status for EFI API.
GUID EFI_GUID
128-bit buffer containing a unique identifier value.
This includes some definitions introduced in UEFI that will be used in both PEI and DXE phases.
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
#define FILE_SECBOOT(_status)
Declare a file's UEFI Secure Boot permission status.
UINT8_t FileName[128]
File name.
UINT8_t Length
Length of this structure.
UINT16_t Size
Size of structure.
EFI_ADD_IO_SPACE AddIoSpace
EFI_SET_MEMORY_SPACE_ATTRIBUTES SetMemorySpaceAttributes
EFI_ALLOCATE_MEMORY_SPACE AllocateMemorySpace
EFI_FREE_IO_SPACE FreeIoSpace
EFI_ALLOCATE_IO_SPACE AllocateIoSpace
EFI_GET_IO_SPACE_MAP GetIoSpaceMap
EFI_GET_MEMORY_SPACE_MAP GetMemorySpaceMap
EFI_ADD_MEMORY_SPACE AddMemorySpace
EFI_GET_MEMORY_SPACE_DESCRIPTOR GetMemorySpaceDescriptor
EFI_REMOVE_IO_SPACE RemoveIoSpace
EFI_REMOVE_MEMORY_SPACE RemoveMemorySpace
EFI_GET_IO_SPACE_DESCRIPTOR GetIoSpaceDescriptor
EFI_TABLE_HEADER Hdr
The table header for the DXE Services Table.
EFI_SET_MEMORY_SPACE_CAPABILITIES SetMemorySpaceCapabilities
EFI_FREE_MEMORY_SPACE FreeMemorySpace
EFI_PROCESS_FIRMWARE_VOLUME ProcessFirmwareVolume
EFI_GCD_IO_SPACE_DESCRIPTOR.
EFI_HANDLE ImageHandle
The image handle of the agent that allocated the I/O resource described by PhysicalStart and NumberOf...
EFI_PHYSICAL_ADDRESS BaseAddress
Physical address of the first byte in the I/O region.
UINT64 Length
Number of bytes in the I/O region.
EFI_HANDLE DeviceHandle
The device handle for which the I/O resource has been allocated.
EFI_GCD_IO_TYPE GcdIoType
Type of the I/O region.
EFI_GCD_MEMORY_SPACE_DESCRIPTOR.
EFI_GCD_MEMORY_TYPE GcdMemoryType
Type of the memory region.
UINT64 Attributes
The bit mask of attributes that the memory region is currently using.
EFI_HANDLE DeviceHandle
The device handle for which the memory resource has been allocated.
EFI_HANDLE ImageHandle
The image handle of the agent that allocated the memory resource described by PhysicalStart and Numbe...
EFI_PHYSICAL_ADDRESS BaseAddress
The physical address of the first byte in the memory region.
UINT64 Length
The number of bytes in the memory region.
UINT64 Capabilities
The bit mask of attributes that the memory region is capable of supporting.