![Intel Extensible Firmware Interface Specification Download Page 69](http://html1.mh-extra.com/html/intel/extensible-firmware-interface/extensible-firmware-interface_specification_2073117069.webp)
Services
Version 1.02
12/12/00
51
EFI_MEMORY_WB
Memory cacheability attribute: Memory region is cacheable with
“write back” policy. Reads and writes that hit in the cache do not
propagate to main memory. Dirty data is written back to main
memory when a new cache line is allocated.
EFI_MEMORY_UCE
Memory cacheability attribute: Memory region is
uncacheable,exported, and supports the "fetch and add"
semaphore mechanism.
EFI_MEMORY_WP
Physical memory protection attribute: Memory region is write-
protected by system hardware.
EFI_MEMORY_RP
Physical memory protection attribute: Memory region is read-
protected by system hardware.
EFI_MEMORY_XP
Physical memory protection attribute: Memory region is
protected against executing code by system hardware.
EFI_MEMORY_RUNTIME
Runtime memory attribute: The memory region needs to be given
a virtual mapping by the operating system when
SetVirtualAddressMap()
is called.
//*******************************************************
//EFI_VIRTUAL_ADDRESS
//*******************************************************
typedef UINT64
EFI_VIRTUAL_ADDRESS;
//*******************************************************
// Memory Descriptor Version Number
//*******************************************************
#define EFI_MEMORY_DESCRIPTOR_VERSION 1
Description
The
GetMemoryMap()
function returns a copy of the current memory map. The map is an array
of memory descriptors, each of which describes a contiguous block of memory. The map describes
all of memory, no matter how it is being used. That is, it includes blocks allocated by
AllocatePages()
and
AllocatePool()
, as well as blocks which the firmware is using for
its own purposes.
Until
ExitBootServices()
is called, the memory map is owned by the firmware and the
currently executing EFI Image should only use memory pages it has explicitly allocated
If the
MemoryMap
buffer is too small, the
EFI_BUFFER_TOO_SMALL
error code is returned and
the
MemoryMapSize
value contains the size of the buffer needed to contain the current
memory map.
On success a
MapKey
is returned that identifies the current memory map. The firmware’s key is
changed every time something in the memory map changes. In order to successfully invoke
ExitBootServices()
the caller must provide the current memory map key.
Summary of Contents for Extensible Firmware Interface
Page 1: ...Extensible Firmware Interface Specification Version 1 02 December 12 2000...
Page 4: ...Extensible Firmware Interface Specification iv 12 12 00 Version 1 02...
Page 42: ...Extensible Firmware Interface Specification 24 12 01 00 Version 1 02...
Page 190: ...Extensible Firmware Interface Specification 172 12 12 00 Version 1 02...
Page 200: ...Extensible Firmware Interface Specification 182 12 12 00 Version 1 02...
Page 226: ...Extensible Firmware Interface Specification 208 12 12 00 Version 1 02...
Page 230: ...Extensible Firmware Interface Specification 212 12 12 00 Version 1 02...
Page 252: ...Extensible Firmware Interface Specification 234 12 12 00 Version 1 02...
Page 294: ...Extensible Firmware Interface Specification 276 12 12 00 Version 1 02...
Page 348: ...Extensible Firmware Interface Specification 330 12 01 00 Version 1 01...
Page 350: ...Extensible Firmware Interface Specification 332 12 12 00 Version 1 02...
Page 354: ...Extensible Firmware Interface Specification 336 12 12 00 Version 1 02...
Page 362: ...Extensible Firmware Interface Specification 344 12 12 00 Version 1 02...
Page 486: ...Extensible Firmware Interface Specification 468 12 12 00 Version 1 02...
Page 494: ...Extensible Firmware Interface Specification 476 12 12 00 Version 1 02...