2 runtime services – Intel Extensible Firmware Interface User Manual

Page 46

Advertising
background image

Extensible Firmware Interface Specification

2-6

12/01/02

Version 1.10

2.2.2

Runtime Services

This section describes EFI runtime service functions. The primary purpose of the EFI runtime
services is to abstract minor parts of the hardware implementation of the platform from the OS.
EFI runtime service functions are available during the boot process and also at runtime provided the
OS switches into flat physical addressing mode to make the runtime call. However, if the OS
loader or OS uses the Runtime Service

SetVirtualAddressMap()

service, the OS will only

be able to call EFI runtime services in a virtual addressing mode. All runtime interfaces are
nonblocking interfaces and can be called with interrupts disabled if desired.

In all cases memory used by the EFI runtime services must be reserved and not used by the OS.
EFI runtime services memory is always available to an EFI function and will never be directly
manipulated by the OS or its components. EFI is responsible for defining the hardware resources
used by runtime services, so the OS can synchronize with those resources when runtime service
calls are made, or guarantee that the OS never uses those resources.

Table 2-1 lists the Runtime Services functions.

Table 2-1.

EFI Runtime Services

Name

Description

GetTime()

Returns the current time, time context, and time keeping
capabilities.

SetTime()

Sets the current time and time context.

GetWakeupTime()

Returns the current wakeup alarm settings.

SetWakeupTime()

Sets the current wakeup alarm settings.

GetVariable()

Returns the value of a named variable.

GetNextVariableName()

Enumerates variable names.

SetVariable()

Sets, and if needed creates, a variable.

SetVirtualAddressMap()

Switches allruntime functions from physicalto virtualaddressing.

ConvertPointer()

Used to convert a pointer from physicalto virtualaddressing.

GetNextHighMonotonicCount()

Subsumes the platform's monotonic counter functionality.

ResetSystem()

Resets all processors and devices and reboots the system.

Advertising