Sunday, December 17, 2006

About EFI

What is EFI?



The Extensible Firmware Interface (EFI) is a set of interfaces that defines how software will interface with future firmware. Intel developed EFI as a part of the Intel Boot Initiative program that began in 1998. This program was designed to modernize firmware technology in today's computers in order to move past the limitations of a legacy BIOS. It offers features similar to the Open Firmware used on older PowerPC-based Macs. Beyond that, it is extensible and quite flexible. (Note: HP Itanium systems have been using EFI for several years)

Drivers, pre-boot applications and OS loaders for EFI are written in C, not assembler. The EFI specification includes clean APIs for text and graphical screen output, keyboard and mouse input, and access to file systems and block devices. EFI allows settings to be stored in NVRAM in the form of named variables, i.e. key-value pairs.

Intel also created the Platform Innovation Framework for EFI (or "The Framework"), which is a fully compliant EFI implementation that also supports legacy Operating Systems (OS'es) through a Compatability Support Module (CSM). The Framework is often mistakingly refered to simply as "EFI", when it is in reality only a single possible implementation of the EFI standard. Other implementations include Apple's new firmware being used in their Intel-based Macs and Insyde Technology's InsydeH2O firmware which supports only legacy OS'es. Certain Gateway motherboards have been shipping with The Framework for some time now.

No comments: