没有合适的资源?快使用搜索试试~ 我知道了~
首页UEFI规范2.1详解
UEFI规范2.1详解
需积分: 9 4 下载量 179 浏览量
更新于2024-08-01
收藏 10.75MB PDF 举报
"UEFI Spec 2.1"
UEFI(统一可扩展固件接口)是一种现代计算机硬件与操作系统之间的接口标准,旨在替代传统的BIOS(基本输入输出系统)。UEFI规范2.1是该标准的一个版本,发布于2007年1月23日,旨在提供更加现代化、安全和高效的启动流程。
UEFI的核心目标是提高系统的启动速度,增强安全性,并提供一个更友好的图形用户界面。它引入了预操作系统环境,即所谓的“预操作系统执行环境”(Pre-OS Environment),在这个环境中,可以运行复杂的固件程序和服务,如安全启动、设备驱动加载和网络连接等。
在UEFI 2.1规范中,以下几个关键知识点值得深入理解:
1. **全局唯一标识符(GUID)**:UEFI使用GUID来唯一标识各种固件表项、驱动程序和服务,这使得系统组件的管理和更新更为精确和灵活。
2. **EFI(可扩展固件接口)应用和驱动**:UEFI基于EFI模型,其中固件组件以PE/COFF(Portable Executable and Common Object File Format)格式存在,与Windows可执行文件格式相同。这允许UEFI加载和执行各种应用程序和驱动,而不仅仅是启动操作系统。
3. **固件体积(FV,Firmware Volume)**:固件被组织成一系列的FVs,每个FV都有自己的GUID和安全特性,便于管理固件组件。
4. **固定运行时服务**:UEFI提供一组固定的运行时服务,这些服务在系统启动后仍可被操作系统访问,如硬件状态查询、系统时间读取等。
5. **安全启动**:UEFI 2.1引入了安全启动机制,通过公钥基础设施(PKI)验证引导加载程序和操作系统的签名,防止未授权或恶意软件的加载。
6. **可扩展性**:UEFI支持扩展性,允许添加新的硬件支持和功能,而不必修改固件基础结构。
7. **事件日志**:UEFI提供了事件日志功能,记录系统启动过程中的关键事件,有助于故障排查和诊断。
8. **网络启动(PXE,Preboot Execution Environment)**:UEFI支持PXE,允许通过网络启动操作系统,这对于远程部署和维护非常有用。
9. **图形用户界面(GUI)**:UEFI提供了比BIOS更先进的图形化设置界面,使用户能够更容易地配置系统设置。
UEFI 2.1虽然较旧,但仍然是许多现代计算机系统的基础,尤其是在企业服务器和工作站领域。随着技术的发展,UEFI标准也不断演进,例如UEFI 2.3.1及后续版本增加了更多安全特性,如安全启动强化、TPM(可信平台模块)集成等。然而,理解UEFI 2.1的基本概念对于理解现代计算机启动流程至关重要。
Unified Extensible Firmware Interface Specification Draft for Review
xvi January 23, 2007 Version 2.1
EFI_DEBUG_SUPPORT_PROTOCOL.RegisterExceptionCallback() .............. 707
EFI_DEBUG_SUPPORT_PROTOCOL.InvalidateInstructionCache()............... 711
17.3 EFI Debugport Protocol .............................................................................................. 712
17.3.1 EFI Debugport Overview................................................................................. 712
EFI_DEBUGPORT_PROTOCOL...................................................................... 712
EFI_DEBUGPORT_PROTOCOL.Reset() ......................................................... 714
EFI_DEBUGPORT_PROTOCOL.Write() .......................................................... 715
EFI_DEBUGPORT_PROTOCOL.Read().......................................................... 716
EFI_DEBUGPORT_PROTOCOL.Poll() ............................................................ 717
17.3.2 Debugport Device Path ................................................................................... 717
17.3.3 EFI Debugport Variable................................................................................... 718
17.4 EFI Debug Support Table ........................................................................................... 719
17.4.1 Overview ......................................................................................................... 719
17.4.2 EFI System Table Location ............................................................................. 720
17.4.3 EFI Image Info................................................................................................. 720
18
Protocols - Compression Algorithm Specification ................................. 723
18.1 Algorithm Overview..................................................................................................... 723
18.2 Data Format ................................................................................................................724
18.2.1 Bit Order.......................................................................................................... 724
18.2.2 Overall Structure ............................................................................................. 725
18.2.3 Block Structure................................................................................................ 726
18.3 Compressor Design .................................................................................................... 729
18.3.1 Overall Process............................................................................................... 729
18.3.2 String Info Log................................................................................................. 730
18.3.3 Huffman Code Generation .............................................................................. 733
18.4 Decompressor Design ................................................................................................ 735
18.5 Decompress Protocol.................................................................................................. 735
EFI_DECOMPRESS_PROTOCOL ................................................................... 736
EFI_DECOMPRESS_PROTOCOL.GetInfo().................................................... 737
EFI_DECOMPRESS_PROTOCOL.Decompress() ........................................... 739
19
Protocols - ACPI Protocols........................................................................ 741
EFI_ACPI_TABLE_PROTOCOL....................................................................... 741
EFI_ACPI_TABLE_PROTOCOL.InstallAcpiTable() .......................................... 742
EFI_ACPI_TABLE_PROTOCOL.UninstallAcpiTable()...................................... 743
20
EFI Byte Code Virtual Machine.................................................................. 745
20.1 Overview ..................................................................................................................... 745
20.1.1 Processor Architecture Independence ............................................................ 745
20.1.2 OS Independent ............................................................................................. 746
20.1.3 EFI Compliant ................................................................................................. 746
20.1.4 Coexistence of Legacy Option ROMs ............................................................. 746
20.1.5 Relocatable Image .......................................................................................... 746
20.1.6 Size Restrictions Based on Memory Available ............................................... 746
Draft for Review
Version 2.1 January 23, 2007 xvii
20.2 Memory Ordering ........................................................................................................ 747
20.3 Virtual Machine Registers ........................................................................................... 747
20.4 Natural Indexing.......................................................................................................... 748
20.4.1 Sign Bit............................................................................................................ 749
20.4.2 Bits Assigned to Natural Units......................................................................... 749
20.4.3 Constant.......................................................................................................... 749
20.4.4 Natural Units ................................................................................................... 750
20.5 EBC Instruction Operands .......................................................................................... 750
20.5.1 Direct Operands .............................................................................................. 750
20.5.2 Indirect Operands............................................................................................ 751
20.5.3 Indirect with Index Operands .......................................................................... 751
20.5.4 Immediate Operands....................................................................................... 751
20.6 EBC Instruction Syntax .............................................................................................. 752
20.7 Instruction Encoding ................................................................................................... 752
20.7.1 Instruction Opcode Byte Encoding ................................................................. 752
20.7.2 Instruction Operands Byte Encoding............................................................... 753
20.7.3 Index/Immediate Data Encoding ..................................................................... 753
20.8 EBC Instruction Set..................................................................................................... 754
ADD................................................................................................................... 755
AND................................................................................................................... 756
ASHR ................................................................................................................ 757
BREAK .............................................................................................................. 758
CALL ................................................................................................................. 760
CMP .................................................................................................................. 762
CMPI ................................................................................................................. 764
DIV .................................................................................................................... 766
DIVU.................................................................................................................. 767
EXTNDB............................................................................................................ 768
EXTNDD............................................................................................................ 769
EXTNDW........................................................................................................... 770
JMP ................................................................................................................... 771
JMP8 ................................................................................................................. 773
LOADSP............................................................................................................ 774
MOD .................................................................................................................. 775
MODU ............................................................................................................... 776
MOV .................................................................................................................. 777
MOVI ................................................................................................................. 779
MOVIn ............................................................................................................... 781
MOVn ................................................................................................................ 782
MOVREL ........................................................................................................... 783
MOVsn .............................................................................................................. 784
MUL................................................................................................................... 786
MULU ................................................................................................................ 787
NEG................................................................................................................... 788
NOT................................................................................................................... 789
OR ..................................................................................................................... 790
POP................................................................................................................... 791
Unified Extensible Firmware Interface Specification Draft for Review
xviii January 23, 2007 Version 2.1
POPn................................................................................................................. 792
PUSH ................................................................................................................ 793
PUSHn .............................................................................................................. 794
RET ................................................................................................................... 795
SHL ................................................................................................................... 796
SHR................................................................................................................... 797
STORESP ......................................................................................................... 798
SUB ................................................................................................................... 799
XOR................................................................................................................... 800
20.9 Runtime and Software Conventions ........................................................................... 801
20.9.1 Calling Outside VM ......................................................................................... 801
20.9.2 Calling Inside VM ............................................................................................ 801
20.9.3 Parameter Passing.......................................................................................... 801
20.9.4 Return Values ................................................................................................. 801
20.9.5 Binary Format.................................................................................................. 801
20.10 Architectural Requirements....................................................................................... 801
20.10.1 EBC Image Requirements ............................................................................ 801
20.10.2 EBC Execution Interfacing Requirements..................................................... 802
20.10.3 Interfacing Function Parameters Requirements............................................ 802
20.10.4 Function Return Requirements ..................................................................... 802
20.10.5 Function Return Values Requirements ......................................................... 802
20.11 EBC Interpreter Protocol........................................................................................... 802
EFI_EBC_PROTOCOL ..................................................................................... 803
EFI_EBC_PROTOCOL.CreateThunk()............................................................. 804
EFI_EBC_PROTOCOL.UnloadImage() ............................................................ 805
EFI_EBC_PROTOCOL.RegisterICacheFlush() ................................................ 806
EFI_EBC_PROTOCOL.GetVersion()................................................................ 808
20.12 EBC Tools.................................................................................................................808
20.12.1 EBC C Compiler............................................................................................ 808
20.12.2 C Coding Convention .................................................................................... 808
20.12.3 EBC Interface Assembly Instructions............................................................ 809
20.12.4 Stack Maintenance and Argument Passing .................................................. 809
20.12.5 Native to EBC Arguments Calling Convention .............................................. 809
20.12.6 EBC to Native Arguments Calling Convention .............................................. 809
20.12.7 EBC to EBC Arguments Calling Convention................................................. 810
20.12.8 Function Returns........................................................................................... 810
20.12.9 Function Return Values................................................................................. 810
20.12.10 Thunking ..................................................................................................... 810
20.12.11 EBC Linker .................................................................................................. 812
20.12.12 Image Loader .............................................................................................. 813
20.12.13 Debug Support ............................................................................................ 813
20.13 VM Exception Handling............................................................................................. 813
20.13.1 Divide By 0 Exception ................................................................................... 813
20.13.2 Debug Break Exception ................................................................................ 813
20.13.3 Invalid Opcode Exception ............................................................................. 813
20.13.4 Stack Fault Exception ................................................................................... 814
20.13.5 Alignment Exception ..................................................................................... 814
Draft for Review
Version 2.1 January 23, 2007 xix
20.13.6 Instruction Encoding Exception..................................................................... 814
20.13.7 Bad Break Exception..................................................................................... 814
20.13.8 Undefined Exception ..................................................................................... 814
20.14 Option ROM Formats................................................................................................ 814
20.14.1 EFI Drivers for PCI Add-in Cards .................................................................. 815
20.14.2 Non-PCI Bus Support.................................................................................... 815
21
Network Protocols - SNP, PXE and BIS.................................................... 817
21.1 Simple Network Protocol ............................................................................................ 817
EFI_SIMPLE_NETWORK_PROTOCOL ........................................................... 817
EFI_SIMPLE_NETWORK.Start() ...................................................................... 822
EFI_SIMPLE_NETWORK.Stop() ...................................................................... 823
EFI_SIMPLE_NETWORK.Initialize()................................................................. 824
EFI_SIMPLE_NETWORK.Reset() .................................................................... 825
EFI_SIMPLE_NETWORK.Shutdown().............................................................. 826
EFI_SIMPLE_NETWORK.ReceiveFilters() ....................................................... 827
EFI_SIMPLE_NETWORK.StationAddress() ..................................................... 830
EFI_SIMPLE_NETWORK.Statistics() ............................................................... 831
EFI_SIMPLE_NETWORK.MCastIPtoMAC() ..................................................... 834
EFI_SIMPLE_NETWORK.NvData().................................................................. 835
EFI_SIMPLE_NETWORK.GetStatus().............................................................. 837
EFI_SIMPLE_NETWORK.Transmit()................................................................ 839
EFI_SIMPLE_NETWORK.Receive()................................................................. 841
21.2 Network Interface Identifier Protocol........................................................................... 842
EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL.............................. 842
21.3 PXE Base Code Protocol............................................................................................ 845
EFI_PXE_BASE_CODE_PROTOCOL ............................................................. 845
EFI_PXE_BASE_CODE_PROTOCOL.Start() .................................................. 856
EFI_PXE_BASE_CODE_PROTOCOL.Stop()................................................... 858
EFI_PXE_BASE_CODE_PROTOCOL.Dhcp().................................................. 859
EFI_PXE_BASE_CODE_PROTOCOL.Discover() ............................................ 861
EFI_PXE_BASE_CODE_PROTOCOL.Mtftp() .................................................. 865
EFI_PXE_BASE_CODE_PROTOCOL.UdpWrite() ........................................... 869
EFI_PXE_BASE_CODE_PROTOCOL.UdpRead()........................................... 871
EFI_PXE_BASE_CODE_PROTOCOL.SetIpFilter().......................................... 874
EFI_PXE_BASE_CODE_PROTOCOL.Arp() .................................................... 876
EFI_PXE_BASE_CODE_PROTOCOL.SetParameters() .................................. 878
EFI_PXE_BASE_CODE_PROTOCOL.SetStationIp() ...................................... 880
EFI_PXE_BASE_CODE_PROTOCOL.SetPackets()........................................ 882
21.4 PXE Base Code Callback Protocol ............................................................................. 883
EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL ........................................ 883
EFI_PXE_BASE_CODE_CALLBACK.Callback().............................................. 885
21.5 Boot Integrity Services Protocol.................................................................................. 886
EFI_BIS_PROTOCOL....................................................................................... 886
EFI_BIS_PROTOCOL.Initialize() ...................................................................... 889
EFI_BIS_PROTOCOL.Shutdown() ................................................................... 893
Unified Extensible Firmware Interface Specification Draft for Review
xx January 23, 2007 Version 2.1
EFI_BIS_PROTOCOL.Free() ............................................................................ 894
EFI_BIS_PROTOCOL.GetBootObjectAuthorizationCertificate()....................... 895
EFI_BIS_PROTOCOL.GetBootObjectAuthorizationCheckFlag()...................... 896
EFI_BIS_PROTOCOL.GetBootObjectAuthorizationUpdateToken() ................. 897
EFI_BIS_PROTOCOL.GetSignatureInfo() ........................................................ 898
EFI_BIS_PROTOCOL.UpdateBootObjectAuthorization() ................................. 903
EFI_BIS_PROTOCOL.VerifyBootObject() ........................................................ 911
EFI_BIS_PROTOCOL.VerifyObjectWithCredential() ........................................ 919
22
Network Protocols — Managed Network ................................................. 927
22.1 EFI Managed Network Protocol .................................................................................. 927
EFI_MANAGED_NETWORK_SERVICE_BINDING_PROTOCOL ................... 927
EFI_MANAGED_NETWORK_PROTOCOL ...................................................... 928
EFI_MANAGED_NETWORK_PROTOCOL.GetModeData() ............................ 930
EFI_MANAGED_NETWORK_PROTOCOL.Configure() ................................... 933
EFI_MANAGED_NETWORK_PROTOCOL.McastIpToMac() ........................... 935
EFI_MANAGED_NETWORK_PROTOCOL.Groups()....................................... 936
EFI_MANAGED_NETWORK_PROTOCOL.Transmit()..................................... 937
EFI_MANAGED_NETWORK_PROTOCOL.Receive()...................................... 943
EFI_MANAGED_NETWORK_PROTOCOL.Cancel() ....................................... 944
EFI_MANAGED_NETWORK_PROTOCOL.Poll()............................................. 945
23
Network Protocols - ARP and DHCPv4 ................................................... 947
23.1 ARP Protocol .............................................................................................................. 947
EFI_ARP_SERVICE_BINDING_PROTOCOL .................................................. 947
EFI_ARP_PROTOCOL ..................................................................................... 948
EFI_ARP_PROTOCOL.Configure() .................................................................. 950
EFI_ARP_PROTOCOL.Add() ........................................................................... 952
EFI_ARP_PROTOCOL.Find()........................................................................... 954
Related Definitions ............................................................................................ 955
EFI_ARP_PROTOCOL.Delete() ....................................................................... 956
EFI_ARP_PROTOCOL.Flush() ......................................................................... 957
EFI_ARP_PROTOCOL.Request() .................................................................... 958
EFI_ARP_PROTOCOL.Cancel()....................................................................... 960
23.2 EFI DHCPv4 Protocol ................................................................................................. 961
EFI_DHCP4_SERVICE_BINDING_PROTOCOL.............................................. 961
EFI_DHCP4_PROTOCOL ................................................................................ 961
EFI_DHCP4_PROTOCOL.GetModeData()....................................................... 964
EFI_DHCP4_PROTOCOL.Configure() ............................................................ 968
EFI_DHCP4_PROTOCOL.Start() ..................................................................... 975
EFI_DHCP4_PROTOCOL.RenewRebind() ...................................................... 977
EFI_DHCP4_PROTOCOL.Release()................................................................ 979
EFI_DHCP4_PROTOCOL.Stop()...................................................................... 980
EFI_DHCP4_PROTOCOL.Build() ..................................................................... 981
EFI_DHCP4_PROTOCOL.TransmitReceive() .................................................. 983
EFI_DHCP4_PROTOCOL.Parse().................................................................... 986
剩余1681页未读,继续阅读
2009-05-31 上传
2020-03-03 上传
2022-09-21 上传
2021-03-29 上传
2021-07-06 上传
2018-04-04 上传
2012-11-30 上传
2022-09-24 上传
2014-04-06 上传
biosdebuger
- 粉丝: 44
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 掌握Jive for Android SDK:示例应用的使用指南
- Python中的贝叶斯建模与概率编程指南
- 自动化NBA球员统计分析与电子邮件报告工具
- 下载安卓购物经理带源代码完整项目
- 图片压缩包中的内容解密
- C++基础教程视频-数据类型与运算符详解
- 探索Java中的曼德布罗图形绘制
- VTK9.3.0 64位SDK包发布,图像处理开发利器
- 自导向运载平台的行业设计方案解读
- 自定义 Datadog 代理检查:Python 实现与应用
- 基于Python实现的商品推荐系统源码与项目说明
- PMing繁体版字体下载,设计师必备素材
- 软件工程餐厅项目存储库:Java语言实践
- 康佳LED55R6000U电视机固件升级指南
- Sublime Text状态栏插件:ShowOpenFiles功能详解
- 一站式部署thinksns社交系统,小白轻松上手
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功