Extensible Firmware Interface Specification

Extensible Firmware Interface Specification

Extensible Firmware Interface Specification Version 1.02 December 12, 2000 Extensible Firmware Interface Specification THIS SPECIFICATION IS PROVIDED "AS IS" WITH NO WARRANTIES WHATSOEVER, INCLUDING ANY WARRANTY OF MERCHANTABILITY, FITNESS FOR ANY PARTICULAR PURPOSE, OR ANY WARRANTY OTHERWISE ARISING OUT OF ANY PROPOSAL, SPECIFICATION OR SAMPLE. A license is hereby granted to copy and reproduce this specification for internal use only. No other license, express or implied, by estoppel or otherwise, to any other intellectual property rights is granted herein. Intel disclaims all liability, including liability for infringement of any proprietary rights, relating to implementation of information in this specification. Intel does not warrant or represent that such implementation(s) will not infringe such rights. Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. This document contains information on products in the design phase of development. Do not finalize a design with this information. Revised information will be published when the product is available. Verify with your local sales office that you have the latest datasheet or specification before finalizing a design. † Third-party trademarks are the property of their respective owners. Intel order number 731843-001 Copyright 1998, 1999, 2000 Intel Corporation. All Rights Reserved. ii 12/12/00 Version 1.02 Revision History Revision Revision History Date 1.01 Original Issue. 12/01/00 1.02 Update for legal and trademarking requirements. 12/12/00 Version 1.02 12/12/00 iii Extensible Firmware Interface Specification iv 12/12/00 Version 1.02 Table of Contents 1 Introduction 1.1 Overview.................................................................................................... 2 1.2 Goals ......................................................................................................... 3 1.3 Target Audience ........................................................................................ 5 1.4 Related Information ................................................................................... 6 1.5 Prerequisite Specifications ........................................................................ 8 1.5.1 ACPI Specification............................................................................. 8 1.5.2 WfM Specification.............................................................................. 8 1.5.3 Additional Considerations for Itanium™-based Platforms.................. 9 1.6 EFI Design Overview................................................................................. 9 1.7 Migration Requirements........................................................................... 11 1.7.1 Legacy Operating System Support.................................................. 11 1.7.2 Supporting the EFI Specification on a Legacy Platform................... 11 1.8 Conventions Used in This Document....................................................... 12 1.8.1 Data Structure Descriptions............................................................. 12 1.8.2 Typographic Conventions................................................................ 12 1.9 Guidelines for Use of the Term “Extensible Firmware Interface” ............. 12 2 Overview 2.1 Boot Manager .......................................................................................... 14 2.2 Firmware Core......................................................................................... 14 2.2.1 EFI Services .................................................................................... 14 2.2.2 Runtime Services ............................................................................ 15 2.3 Calling Conventions................................................................................. 16 2.3.1 Data Types ...................................................................................... 16 2.3.2 IA-32 Platforms................................................................................ 18 2.3.3 Itanium-based Platforms.................................................................. 18 2.4 Protocols.................................................................................................. 19 2.5 Requirements .......................................................................................... 21 2.5.1 Required Elements .......................................................................... 21 2.5.2 Optional Elements ........................................................................... 22 2.5.3 Appendixes...................................................................................... 23 Version 1.02 12/12/00 v Extensible Firmware Interface Specification 3 Services 3.1 Event, Timer, and Task Priority Services................................................. 26 3.1.1 CreateEvent() .................................................................................. 29 3.1.2 CloseEvent().................................................................................... 33 3.1.3 SignalEvent() ................................................................................... 34 3.1.4 WaitForEvent() ................................................................................ 35 3.1.5 CheckEvent()................................................................................... 36 3.1.6 SetTimer()........................................................................................ 37 3.1.7 RaiseTPL() ...................................................................................... 39 3.1.8 RestoreTPL() ................................................................................... 41 3.2 Memory Allocation Services .................................................................... 42 3.2.1 AllocatePages() ............................................................................... 45 3.2.2 FreePages()..................................................................................... 48 3.2.3 GetMemoryMap() ............................................................................ 49 3.2.4 AllocatePool() .................................................................................. 53 3.2.5 FreePool()........................................................................................ 54 3.3 Protocol Handler Services ....................................................................... 55 3.3.1 InstallProtocolInterface().................................................................. 57 3.3.2 UninstallProtocolInterface() ............................................................. 59 3.3.3 ReinstallProtocolInterface() ............................................................. 60 3.3.4 RegisterProtocolNotify()................................................................... 61 3.3.5 LocateHandle() ................................................................................ 62 3.3.6 HandleProtocol().............................................................................. 64 3.3.7 LocateDevicePath() ......................................................................... 65 3.4 Image Services........................................................................................ 67 3.4.1 LoadImage() .................................................................................... 69 3.4.2 StartImage()..................................................................................... 71 3.4.3 UnloadImage()................................................................................. 72 3.4.4 EFI_IMAGE_ENTRY_POINT .......................................................... 73 3.4.5 Exit() ................................................................................................ 74 3.4.6 ExitBootServices() ........................................................................... 76 vi 12/12/00 Version 1.02 Contents 3.5 Variable Services..................................................................................... 77 3.5.1 GetVariable() ................................................................................... 78 3.5.2 GetNextVariableName() .................................................................. 80 3.5.3 SetVariable().................................................................................... 82 3.6 Time Services.......................................................................................... 84 3.6.1 GetTime() ........................................................................................ 85 3.6.2 SetTime()......................................................................................... 88 3.6.3 GetWakeupTime() ........................................................................... 89 3.6.4 SetWakeupTime()............................................................................ 90 3.7 Virtual Memory Services.......................................................................... 91 3.7.1 SetVirtualAddressMap()................................................................... 92 3.7.2 ConvertPointer() .............................................................................. 94 3.8 Miscellaneous Services ........................................................................... 95 3.8.1 ResetSystem()................................................................................. 96

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    494 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us