beautypg.com

Intel Extensible Firmware Interface User Manual

Page 102

background image

Extensible Firmware Interface Specification

5-4

12/01/02

Version 1.10

Executing code can temporarily raise its priority level by calling the

RaiseTPL()

function.

Doing this masks event notifications from code running at equal or lower priority levels until the

RestoreTPL()

function is called to reduce the priority to a level below that of the pending event

notifications. There are restrictions on the TPL levels at which many EFI service functions and
protocol interface functions can execute. Table 5-3 summarizes the restrictions.

Table 5-3.

TPL Restrictions

Name

Restriction

Task PriorityLevel

Memory Allocation Services

<=

TPL_NOTIFY

Variable Services

<=

TPL_CALLBACK

ExitBootServices()

=

TPL_APPLICATION

LoadImage()

<

TPL_CALLBACK

StartImage()

<

TPL_CALLBACK

UnloadImage()

<=

TPL_CALLBACK

Exit()

<=

TPL_CALLBACK

Time Services

<=

TPL_CALLBACK

WaitForEvent()

=

TPL_APPLICATION

SignalEvent()

<=

TPL_HIGH_LEVEL

Event Notification Levels

>
<=

TPL_APPLICATION
TPL_HIGH_LEVEL

Protocol Interface Functions

<=

TPL_NOTIIFY

Block I/O Protocol

<=

TPL_CALLBACK

Disk I/O Protocol

<=

TPL_CALLBACK

Simple File System Protocol

<=

TPL_CALLBACK

Simple Input Protocol

<=

TPL_APPLICATION

Simple Text Output Protocol

<=

TPL_NOTIFY

Serial I/O Protocol

<=

TPL_CALLBACK

PXE Base Code Protocol

<=

TPL_CALLBACK

Simple Network Protocol

<=

TPL_CALLBACK