
EFI Image
Version 1.02 12/12/00 115
EFI_INSTALL_PROTOCOL_INTERFACE InstallProtocolInterface;
EFI_REINSTALL_PROTOCOL_INTERFACE ReinstallProtocolInterface;
EFI_UNINSTALL_PROTOCOL_INTERFACE UninstallProtocolInterface;
EFI_HANDLE_PROTOCOL HandleProtocol;
EFI_HANDLE_PROTOCOL PCHandleProtocol;
EFI_REGISTER_PROTOCOL_NOTIFY RegisterProtocolNotify;
EFI_LOCATE_HANDLE LocateHandle;
EFI_LOCATE_DEVICE_PATH LocateDevicePath;
EFI_INSTALL_CONFIGURATION_TABLE InstallConfigurationTable;
//
// Image Services
//
EFI_IMAGE_LOAD LoadImage;
EFI_IMAGE_START StartImage;
EFI_EXIT Exit;
EFI_IMAGE_UNLOAD UnloadImage;
EFI_EXIT_BOOT_SERVICES ExitBootServices;
//
// Miscellaneous Services
....// See note about InstallConfigurationTable() under “Protocol Handler
....// Services” above.
//
EFI_GET_NEXT_MONOTONIC_COUNT GetNextMonotonicCount;
EFI_STALL Stall;
EFI_SET_WATCHDOG_TIMER SetWatchdogTimer;
} EFI_BOOT_SERVICES;
4.5.1.1 IA-32 Handoff State
When an IA-32 EFI OS is loaded, the system firmware hands off control to the OS in flat 32-bit
mode. All descriptors are set to their 4 GB limits so that all of memory is accessible from all
segments. The address of the IDT is not defined and thus it cannot be manipulated directly during
boot services.
Figure 4-1 shows the stack after ImageEntryPoint has been called on IA-32 systems.
EFI_SYSTEM_TABLE *
EFI_HANDLE
Stack
ESP + 8
ESP + 4
Location
<return address> ESP
Figure 4-1. Stack after ImageEntryPoint Called, IA-32