Intel Extensible Firmware Interface User Manual
Page 118

Extensible Firmware Interface Specification
5-20
12/01/02
Version 1.10
Table 5-6.
MemoryType Usage after
ExitBootServices()
Mnemonic
Description
EfiReservedMemoryType
Not used.
EfiLoaderCode
The Loader and/or OS may use this memory as they see fit. Note: the
OS loader that called
is utilizing one or
more
EfiLoaderCode
ranges.
EfiLoaderData
The Loader and/or OS may use this memory as they see fit. Note: the
OS loader that called
ExitBootServices()
is utilizing one or
more
EfiLoaderData
ranges.
EfiBootServicesCode
Memory available for general use.
EfiBootServicesData
Memory available for general use.
EfiRuntimeServicesCode
The memory in this range is to be preserved by the loader and OS in
the working and ACPI S1–S3 states.
EfiRuntimeServicesData
The memory in this range is to be preserved by the loader and OS in
the working and ACPI S1–S3 states.
EfiConventionalMemory
Memory available for general use.
EfiUnusableMemory
Memory that contains errors and is not to be used.
EfiACPIReclaimMemory
This memory is to be preserved by the loader and OS until ACPI is
enabled. Once ACPI is enabled, the memory in this range is available
for general use.
EfiACPIMemoryNVS
This memory is to be preserved by the loader and OS in the working
and ACPI S1–S3 states.
EfiMemoryMappedIO
This memory is not used by the OS. All system memory-mapped IO
information should come from ACPI tables.
EfiMemoryMappedIOPortSpace
This memory is not used by the OS. All system memory-mapped IO
port space information should come from ACPI tables.
EfiPalCode
This memory is to be preserved by the loader and OS in the working
and ACPI S1–S3 states. This memory may also have other attributes
that are defined by the processor implementation.
NOTE
An image that calls
ExitBootServices
()
first calls
to obtain the current
memory map. Following the
ExitBootServices
()
call, the image implicitly owns all unused
memory in the map. This includes memory types
EfiLoaderCode
,
EfiLoaderData
,
EfiBootServicesCode
,
EfiBootServicesData
, and
EfiConventionalMemory
. An EFI-compatible
loader and operating system must preserve the memory marked as
EfiRuntimeServicesCode
and
EfiRuntimeServicesData
.