Extensible Firmware Interface Specification
50 12/12/00 Version 1.02
Related Definitions
//*******************************************************
//EFI_MEMORY_DESCRIPTOR
//*******************************************************
typedef struct {
UINT32 Type;
EFI_PHYSICAL_ADDRESS PhysicalStart;
EFI_VIRTUAL_ADDRESS VirtualStart;
UINT64 NumberOfPages;
UINT64 Attribute;
} EFI_MEMORY_DESCRIPTOR;
Type Type of the memory region (EFI_MEMORY_TYPE, see Section 3.2.1).
PhysicalStart Physical address of the first byte in the memory region. Type
EFI_PHYSICAL_ADDRESS is defined in Section 3.2.1.
VirtualStart Virtual address of the first byte in the memory region. Type
EFI_VIRTUAL_ADDRESS is defined in “Related Definitions”.
NumberOfPages Number of pages in the memory region.
Attribute Attributes of the memory region. See the following “Memory Attribute
Definitions”.
//*******************************************************
// Memory Attribute Definitions
//*******************************************************
// These types can be “ORed” together as needed.
#define EFI_MEMORY_UC 0x0000000000000001
#define EFI_MEMORY_WC 0x0000000000000002
#define EFI_MEMORY_WT 0x0000000000000004
#define EFI_MEMORY_WB 0x0000000000000008
#define EFI_MEMORY_UCE 0x0000000000000010
#define EFI_MEMORY_WP 0x0000000000001000
#define EFI_MEMORY_RP 0x0000000000002000
#define EFI_MEMORY_XP 0x0000000000004000
#define EFI_MEMORY_RUNTIME 0x8000000000000000
EFI_MEMORY_UC Memory cacheability attribute: Memory region is not cacheable.
EFI_MEMORY_WC Memory cacheability attribute: Memory region supports write
combining.
EFI_MEMORY_WT Memory cacheability attribute: Memory region is cacheable with
“write through” policy. Writes that hit in the cache will also be
written to main memory.