Extensible Firmware Interface

2y ago
6 Views
3 Downloads
1.46 MB
45 Pages
Last View : 1m ago
Last Download : 3m ago
Upload by : Kelvin Chao
Transcription

Extensible Firmware Interface:booting the new generation of IntelArchitecture platformsMark DoranProgram ManagerIntel CorporationSeptember 1, 1999Intel Labs

Agendal Whychange?l What is EFI?l EFI enablingl EFI sample implementation demol Windows NT and EFI – Microsoftl Implementing EFI – Phoenix Technologiesl SummaryIntel Labs

Why Change?The pre-boot dilemmaManufacturing testOption ROMsBoot processIntel Labs

Why Change?Issues with existing bootCodeReal intenanceSpecNone!OS LoaderTied to HWand BIOS CompatibilitySlows innovationCarries legacyNew ArchitectureArchitecture RequiredRequiredNewIntelLabs

Why Change?l InterfacespecificationuImplementationl AbstractsBIOS from OSuDecouplesuEvolution,EFIdevelopmentl Compatiblel ModularagnosticOSLoaderBIOSby designnot revolutionCompatibilityEFI OverviewHardwareand extensibleuOS-Neutralvalue addl Complements existing interfacesFlexible toto meetmeet existingexistingFlexibleand futurefuture needsneedsandIntelLabs

Why Change?EFI delivers .CodelevelhHig oSpecdenifedrlyCleaNone!OS LoaderTied to HWniotcartsb BIOSAand acyycagLeThe rightright solutionsolutionTheIntelLabs

Why Change?TiminglIA64 interceptu Golden opportunity– New operating systems– New hardware platformlDownstream benefits for IA64u Legacy migrationu Scaleabilityu ticsIA64appsIA32appsIA64 IA32OS OSEFI EFI LegacyBIOS BIOS BIOSIA64HardwareIA64/EFI :: thethe perfectperfect matchmatchIA64/EFIIntel Labs

Why Change?Breaking awayManufacturing testOption ROMsBoot processGolden opportunityopportunity forfor changechangeGoldenIntel Labs

Agendal Whychange?èWhat is EFI?l Benefitsl ImplementationIntel Labs

What is EFI?ConceptOPERATING SYSTEMLegacy OS LOADEREFI APIAPIEFIEFI OS LOADEREFI BOOT ootDevicesProtocols HandlersEFIRUNTIMESERVICESPLATFORM SPECIFIC FIRMWARE (SAL)PLATFORM HARDWAREEFI SYSTEMPARTITIONOS PARTITIONEFI OSLoaderIntel Labs

What is EFI?Operational ModelOSBootedEFIDriverEFIApplicationEFIBoot codeRetryPlatformInitEFI ImageLoadEFIOS ivers andapplicationsloadediterativelyBoot fromordered listof EFI OSloadersAPI specified OS LoaderFailure EFI APIBoot ServicesTerminateOperationhanded offto OS loaderValue add implementationBoot ManagerEFI binariesIntelLabs

What is EFI?System PartitionArchitectural SharingFAT32 Format System partition Location for OS loaders Applications and drivers FAT32 spec now “public” Tried and tested format Readily available toolsInteroperability layoutNew Partition Structure Multiple system partitions Supports multiple OSinstalls 64 bit partition sizes Unlimited # of partitions Co-exists w/ legacy MBRDesigned forfor flexibilityflexibilityDesigned IntelLabs

What is EFI?New Partition StructureFirst useable blockStart partitionLBA0 LBA1End partitionLBAnPartition 10 1 . nStart partitionPrimary PartitionTableEnd partitionPartitionTable HDRMBRPartitionTable HDR0 1 . nLast useable blockBackup PartitionTableIntel Labs

What is EFI?Boot device supportl Harddiskl Removable mediauCD-ROM, DVD-ROM– El Torito 1.0 “No emulation”uFloppy, LS-120 SuperDisk*,Iomega* Zip, Fujitsu*MO etc.l NetworkuPXEBIOS support specification (WfM)l Futuremedia via extensibility methodsFull devicedevice supportsupportFull * All trademarks and brands are the property of their respective ownersIntelLabs

What is EFI?Services and Protocolsl Runtimeservicesl Boot servicesl Console servicesl Protocolsl GUIDsIntel Labs

What is EFI?: Services and ProtocolsRuntime Servicesl Boottime and runtimel Timer, Wakeup alarmuRequiresprocessor sync in MP systemsuOpens path to future legacy migrationl VariablesuBootmanager handshakel SystemresetMinimal setset toto meetmeet OSVOSV needsneedsMinimalIntel Labs

What is EFI?: Services and ProtocolsBoot Servicesl Eventsand notificationsupolleddevices, no interruptsl Watchdogueleganttimerrecoveryl Memoryallocationl Handle locationl Image loadingudrivers,applications, OS loaderComplete, butbut sizesize efficientefficientComplete, IntelLabs

What is EFI?: Services and ProtocolsConsole Servicesl Abstractedfor flexibilityl Support optionsuLocalhead– Character based– Graphical (not implemented yet)uRemotehead– Serial link– NetworkImplementation choiceschoicesImplementationIntel Labs

What is EFI?: Services and ProtocolsProtocolsl GUID,uInterface Structure, ServicesDEVICE PATH, DEVICE IO, BLOCK IO, DISK IO, FILE SYSTEM,SIMPLE INPUT, SIMPLE TEXT OUTPUT, SERIAL IO, PXE IO,LOAD FILE, UNICODE COLLATIONHandleProtocol(GUID.)HandleGUID InterfaceEFI DriverGUID Interface.BlkIo- ReadBlocks(BlkIo, )Protocol InterfaceFunction pointerFunction pointer.Device specificcontextIntel Labs

What is EFI?: Services and ProtocolsProtocol ExampleInitial implementationOS Loader“Legacy Free”OS LoaderEFI FirmwareSimple text inDriverLegacy BIOSPC-AT KBDUSB thunkKeyboardEFI FirmwareSimple text inUSBxxx DriverDriverUSBxxx tel Labs

What is EFI?GUIDl “Guaranteed”u128-bitUnique Identityquantity defined by WfM 2.0 specl Policesextensibility mechanisml Allows publishing of new capabilitiesuGUIDuInterfacesSafe co-existenceco-existence ofofSafe3rd partyparty extensionsextensions3rdIntel Labs

What is EFI?EFI Image Typesl OSLoaderuEFIapplication that takes final controll ApplicationuDiagnosticsuRecoverytoolsuCustomer support appsDifferentiationopportunityl DriveruBootsupport for add-insuCode modules– e.g. downloadable workaroundsIntel Labs

TimelineRoadmapEFI SpecificationRevision 0.95pecsllFuEFI SpecificationRevision 1.0MROntio ortOp EFIupSpecificationps Revision 1.1February 1998February 1999Intel CorporationApril 1999Intel Corporation19990.90.91stry ftudIn EFI SpecificationdrawRevision 0.9eiRev Intel Corporationner-owoP rgetaIntelTCorporation1.0Future revisionsas needed1.1Initial sample implementation bootUpdated sample implementation Including portable driver (OpROM) supportComplete sample implementation Boot runtime servicesIntegration with SAL64, Win64* loader0.6 Firmware SDK for IBVs includes early sample code0.7 Firmware SDK for IBVs includes full sample codePost silicon SDK release AprJulySept1999DecIntelQ1* All trademarks and brands are the property of their respective owners2000Labs

EFI Enablingl IndustryIntercept on IA-64Intel POR is to use EFI starting at power-onu AMI and Phoenix implementing EFIu OEMs platforms supporting EFIu IA-64 operating systems being developed with EFIu– IBM/Monterey, Linux, Novell, SCO, Solaris, Windows NTl IA-32intercept timing less clear, but:EFI being implemented for embedded systemsu manufacturing/test infrastructure moving to EFIuIndustry momentummomentumIndustry IntelLabs

System Design Guidesl EFIuis a key component in DIG64enables migration away from legacyl UNIXuDesign Guideadditional implementation requirementsFoundation forfor systemsystem designdesignFoundationIntel Labs

EFI Collateralsl Completesample implementation of EFIarchitecture neutral, IA-32 and IA-64 buildsu code, build tools and documentationu– EFI core interface implementation– EFI library routines– EFI command shell application– EFI Developer’s Guide– Sample drivers– Sample pre-boot applicationsl ReadilyavailableuSimple shrink-wrap license, downloadable codeLow barrierbarrier toto adoptionadoptionLowIntelLabs

Windows and EFIPasquale DeMaioProgram ManagerMicrosoftIntel Labs

Booting the 64 Bit Version ofthe Windows OS on IA-64l Bootsonly via EFI on the IA-64 platformOverall Server Design Guide rules for 64 bitplatforms FI and ACPI go hand in handu Microsoft contributing specs to the industryu– EFI FAT32 file system spec– PE/COFF image format specIntel Labs

Software Toolsl Microsoftuwill be providing disk toolsEFI native applications– Chkdsk equivalent– Format equivalent– Fdisk equivalentThese tools will be free and you shouldsupply them with your systemsuIntel Labs

EFI design pointl Keepemergencies in mind whileplanning your firmwareimplementationsProvide necessary utilities to recoverfrom a disasteru– Consider remote situation– Consider replaced Hard-diskuDon’t put critical components on diskIntel Labs

EFIA BIOS Vendor’sPerspectiveCurtis StevensConsulting EngineerPhoenix Technologies

ServicesBIOSExtendersBIOSInitializationBIOSIn FlashEFI Phase 1Operating SystemEFI

Building On ExistingFirmwarel Peacefulcoexistence is keyl Still supports legacy OSl Enables next generation OSl Builds on existing specifications3.0uEl Torito 2.0uACPIuEtc.In FlashuEDD

ving ForwardOperating SystemEFIDisk

Near Future SystemImprovementsl Pre-OSapplications/drivers on diskuNon-criticalapplications & drivers need not take upflash spaceuWell defined environment for system diagnosticsuCould we see an EFI internet browser?l Driverupdates need not be flashed!uFlashingis a dangerous propositionuLatest drivers can be placed on the hard drive– The drivers in flash can be disabled

Future SystemImprovementsl OptionROMsuEFIdrivers can now be embedded in a legacyoption ROMuOnce again, peaceful coexistenceuWork is now being done on a portable option ROMcapabilityuEmbedded option ROMs do not necessarily needlegacy INT structure supportl BootDisconnectuDefinesa boot environment shutdown pointuPositive EFI/BIOS disconnect from all devices

New PossibilitiesOperating SystemExtendersEFIEFI BIOSFlashDisk

Dropping Legacy Supportl EFIfully initializes the system using EFIdriversl Option ROMs drop legacy supportl Drop BIOS constructs like the followinguCompatibilityRegionuRuntime INT servicesuBIOS Data AreauExtended BIOS Data Area

The Boot ProcessInitializeHardwareInitialize BIOSRuntime ServicesInitializeOption ROMsOS BootPower-UpInitializeHardwareCall INT 19hInitialize BIOSRuntime ServicesInitializeOption ROMsPower-UpInitializeEFIInitializeEFI Option ROMsOS DisconnectLaunch OSLoaderLoad EFI DriversFrom Disk

The Phoenix ExperienceWith the Intel EFI Sample Code

Intel EFI Codel IntelEFI Source CodeuAllin CuCompiled out of the boxuFound very few problemsl UsedIntel EFI core, drivers, shell, andboot manageruDriversdependent on IA32 INT9, 10, and 13uSome SoftSDV limitationsuMore functionality in next version

Our Implementationl PhoenixuNewChanges Requiredbuild component - efi.exeuImplement PE32 loader in SALuCall-back procedures to IA32 INTnnuMemory Descriptor Entry to EFI memorymap entry conversionuReplace INT19 with sequence to EFIuSAL test procedures now work in EFIenvironment

Summaryl Goldenopportunity for changel Flexible solution to meet existing andfuture needsl Win, win, winl Good progress towards industryinterceptl Easy to implementIntel Labs

Call to actionEFI SpecificationRevision 0.91Intel CorporationJuly 1999OEMl Downloaduthe specdeveloper.intel.coml Theonly way to boot on IA-64is with EFIOSVEFI aware operating systemloadersu EFI conformant platform firmwareu Pre-boot EFI applicationsuIBVIntel Labs

EFI on the Webl EFI /efi/register for EFI mailing listu provide feedback on the specificationu sample implementation and docsul EFIFAT32 Specificationuhttp://www.microsoft .com/hwdev/specs/l PE/COFFImage Format Specificationuhttp://www.microsoft .com/hwdev/specs/Intel Labs

u architecture neutral, IA-32 and IA-64 builds u code, build tools and documentation – EFI core interface implementation – EFI library routines – EFI command shell application – EFI Developer’s Guide – Sample drivers – Sample pre-boot applications lReadily

Related Documents:

Stages of a Firmware Upgrade through Firmware Packages in Service Profiles . Cisco UCS B-Series GUI Firmware Management Guide, Release 2.2 9 Upgrading Firmware through Firmware Packages in Service Profiles Updating a Management Firmware Package. Procedure Step 1 IntheNavigationpane,clickServers.

SAS and SATA hard drive firmware Emulex, QLogic, and Brocade Fibre Channel HBA firmware Tape blade firmware HP StorageWorks MDS600 HP 3Gb SAS BL Switch Firmware Note: EVA firmware, MSA2000 firmware, and BladeSystem Interconnect Switches are not covered in t

compatibility matrix, brocade firmware upgrade procedure, brocade firmware version, brocade firmwaredownload command, brocade firmware upgrade steps, brocade firmware latest version Jun 22, 2016 — How to update the firmware on a Brocade 300

Firmware Upgrade to Cisco UCS Manager Release 3.2, on page 22 Firmware Upgrade to a Minor or a Patch Release, on page 25 Firmware Downgrades, on page 25 Firmware Management in Cisco UCS Central , on page 27 Overview Cisco UCS uses firmware obtained from and certifiedby Cisco to support the endpoints in a Cisco UCS

2.1 XML (Extensible Markup Language) 13 2.2 XSD (XML Schema Definition) 18 2.3 MathML (Mathematical Markup Language) 23 2.4 SPS (StyleVision Power Stylesheet) 25 2.5 XSL (Extensible Style Language) 27 2.6 XSLT (Extensible Style Language Transformations) 31 2.7 XSL:FO (Extensible Style Language: Formatting Objects) 32 2.8 XPath (XML Path Language) 33 3 Estudi de l'estàndard XML DocBook 37 3.1 .

Updating Digital SLR Camera Firmware 4 Select Firmware version in the setup menu. 5 The current firmware version will be displayed. Highlight Update and press the 6 A firmware update dialog will be displayed. Select Yes. 7 The update will begin. Follow the on-screen instruction during the update. 8 Confirm that the update was completed successfully. 8-1.Turn the camera off and remove the .

5. Click Manual Firmware Upload. In the Firmware Upgrade screen. The Manual Firmware Upload dialog box is displayed. 6. Select the firmware file that you downloaded in step 4 and click Begin Firmware Upgrade. T

To download the latest firmware version, go to www.powerlogic.com, select Firmware Downloads Products PowerLogic Metering PM800 power meter, and then click the firmware file you want to download. NOTE: To install the firmware upgrade you will need the Download Firmware U