White Papers

Page2
History
Inthemid1990sduringthedevelopmentofIntel’sItaniumbasedsystem,PCBIOSlimitations(forexample,16bit
processormode,1MBaddressablespace,PCAThardwaredependencies,etc.)hinderedplatformdevelopmentfor
Itanium.WhiletheItaniumchipwasnotwellreceived,thedevelopmentexposedsignificantlimitationstothe
originalPCfirmwarearchitecturethatledtothedevelopmentofanewframework,calledExtensibleFirmware
Interface(EFI).
In2005,severalleadingtechcompaniescametogethertocreatetheEFIForum.BasedonEFIarchitecture,the
UEFIForum’smissionwastocreatethefirsteverindustrystandardfirmwareinterfacespecificationUnified
ExtensibleFirmwareInterface(UEFI).DellisrepresentedontheboardofdirectorsoftheUEFIForum.
WhatisUEFI?
TheUEFIspecificationdefinesaninterfacebetweenoperatingsystemsandplatformfirmware.Theinterface
consistsofdatatablesthatcontainplatformrelatedinformation,plusbootandruntimeservicecallsthatare
availabletotheoperatingsystemanditsloader.
Together,theseprovideastandard,modern
environmentforbootinganoperatingsystemand
runningprebootapplications.
Inadditiontotheservices,UEFIdefinesvarious
protocols/APIstoaccessvarioushardwareandthe
bootdevicesinthesystem.TheUEFIspecificationalso
definesadrivermodelthatisgenericandcanbe
adaptedtoanytypeofbusordevice.TheUEFIDriver
Model
isdesignedtosupporttheexecutionof
modularpiecesofcode,knownasdrivers,thatrunin
theprebootenvironment.Thesedriversmaymanage
orcontrolhardwarebusesanddevicesonthe
platform,ortheymayprovidesomesoftwarederived,
platformspecificservice.
Thereare3typesofentitiesthatcan
executeunderUEFIenvironment:
Applications:SomeexamplesofcommonEFIapplicationsincludetheEFIshell,EFIshell
commands,flashutilities,anddiagnosticutilities.ItisperfectlyacceptabletoinvokeEFI
applicationsfrominsideotherEFIapplications.
OperatingSystemLoader:AspecialtypeofEFIapplication,calledan
operatingsystemboot
loader,providesthenecessaryinitializationroutinesuntiltheloaderhassetupenoughofthe
operatingsysteminfrastructuretobereadytoassumeownershipofthesystemresources.Once
theoperatingsystemassumescontrol,theEFIcorefreesallofitsboottimeservicesanddrivers,
leaving
onlytheruntimeservicesanddrivers.
Drivers:EFIdriversdifferfromEFIapplicationsinthatthedriverstaysresidentinmemoryunless
anerrorisreturnedfromthedriver'sentrypoint.TheEFIcorefirmware,thebootmanager,or
otherEFIapplicationsmayloaddrivers.