Overview
Version 1.02 12/12/00 15
Interfaces added by this specification are divided into the following categories and are detailed later
in this document:
Runtime services
Boot services interfaces, with the following sub-categories:
Global boot service interfaces
Device handle-based boot service interfaces
Device protocols
Protocol services
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 SetVirtualAddressMap() service, the OS will only be able to call EFI
runtime services in a virtual addressing mode. All runtime interfaces are non-blocking 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 those resources are never used by the OS.
The following table 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.
GetNextVariableByName Enumerates variable names.
SetVariable Sets, and if needed creates, a variable.
SetVirtualAddressMap Switches all runtime functions from physical to virtual addressing.
ConvertPointer Used to convert a pointer from physical to virtual addressing.
GetNextHighMonotonicCount Subsumes the platform’s monotonic counter functionality.
ResetSystem Resets all processors and devices and reboots the system.