beautypg.com

Intel Extensible Firmware Interface User Manual

Page 118

background image

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

ExitBootServices()

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

GetMemoryMap()

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

.