iPXE
Data Structures | Defines | Typedefs | Enumerations | Functions
PiDxeCis.h File Reference

Include file matches things in PI. More...

#include <ipxe/efi/Uefi/UefiMultiPhase.h>
#include <ipxe/efi/Pi/PiMultiPhase.h>

Go to the source code of this file.

Data Structures

struct  EFI_GCD_MEMORY_SPACE_DESCRIPTOR
 EFI_GCD_MEMORY_SPACE_DESCRIPTOR. More...
struct  EFI_GCD_IO_SPACE_DESCRIPTOR
 EFI_GCD_IO_SPACE_DESCRIPTOR. More...
struct  DXE_SERVICES

Defines

#define DXE_SERVICES_SIGNATURE   0x565245535f455844ULL
#define DXE_SPECIFICATION_MAJOR_REVISION   1
#define DXE_SPECIFICATION_MINOR_REVISION   40
#define DXE_SERVICES_REVISION   ((DXE_SPECIFICATION_MAJOR_REVISION<<16) | (DXE_SPECIFICATION_MINOR_REVISION))

Typedefs

typedef EFI_STATUS(EFIAPIEFI_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.
typedef EFI_STATUS(EFIAPIEFI_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 global coherency domain of the processor.
typedef EFI_STATUS(EFIAPIEFI_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.
typedef EFI_STATUS(EFIAPIEFI_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.
typedef EFI_STATUS(EFIAPIEFI_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.
typedef EFI_STATUS(EFIAPIEFI_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.
typedef IN UINT64 Length
typedef IN UINT64 IN UINT64 Capabilities
typedef EFI_STATUS(EFIAPIEFI_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.
typedef EFI_STATUS(EFIAPIEFI_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.
typedef EFI_STATUS(EFIAPIEFI_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 processor.
typedef EFI_STATUS(EFIAPIEFI_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.
typedef EFI_STATUS(EFIAPIEFI_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.
typedef EFI_STATUS(EFIAPIEFI_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.
typedef EFI_STATUS(EFIAPIEFI_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.
typedef EFI_STATUS(EFIAPIEFI_DISPATCH )(VOID)
 Loads and executed DXE drivers from firmware volumes.
typedef EFI_STATUS(EFIAPIEFI_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.
typedef EFI_STATUS(EFIAPIEFI_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.
typedef EFI_STATUS(EFIAPIEFI_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.
typedef DXE_SERVICES EFI_DXE_SERVICES

Enumerations

enum  EFI_GCD_MEMORY_TYPE {
  EfiGcdMemoryTypeNonExistent, EfiGcdMemoryTypeReserved, EfiGcdMemoryTypeSystemMemory, EfiGcdMemoryTypeMemoryMappedIo,
  EfiGcdMemoryTypePersistentMemory, EfiGcdMemoryTypeMoreReliable, EfiGcdMemoryTypeMaximum
}
 Global Coherencey Domain types - Memory type. More...
enum  EFI_GCD_IO_TYPE { EfiGcdIoTypeNonExistent, EfiGcdIoTypeReserved, EfiGcdIoTypeIo, EfiGcdIoTypeMaximum }
 Global Coherencey Domain types - IO type. More...
enum  EFI_GCD_ALLOCATE_TYPE {
  EfiGcdAllocateAnySearchBottomUp, EfiGcdAllocateMaxAddressSearchBottomUp, EfiGcdAllocateAddress, EfiGcdAllocateAnySearchTopDown,
  EfiGcdAllocateMaxAddressSearchTopDown, EfiGcdMaxAllocateType
}
 The type of allocation to perform. More...

Functions

 FILE_LICENCE (BSD3)
typedef EFI_STATUS (EFIAPI *EFI_SET_MEMORY_SPACE_CAPABILITIES)(IN EFI_PHYSICAL_ADDRESS BaseAddress
 Modifies the capabilities for a memory region in the global coherency domain of the processor.

Detailed Description

Include file matches things in PI.

Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License that accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php.

THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

Revision Reference:
PI Version 1.4

Definition in file PiDxeCis.h.


Define Documentation

#define DXE_SERVICES_SIGNATURE   0x565245535f455844ULL

Definition at line 695 of file PiDxeCis.h.

Definition at line 696 of file PiDxeCis.h.

Definition at line 697 of file PiDxeCis.h.

Definition at line 698 of file PiDxeCis.h.


Typedef Documentation

Adds reserved memory, system memory, or memory-mapped I/O resources to the global coherency domain of the processor.

Parameters:
GcdMemoryTypeThe type of memory resource being added.
BaseAddressThe physical address that is the start address of the memory resource being added.
LengthThe size, in bytes, of the memory resource that is being added.
CapabilitiesThe bit mask of attributes that the memory resource region supports.
Return values:
EFI_SUCCESSThe memory resource was added to the global coherency domain of the processor.
EFI_INVALID_PARAMETERGcdMemoryType is invalid.
EFI_INVALID_PARAMETERLength is zero.
EFI_OUT_OF_RESOURCESThere are not enough system resources to add the memory resource to the global coherency domain of the processor.
EFI_UNSUPPORTEDThe processor does not support one or more bytes of the memory resource range specified by BaseAddress and Length.
EFI_ACCESS_DENIEDOne 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_DENIEDOne or more bytes of the memory resource range specified by BaseAddress and Length was allocated in a prior call to AllocateMemorySpace().

Definition at line 245 of file PiDxeCis.h.

Allocates nonexistent memory, reserved memory, system memory, or memorymapped I/O resources from the global coherency domain of the processor.

Parameters:
GcdAllocateTypeThe type of allocation to perform.
GcdMemoryTypeThe type of memory resource being allocated.
AlignmentThe log base 2 of the boundary that BaseAddress must be aligned on output. Align with 2^Alignment.
LengthThe size in bytes of the memory resource range that is being allocated.
BaseAddressA pointer to a physical address to allocate.
ImagehandleThe image handle of the agent that is allocating the memory resource.
DeviceHandleThe device handle for which the memory resource is being allocated.
Return values:
EFI_INVALID_PARAMETERGcdAllocateType is invalid.
EFI_INVALID_PARAMETERGcdMemoryType is invalid.
EFI_INVALID_PARAMETERLength is zero.
EFI_INVALID_PARAMETERBaseAddress is NULL.
EFI_INVALID_PARAMETERImageHandle is NULL.
EFI_NOT_FOUNDThe memory resource request could not be satisfied. No descriptor contains the desired space.
EFI_OUT_OF_RESOURCESThere are not enough system resources to allocate the memory resource from the global coherency domain of the processor.
EFI_SUCCESSThe memory resource was allocated from the global coherency domain of the processor.

Definition at line 284 of file PiDxeCis.h.

Frees nonexistent memory, reserved memory, system memory, or memory-mapped I/O resources from the global coherency domain of the processor.

Parameters:
BaseAddressThe physical address that is the start address of the memory resource being freed.
LengthThe size in bytes of the memory resource range that is being freed.
Return values:
EFI_SUCCESSThe memory resource was freed from the global coherency domain of the processor.
EFI_INVALID_PARAMETERLength is zero.
EFI_UNSUPPORTEDThe processor does not support one or more bytes of the memory resource range specified by BaseAddress and Length.
EFI_NOT_FOUNDThe memory resource range specified by BaseAddress and Length was not allocated with previous calls to AllocateMemorySpace().
EFI_OUT_OF_RESOURCESThere are not enough system resources to free the memory resource from the global coherency domain of the processor.

Definition at line 314 of file PiDxeCis.h.

Removes reserved memory, system memory, or memory-mapped I/O resources from the global coherency domain of the processor.

Parameters:
BaseAddressThe physical address that is the start address of the memory resource being removed.
LengthThe size in bytes of the memory resource that is being removed.
Return values:
EFI_SUCCESSThe memory resource was removed from the global coherency domain of the processor.
EFI_INVALID_PARAMETERLength is zero.
EFI_UNSUPPORTEDThe processor does not support one or more bytes of the memory resource range specified by BaseAddress and Length.
EFI_NOT_FOUNDOne or more bytes of the memory resource range specified by BaseAddress and Length was not added with previous calls to AddMemorySpace().
EFI_ACCESS_DEFINEDOne or more bytes of the memory resource range specified by BaseAddress and Length has been allocated with AllocateMemorySpace().
EFI_OUT_OF_RESOURCESThere are not enough system resources to remove the memory resource from the global coherency domain of the processor.

Definition at line 342 of file PiDxeCis.h.

Retrieves the descriptor for a memory region containing a specified address.

Parameters:
BaseAddressThe physical address that is the start address of a memory region.
DescriptorA pointer to a caller allocated descriptor.
Return values:
EFI_SUCCESSThe descriptor for the memory resource region containing BaseAddress was returned in Descriptor.
EFI_INVALID_PARAMETERDescriptor is NULL.
EFI_NOT_FOUNDA memory resource range containing BaseAddress was not found.

Definition at line 361 of file PiDxeCis.h.

Modifies the attributes for a memory region in the global coherency domain of the processor.

Parameters:
BaseAddressThe physical address that is the start address of a memory region.
LengthThe size in bytes of the memory region.
AttributesThe bit mask of attributes to set for the memory region.
Return values:
EFI_SUCCESSThe attributes were set for the memory region.
EFI_INVALID_PARAMETERLength is zero.
EFI_UNSUPPORTEDThe processor does not support one or more bytes of the memory resource range specified by BaseAddress and Length.
EFI_UNSUPPORTEDThe bit mask of attributes is not support for the memory resource range specified by BaseAddress and Length.
EFI_ACCESS_DENIEDThe attributes for the memory resource range specified by BaseAddress and Length cannot be modified.
EFI_OUT_OF_RESOURCESThere are not enough system resources to modify the attributes of the memory resource range.
EFI_NOT_AVAILABLE_YETThe attributes cannot be set because CPU architectural protocol is not available yet.

Definition at line 389 of file PiDxeCis.h.

typedef IN UINT64 Length

Definition at line 416 of file PiDxeCis.h.

Definition at line 416 of file PiDxeCis.h.

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.

Parameters:
NumberOfDescriptorsA pointer to number of descriptors returned in the MemorySpaceMap buffer.
MemorySpaceMapA pointer to the array of EFI_GCD_MEMORY_SPACE_DESCRIPTORs.
Return values:
EFI_SUCCESSThe memory space map was returned in the MemorySpaceMap buffer, and the number of descriptors in MemorySpaceMap was returned in NumberOfDescriptors.
EFI_INVALID_PARAMETERNumberOfDescriptors is NULL.
EFI_INVALID_PARAMETERMemorySpaceMap is NULL.
EFI_OUT_OF_RESOURCESThere are not enough resources to allocate MemorySpaceMap.

Definition at line 437 of file PiDxeCis.h.

Adds reserved I/O or I/O resources to the global coherency domain of the processor.

Parameters:
GcdIoTypeThe type of I/O resource being added.
BaseAddressThe physical address that is the start address of the I/O resource being added.
LengthThe size in bytes of the I/O resource that is being added.
Return values:
EFI_SUCCESSThe I/O resource was added to the global coherency domain of the processor.
EFI_INVALID_PARAMETERGcdIoType is invalid.
EFI_INVALID_PARAMETERLength is zero.
EFI_OUT_OF_RESOURCESThere are not enough system resources to add the I/O resource to the global coherency domain of the processor.
EFI_UNSUPPORTEDThe processor does not support one or more bytes of the I/O resource range specified by BaseAddress and Length.
EFI_ACCESS_DENIEDOne 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_DENIEDOne or more bytes of the I/O resource range specified by BaseAddress and Length was allocated in a prior call to AllocateIoSpace().

Definition at line 468 of file PiDxeCis.h.

Allocates nonexistent I/O, reserved I/O, or I/O resources from the global coherency domain of the processor.

Parameters:
GcdAllocateTypeThe type of allocation to perform.
GcdIoTypeThe type of I/O resource being allocated.
AlignmentThe log base 2 of the boundary that BaseAddress must be aligned on output.
LengthThe size in bytes of the I/O resource range that is being allocated.
BaseAddressA pointer to a physical address.
ImagehandleThe image handle of the agent that is allocating the I/O resource.
DeviceHandleThe device handle for which the I/O resource is being allocated.
Return values:
EFI_SUCCESSThe I/O resource was allocated from the global coherency domain of the processor.
EFI_INVALID_PARAMETERGcdAllocateType is invalid.
EFI_INVALID_PARAMETERGcdIoType is invalid.
EFI_INVALID_PARAMETERLength is zero.
EFI_INVALID_PARAMETERBaseAddress is NULL.
EFI_INVALID_PARAMETERImageHandle is NULL.
EFI_OUT_OF_RESOURCESThere are not enough system resources to allocate the I/O resource from the global coherency domain of the processor.
EFI_NOT_FOUNDThe I/O resource request could not be satisfied.

Definition at line 500 of file PiDxeCis.h.

Frees nonexistent I/O, reserved I/O, or I/O resources from the global coherency domain of the processor.

Parameters:
BaseAddressThe physical address that is the start address of the I/O resource being freed.
LengthThe size in bytes of the I/O resource range that is being freed.
Return values:
EFI_SUCCESSThe I/O resource was freed from the global coherency domain of the processor.
EFI_INVALID_PARAMETERLength is zero.
EFI_UNSUPPORTEDThe processor does not support one or more bytes of the I/O resource range specified by BaseAddress and Length.
EFI_NOT_FOUNDThe I/O resource range specified by BaseAddress and Length was not allocated with previous calls to AllocateIoSpace().
EFI_OUT_OF_RESOURCESThere are not enough system resources to free the I/O resource from the global coherency domain of the processor.

Definition at line 530 of file PiDxeCis.h.

Removes reserved I/O or I/O resources from the global coherency domain of the processor.

Parameters:
BaseAddressA pointer to a physical address that is the start address of the I/O resource being removed.
LengthThe size in bytes of the I/O resource that is being removed.
Return values:
EFI_SUCCESSThe I/O resource was removed from the global coherency domain of the processor.
EFI_INVALID_PARAMETERLength is zero.
EFI_UNSUPPORTEDThe processor does not support one or more bytes of the I/O resource range specified by BaseAddress and Length.
EFI_NOT_FOUNDOne or more bytes of the I/O resource range specified by BaseAddress and Length was not added with previous calls to AddIoSpace().
EFI_ACCESS_DENIEDOne or more bytes of the I/O resource range specified by BaseAddress and Length has been allocated with AllocateIoSpace().
EFI_OUT_OF_RESOURCESThere are not enough system resources to remove the I/O resource from the global coherency domain of the processor.

Definition at line 560 of file PiDxeCis.h.

Retrieves the descriptor for an I/O region containing a specified address.

Parameters:
BaseAddressThe physical address that is the start address of an I/O region.
DescriptorA pointer to a caller allocated descriptor.
Return values:
EFI_SUCCESSThe descriptor for the I/O resource region containing BaseAddress was returned in Descriptor.
EFI_INVALID_PARAMETERDescriptor is NULL.
EFI_NOT_FOUNDAn I/O resource range containing BaseAddress was not found.

Definition at line 579 of file PiDxeCis.h.

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.

Parameters:
NumberOfDescriptorsA pointer to number of descriptors returned in the IoSpaceMap buffer.
MemorySpaceMapA pointer to the array of EFI_GCD_IO_SPACE_DESCRIPTORs.
Return values:
EFI_SUCCESSThe I/O space map was returned in the IoSpaceMap buffer, and the number of descriptors in IoSpaceMap was returned in NumberOfDescriptors.
EFI_INVALID_PARAMETERNumberOfDescriptors is NULL.
EFI_INVALID_PARAMETERIoSpaceMap is NULL.
EFI_OUT_OF_RESOURCESThere are not enough resources to allocate IoSpaceMap.

Definition at line 601 of file PiDxeCis.h.

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.

Return values:
EFI_SUCCESSOne or more DXE driver were dispatched.
EFI_NOT_FOUNDNo DXE drivers were dispatched.
EFI_ALREADY_STARTEDAn attempt is being made to start the DXE Dispatcher recursively. Thus, no action was taken.

Definition at line 626 of file PiDxeCis.h.

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.

Parameters:
FirmwareVolumeHandleThe handle of the firmware volume that contains the file specified by FileName.
FileNameA pointer to the name of the file in a firmware volume.
Return values:
EFI_SUCCESSThe DXE driver was found and its SOR bit was cleared.
EFI_NOT_FOUNDThe DXE driver does not exist, or the DXE driver exists and its SOR bit is not set.

Definition at line 643 of file PiDxeCis.h.

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.

Parameters:
FirmwareVolumeHandleThe handle of the firmware volume that contains the file specified by FileName.
DriverNameA pointer to the name of the file in a firmware volume.
Returns:
Status of promoting FFS from untrusted to trusted state.
Return values:
EFI_NOT_FOUNDThe file was not found in the untrusted state.

Definition at line 661 of file PiDxeCis.h.

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.

Parameters:
FirmwareVolumeHeaderA pointer to the header of the firmware volume.
SizeThe size, in bytes, of the firmware volume.
FirmwareVolumeHandleOn output, a pointer to the created handle.
Return values:
EFI_SUCCESSThe EFI_FIRMWARE_VOLUME_PROTOCOL and EFI_DEVICE_PATH_PROTOCOL were installed onto FirmwareVolumeHandle for the firmware volume described by FirmwareVolumeHeader and Size.
EFI_VOLUME_CORRUPTEDThe firmware volume described by FirmwareVolumeHeader and Size is corrupted.
EFI_OUT_OF_RESOURCESThere 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.

Definition at line 686 of file PiDxeCis.h.

Definition at line 740 of file PiDxeCis.h.


Enumeration Type Documentation

Global Coherencey Domain types - Memory type.

Enumerator:
EfiGcdMemoryTypeNonExistent 

A memory region that is visible to the boot processor.

However, there are no system components that are currently decoding this memory region.

EfiGcdMemoryTypeReserved 

A memory region that is visible to the boot processor.

This memory region is being decoded by a system component, but the memory region is not considered to be either system memory or memory-mapped I/O.

EfiGcdMemoryTypeSystemMemory 

A memory region that is visible to the boot processor.

A memory controller is currently decoding this memory region and the memory controller is producing a tested system memory region that is available to the memory services.

EfiGcdMemoryTypeMemoryMappedIo 

A memory region that is visible to the boot processor.

This memory region is currently being decoded by a component as memory-mapped I/O that can be used to access I/O devices in the platform.

EfiGcdMemoryTypePersistentMemory 

A memory region that is visible to the boot processor.

This memory supports byte-addressable non-volatility.

EfiGcdMemoryTypeMoreReliable 

A memory region that provides higher reliability relative to other memory in the system.

If all memory has the same reliability, then this bit is not used.

EfiGcdMemoryTypeMaximum 

Definition at line 29 of file PiDxeCis.h.

             {
  ///
  /// A memory region that is visible to the boot processor. However, there are no system
  /// components that are currently decoding this memory region.
  ///
  EfiGcdMemoryTypeNonExistent,
  ///
  /// A memory region that is visible to the boot processor. This memory region is being
  /// decoded by a system component, but the memory region is not considered to be either
  /// system memory or memory-mapped I/O.
  ///
  EfiGcdMemoryTypeReserved,
  ///
  /// A memory region that is visible to the boot processor. A memory controller is
  /// currently decoding this memory region and the memory controller is producing a
  /// tested system memory region that is available to the memory services.
  ///
  EfiGcdMemoryTypeSystemMemory,
  ///
  /// A memory region that is visible to the boot processor. This memory region is
  /// currently being decoded by a component as memory-mapped I/O that can be used to
  /// access I/O devices in the platform.
  ///
  EfiGcdMemoryTypeMemoryMappedIo,
  ///
  /// A memory region that is visible to the boot processor.
  /// This memory supports byte-addressable non-volatility.
  ///
  EfiGcdMemoryTypePersistentMemory,
  ///
  /// A memory region that provides higher reliability relative to other memory in the
  /// system. If all memory has the same reliability, then this bit is not used.
  ///
  EfiGcdMemoryTypeMoreReliable,
  EfiGcdMemoryTypeMaximum
} EFI_GCD_MEMORY_TYPE;

Global Coherencey Domain types - IO type.

Enumerator:
EfiGcdIoTypeNonExistent 

An I/O region that is visible to the boot processor.

However, there are no system components that are currently decoding this I/O region.

EfiGcdIoTypeReserved 

An I/O region that is visible to the boot processor.

This I/O region is currently being decoded by a system component, but the I/O region cannot be used to access I/O devices.

EfiGcdIoTypeIo 

An I/O region that is visible to the boot processor.

This I/O region is currently being decoded by a system component that is producing I/O ports that can be used to access I/O devices.

EfiGcdIoTypeMaximum 

Definition at line 69 of file PiDxeCis.h.

             {
  ///
  /// An I/O region that is visible to the boot processor. However, there are no system
  /// components that are currently decoding this I/O region.
  ///
  EfiGcdIoTypeNonExistent,
  ///
  /// An I/O region that is visible to the boot processor. This I/O region is currently being
  /// decoded by a system component, but the I/O region cannot be used to access I/O devices.
  ///
  EfiGcdIoTypeReserved,
  ///
  /// An I/O region that is visible to the boot processor. This I/O region is currently being
  /// decoded by a system component that is producing I/O ports that can be used to access I/O devices.
  ///
  EfiGcdIoTypeIo,
  EfiGcdIoTypeMaximum
} EFI_GCD_IO_TYPE;

The type of allocation to perform.

Enumerator:
EfiGcdAllocateAnySearchBottomUp 

The GCD memory space map is searched from the lowest address up to the highest address looking for unallocated memory ranges.

EfiGcdAllocateMaxAddressSearchBottomUp 

The GCD memory space map is searched from the lowest address up to the specified MaxAddress looking for unallocated memory ranges.

EfiGcdAllocateAddress 

The GCD memory space map is checked to see if the memory range starting at the specified Address is available.

EfiGcdAllocateAnySearchTopDown 

The GCD memory space map is searched from the highest address down to the lowest address looking for unallocated memory ranges.

EfiGcdAllocateMaxAddressSearchTopDown 

The GCD memory space map is searched from the specified MaxAddress down to the lowest address looking for unallocated memory ranges.

EfiGcdMaxAllocateType 

Definition at line 91 of file PiDxeCis.h.

             {
  ///
  /// The GCD memory space map is searched from the lowest address up to the highest address
  /// looking for unallocated memory ranges.
  ///
  EfiGcdAllocateAnySearchBottomUp,
  ///
  /// The GCD memory space map is searched from the lowest address up
  /// to the specified MaxAddress looking for unallocated memory ranges.
  ///
  EfiGcdAllocateMaxAddressSearchBottomUp,
  ///
  /// The GCD memory space map is checked to see if the memory range starting
  /// at the specified Address is available.
  ///
  EfiGcdAllocateAddress,
  ///
  /// The GCD memory space map is searched from the highest address down to the lowest address
  /// looking for unallocated memory ranges.
  ///
  EfiGcdAllocateAnySearchTopDown,
  ///
  /// The GCD memory space map is searched from the specified MaxAddress
  /// down to the lowest address looking for unallocated memory ranges.
  ///
  EfiGcdAllocateMaxAddressSearchTopDown,
  EfiGcdMaxAllocateType
} EFI_GCD_ALLOCATE_TYPE;

Function Documentation

FILE_LICENCE ( BSD3  )
typedef EFI_STATUS ( EFIAPI EFI_SET_MEMORY_SPACE_CAPABILITIES)

Modifies the capabilities for a memory region in the global coherency domain of the processor.

Parameters:
BaseAddressThe physical address that is the start address of a memory region.
LengthThe size in bytes of the memory region.
CapabilitiesThe bit mask of capabilities that the memory region supports.
Return values:
EFI_SUCCESSThe capabilities were set for the memory region.
EFI_INVALID_PARAMETERLength is zero.
EFI_UNSUPPORTEDThe capabilities specified by Capabilities do not include the memory region attributes currently in use.
EFI_ACCESS_DENIEDThe capabilities for the memory resource range specified by BaseAddress and Length cannot be modified.
EFI_OUT_OF_RESOURCESThere are not enough system resources to modify the capabilities of the memory resource range.