beautypg.com

Status codes returned – Intel Extensible Firmware Interface User Manual

Page 210

background image

Extensible Firmware Interface Specification

6-18

12/01/02

Version 1.10

When this function is called, all events that were registered to be signaled on an address map
change are notified. Each component that is notified must update any internal pointers for their
new addresses. This can be done with the

ConvertPointer()

function. Once all events have

been notified, the EFI firmware reapplies image “fix-up” information to virtually relocate all
runtime images to their new addresses. In addition, all of the fields of the EFI Runtime Services
Table except

SetVirtualAddressMap

and

ConvertPointer

must be converted from

physical pointers to virtual pointers using the

ConvertPointer()

service. The

SetVirtualAddressMap()

and

ConvertPointer()

services are only callable in physical

mode, so they do not need to be converted from physical pointers to virtual pointers. Several fields
of the EFI System Table must be converted from physical pointers to virtual pointers using the

ConvertPointer()

service. These fields include

FirmwareVendor

,

RuntimeServices

,

and

ConfigurationTable

. Because contents of both the EFI Runtime Services Table and the

EFI System Table are modified by this service, the 32-bit CRC for the EFI Runtime Services Table
and the EFI System Table must be recomputed.

A virtual address map may only be applied one time. Once the runtime system is in virtual mode,
calls to this function return

EFI_UNSUPPORTED

.

Status Codes Returned

EFI_SUCCESS

The virtual address map has been applied.

EFI_UNSUPPORTED

EFI firmware is not at runtime, or the EFI firmware is already in

virtual address mapped mode.

EFI_INVALID_PARAMETER

DescriptorSize

or

DescriptorVersion

is

invalid.

EFI_NO_MAPPING

A virtual address was not supplied for a range in the memory
map that requires a mapping.

EFI_NOT_FOUND

A virtual address was supplied for an address that is not found
in the memory map.