1 handoff state, 4 protocols – Intel Extensible Firmware Interface User Manual

Page 52

Advertising
background image

Extensible Firmware Interface Specification

2-12

12/01/02

Version 1.10

2.3.3.1

Handoff State

EFI uses the standard P64 C calling conventions that are defined for Itanium-based operating
systems. Figure 2-3 shows the stack after

ImageEntryPoint

has been called on Itanium-based

systems. The arguments are also stored in registers: out0 contains

EFI_HANDLE

and out1

contains the address of the

EFI_SYSTEM_TABLE

. The gp for the EFI Image will have been

loaded from the plabel pointed to by the

AddressOfEntryPoint

in the image’s PE32+

header. All EFI image entry points take two parameters. These are the image handle of the EFI
image, and a pointer to the EFI System Table.

OM13146

EFI_SYSTEM_TABLE *

EFI_HANDLE

SP + 8

SP

out1

out0

Stack Location Register

Figure 2-3. Stack after

AddressOfEntryPoint

Called, Itanium-based Systems

The SAL specification (see the References appendix) defines the state of the system registers at
boot handoff. The SAL specification also defines which system registers can only be used after
EFI boot services have been properly terminated.

2.4

Protocols

The protocols that a device handle supports are discovered through the

HandleProtocol()

Boot Service or the

OpenProtocol()

Boot Service. Each protocol has a specification that

includes the following:
• The protocol’s globally unique ID (GUID)
• The Protocol Interface structure
• The Protocol Services
To determine if the handle supports any given protocol, the protocol’s GUID is passed to

HandleProtocol()

or

OpenProtocol()

. If the device supports the requested protocol, a

pointer to the defined Protocol Interface structure is returned. The Protocol Interface structure links
the caller to the protocol-specific services to use for this device.

Advertising