1 event, timer, and task priority services, 1 event, timer, and task priorityservices – Intel Extensible Firmware Interface User Manual
Page 100
Extensible Firmware Interface Specification
5-2
12/01/02
Version 1.10
The rest of this chapter discusses individual functions. Global boot services functions fall into
these categories:
• Event, Timer, and Task Priority Services (Section 5.1)
• Memory Allocation Services (Section 5.2)
• Protocol Handler Services (Section 5.3)
• Image Services (Section 5.4)
• Miscellaneous Services (Section 5.5)
5.1
Event, Timer, and Task PriorityServices
The functions that make up the Event, Timer, and Task Priority Services are used during preboot to
create, close, signal, and wait for events; to set timers; and to raise and restore task priority levels.
See Table 5-1.
Table 5-1.
Event, Timer, and Task PriorityFunctions
Name
Type
Description
CreateEvent
Boot
Creates a general-purpose event structure.
CloseEvent
Boot
Closes and frees an event structure.
SignalEvent
Boot
Signals an event.
WaitForEvent
Boot
Stops execution until an event is signaled.
CheckEvent
Boot
Checks whether an event is in the signaled state.
SetTimer
Boot
Sets an event to be signaled at a particular time.
RaiseTPL
Boot
Raises the task priority level.
RestoreTPL
Boot
Restores/lowers the task priority level.
Execution in the boot services environment occurs at different task priority levels, or TPLs. The
boot services environment exposes only three of these levels to EFI applications and drivers:
•
the lowest priority level
•
, an intermediate priority level
•
, the highest priority level
Tasks that execute at a higher priority level may interrupt tasks that execute at a lower priority
level. For example, tasks that run at the
TPL_NOTIFY
level may interrupt tasks that run at the
TPL_APPLICATION
or
TPL_CALLBACK
level. While
TPL_NOTIFY
is the highest level
exposed to the boot services applications, the firmware may have higher task priority items it deals
with. For example, the firmware may have to deal with tasks of higher priority like timer ticks and
internal devices. Consequently, there is a fourth TPL,
designed for use
exclusively by the firmware.