Extensible Firmware Interface Specification
18
12/12/00
Version 1.02
2.3.2 IA-32
Platforms
All functions are called with the C language calling convention. The general-purpose registers that
are volatile across function calls are
eax
,
ecx
, and
edx
. All other general-purpose registers are non-
volatile and are preserved by the target function. In addition, unless otherwise specified by the
function definition, all other registers are preserved. For example, this would include the entire
floating point and Intel
®
MMX
™
technology state.
During boot services time the processor is in the following execution mode:
•
Uniprocessor
•
Protected mode
•
Paging mode not enabled
•
Selectors are set to be flat and are otherwise not used
•
Interrupts are enabled – though no interrupt services are supported other than the EFI boot
services timer functions (All loaded device drivers are serviced synchronously by “polling.”)
•
Direction flag in EFLAGs is clear
•
Other general purpose flag registers are undefined
•
128 KB, or more, of available stack space
For an operating system to use any EFI runtime services, it must:
•
Preserve all memory in the memory map marked as runtime code and runtime data
•
Call the runtime service functions, with the following conditions:
Called from the boot processor
In protected mode
Paging
not
enabled
All selectors set to be flat with virtual = physical address. If the OS Loader or OS used
SetVirtualAddressMap()
to relocate the runtime services in a virtual address
space, then this condition does not have to be met.
Direction flag in EFLAGs clear
4 KB, or more, of available stack space
Interrupts disabled
•
Synchronize processor access to the legacy CMOS registers (if there are multiple processors).
Only one processor can access the registers at any given time.
2.3.3 Itanium-based
Platforms
EFI executes as an extension to the SAL execution environment with the same rules as laid out by
the SAL specification.
During boot services time the processor is in the following execution mode:
•
Uniprocessor
•
Physical mode
•
128 KB, or more, of available stack space
•
16 KB, or more, of available backing store space
•
May only use the lower 32 floating point registers
Summary of Contents for Extensible Firmware Interface
Page 1: ...Extensible Firmware Interface Specification Version 1 02 December 12 2000...
Page 4: ...Extensible Firmware Interface Specification iv 12 12 00 Version 1 02...
Page 42: ...Extensible Firmware Interface Specification 24 12 01 00 Version 1 02...
Page 190: ...Extensible Firmware Interface Specification 172 12 12 00 Version 1 02...
Page 200: ...Extensible Firmware Interface Specification 182 12 12 00 Version 1 02...
Page 226: ...Extensible Firmware Interface Specification 208 12 12 00 Version 1 02...
Page 230: ...Extensible Firmware Interface Specification 212 12 12 00 Version 1 02...
Page 252: ...Extensible Firmware Interface Specification 234 12 12 00 Version 1 02...
Page 294: ...Extensible Firmware Interface Specification 276 12 12 00 Version 1 02...
Page 348: ...Extensible Firmware Interface Specification 330 12 01 00 Version 1 01...
Page 350: ...Extensible Firmware Interface Specification 332 12 12 00 Version 1 02...
Page 354: ...Extensible Firmware Interface Specification 336 12 12 00 Version 1 02...
Page 362: ...Extensible Firmware Interface Specification 344 12 12 00 Version 1 02...
Page 486: ...Extensible Firmware Interface Specification 468 12 12 00 Version 1 02...
Page 494: ...Extensible Firmware Interface Specification 476 12 12 00 Version 1 02...