Page2
History
Inthemid‐1990sduringthedevelopmentofIntel’sItanium‐basedsystem,PCBIOSlimitations(forexample,16‐bit
processormode,1MBaddressablespace,PCAThardwaredependencies,etc.)hinderedplatformdevelopmentfor
Itanium.WhiletheItaniumchipwasnotwellreceived,thedevelopmentexposedsignificantlimitationstothe
originalPCfirmwarearchitecturethatledtothedevelopmentofanewframework,calledExtensibleFirmware
Interface(EFI).
In2005,severalleadingtechcompaniescametogethertocreatetheEFIForum.BasedonEFIarchitecture,the
UEFIForum’smissionwastocreatethefirsteverindustrystandardfirmwareinterfacespecification–Unified
ExtensibleFirmwareInterface(UEFI).DellisrepresentedontheboardofdirectorsoftheUEFIForum.
WhatisUEFI?
TheUEFIspecificationdefinesaninterfacebetweenoperatingsystemsandplatformfirmware.Theinterface
consistsofdatatablesthatcontainplatform‐relatedinformation,plusbootandruntimeservicecallsthatare
availabletotheoperatingsystemanditsloader.
Together,theseprovideastandard,modern
environmentforbootinganoperatingsystemand
runningpre‐bootapplications.
Inadditiontotheservices,UEFIdefinesvarious
protocols/APIstoaccessvarioushardwareandthe
bootdevicesinthesystem.TheUEFIspecificationalso
definesadrivermodelthatisgenericandcanbe
adaptedtoanytypeofbusordevice.TheUEFIDriver
Model
isdesignedtosupporttheexecutionof
modularpiecesofcode,knownasdrivers,thatrunin
theprebootenvironment.Thesedriversmaymanage
orcontrolhardwarebusesanddevicesonthe
platform,ortheymayprovidesomesoftware‐derived,
platform‐specificservice.
Thereare3typesofentitiesthatcan
executeunderUEFIenvironment:
Applications:SomeexamplesofcommonEFIapplicationsincludetheEFIshell,EFIshell
commands,flashutilities,anddiagnosticutilities.ItisperfectlyacceptabletoinvokeEFI
applicationsfrominsideotherEFIapplications.
OperatingSystemLoader:AspecialtypeofEFIapplication,calledan
operatingsystemboot
loader,providesthenecessaryinitializationroutinesuntiltheloaderhassetupenoughofthe
operatingsysteminfrastructuretobereadytoassumeownershipofthesystemresources.Once
theoperatingsystemassumescontrol,theEFIcorefreesallofitsboottimeservicesanddrivers,
leaving
onlytherun‐timeservicesanddrivers.
Drivers:EFIdriversdifferfromEFIapplicationsinthatthedriverstaysresidentinmemoryunless
anerrorisreturnedfromthedriver'sentrypoint.TheEFIcorefirmware,thebootmanager,or
otherEFIapplicationsmayloaddrivers.