Version 1.10 12/01/02 4-1
4
EFI System Table
This chapter describes the entry point to an EFI image and the parameters that are passed to that
entry point. There are three types of EFI images that can be loaded and executed by EFI firmware.
These are EFI Applications, EFI OS Loaders, and EFI Drivers. There are no differences in the
entry point for these three image types.
4.1 EFI Image Entry Point
The most significant parameter that is passed to an EFI image is a pointer to the EFI System Table.
This pointer is EFI_IMAGE_ENTRY_POINT (see definition immediately below), the main entry
point for an EFI Image. The EFI System Table contains pointers to the active console devices, a
pointer to the EFI Boot Services Table, a pointer to the EFI Runtime Services Table, and a pointer
to the list of system configuration tables such as ACPI, SMBIOS, and the SAL System Table. This
chapter describes the EFI System Table in detail.
EFI_IMAGE_ENTRY_POINT
Summary
This is the main entry point for an EFI Image. This entry point is the same for EFI Applications,
EFI OS Loaders, and EFI Drivers including both device drivers and bus drivers.
Prototype
typedef
EFI_STATUS
(EFIAPI *EFI_IMAGE_ENTRY_POINT) (
IN EFI_HANDLE ImageHandle,
IN EFI_SYSTEM_TABLE *SystemTable
);
Parameters
ImageHandle The firmware allocated handle for the EFI image.
SystemTable A pointer to the EFI System Table.
Description
This function is the entry point to an EFI image. An EFI image is loaded and relocated in system
memory by the EFI Boot Service LoadImage()
. An EFI image is invoked through the EFI Boot
Service StartImage()
.