没有合适的资源?快使用搜索试试~ 我知道了~
首页UEFI 2.1规范:开放源码与增强功能的未来PC架构
UEFI (统一可扩展固件接口) 是一种由Intel等大型企业联合推动的高级固件架构,旨在替代传统的PC-AT架构的BIOS(基本输入/输出系统)。它是基于EFI(可扩展固件接口)的一种革新,具有开放源代码的优势,这使得它具有高度的灵活性和可定制性,适应现代计算机系统的复杂需求。
UEFI Spec 2.1Cpdf文档包含了截至2008年6月5日批准的错误修正和增强内容。这个版本的规范不仅包含了对原有技术的澄清和扩展,而且还通过添加大量细节来解决之前可能存在的抽象或模糊问题。这意味着开发者可以根据这些文档对UEFI进行深入理解和优化,提升系统启动速度、安全性和兼容性。
值得注意的是,UEFI Spec并不是对任何知识产权的许可,无论是作者还是开发者都不对其进行明示或暗示的授权。提供这份规范是"现状"基础,且根据适用法律,它是“带所有错误”的提供,这意味着所有提供的信息都按原样提供,没有其他保证,包括但不限于商业适销性、特定用途的适用性、响应准确性、完整性和工作质量等。
UEFI 2.1Cpdf中的内容对于理解如何设计和实现现代计算机的高级固件至关重要,特别是对于那些参与操作系统加载、设备驱动程序管理、硬件配置和安全管理的开发者来说。它涉及到的关键知识点包括:
1. **固件加载流程**:UEFI规范定义了引导过程,从BIOS替代品开始,如何识别和加载操作系统映像,以及与UEFI兼容的设备驱动程序的安装和初始化。
2. **安全性**:UEFI强调安全功能,如测量模式(Secure Boot)和安全启动,以防止恶意软件篡改启动过程。
3. **模块化设计**:UEFI允许开发者编写自定义模块,扩展其功能,如高级电源管理和硬件抽象层。
4. **API和接口**:文档提供了丰富的接口和应用程序编程接口(API),使开发者能够与硬件交互并实现用户界面。
5. **错误处理和调试**:包含了关于错误检测、报告和恢复机制的指导,帮助开发者诊断和修复潜在问题。
UEFI Spec 2.1Cpdf是IT专业人士必备的参考资料,它详细解释了如何在现代计算机硬件上构建更高效、安全和灵活的固件环境,确保了计算机系统的稳定性和未来可扩展性。理解并遵循这些规范对于开发和维护下一代计算平台至关重要。
Unified Extensible Firmware Interface Specification
xvi Errata and amplifications through June 5, 2008 Version 2.1
EFI_PCI_IO_PROTOCOL.Io.Read()
EFI_PCI_IO_PROTOCOL.Io.Write() ........................................................... 562
EFI_PCI_IO_PROTOCOL.Pci.Read()
EFI_PCI_IO_PROTOCOL.Pci.Write() ......................................................... 564
EFI_PCI_IO_PROTOCOL.CopyMem() ............................................................ 566
EFI_PCI_IO_PROTOCOL.Map() ..................................................................... 569
EFI_PCI_IO_PROTOCOL.Unmap().................................................................. 571
EFI_PCI_IO_PROTOCOL.AllocateBuffer() ....................................................... 572
EFI_PCI_IO_PROTOCOL.FreeBuffer() ............................................................ 574
EFI_PCI_IO_PROTOCOL.Flush()..................................................................... 575
EFI_PCI_IO_PROTOCOL.GetLocation().......................................................... 576
EFI_PCI_IO_PROTOCOL.Attributes() .............................................................. 577
EFI_PCI_IO_PROTOCOL.GetBarAttributes()................................................... 580
EFI_PCI_IO_PROTOCOL.SetBarAttributes() ................................................... 583
13.4.1 PCI Device Paths ........................................................................................... 584
13.4.2 PCI Option ROMs ........................................................................................... 586
13.4.3 Nonvolatile Storage......................................................................................... 591
13.4.4 PCI Hot-Plug Events ....................................................................................... 592
14
Protocols — SCSI Driver Models and Bus Support ................................ 593
14.1 SCSI Driver Model Overview ...................................................................................... 593
14.2 SCSI Bus Drivers ........................................................................................................ 594
14.2.1 Driver Binding Protocol for SCSI Bus Drivers ................................................. 594
14.2.2 SCSI Enumeration .......................................................................................... 595
14.3 SCSI Device Drivers ................................................................................................... 595
14.3.1 Driver Binding Protocol for SCSI Device Drivers ............................................ 595
14.4 EFI SCSI I/O Protocol ................................................................................................. 596
EFI_SCSI_IO_PROTOCOL .............................................................................. 596
EFI_SCSI_IO_PROTOCOL.GetDeviceType() .................................................. 598
EFI_SCSI_IO_PROTOCOL.GetDeviceLocation()............................................. 600
EFI_SCSI_IO_PROTOCOL.ResetBus() ........................................................... 601
EFI_SCSI_IO_PROTOCOL.ResetDevice()....................................................... 602
EFI_SCSI_IO_PROTOCOL.ExecuteScsiCommand()....................................... 603
14.5 SCSI Device Paths ..................................................................................................... 607
14.5.1 SCSI Device Path Example ............................................................................ 607
14.5.2 ATAPI Device Path Example .......................................................................... 608
14.5.3 Fibre Channel Device Path Example .............................................................. 609
14.5.4 InfiniBand Device Path Example..................................................................... 610
14.6 SCSI Pass Thru Device Paths ................................................................................... 611
14.7 Extended SCSI Pass Thru Protocol............................................................................ 613
EFI_EXT_SCSI_PASS_THRU_PROTOCOL.................................................... 614
EFI_EXT_SCSI_PASS_THRU_PROTOCOL.PassThru()................................. 617
EFI_EXT_SCSI_PASS_THRU_PROTOCOL.GetNextTargetLun()................... 623
EFI_EXT_SCSI_PASS_THRU_PROTOCOL.BuildDevicePath()...................... 625
EFI_EXT_SCSI_PASS_THRU_PROTOCOL.GetTargetLun() .......................... 627
EFI_EXT_SCSI_PASS_THRU_PROTOCOL.ResetChannel() ......................... 629
Errata and amplifications through June 5, 2008
EFI_EXT_SCSI_PASS_THRU_PROTOCOL.ResetTargetLun() ...................... 630
EFI_EXT_SCSI_PASS_THRU_PROTOCOL.GetNextTarget()......................... 632
15
Protocols - iSCSI Boot ............................................................................... 635
15.1 Overview ..................................................................................................................... 635
15.1.1 iSCSI UEFI Driver Layering ............................................................................ 635
15.2 EFI iSCSI Initiator Name Protocol............................................................................... 635
EFI_ISCSI_INITIATOR_NAME_PROTOCOL ................................................... 635
EFI_ISCSI_INITIATOR_NAME_PROTOCOL. Get()......................................... 637
EFI_ISCSI_INITIATOR_NAME_PROTOCOL.Set() .......................................... 638
16
Protocols — USB Support ......................................................................... 639
16.1 USB2 Host Controller Protocol ................................................................................... 639
16.1.1 USB Host Controller Protocol Overview.......................................................... 639
EFI_USB2_HC_PROTOCOL ............................................................................ 639
EFI_USB2_HC_PROTOCOL.GetCapability() ................................................... 642
EFI_USB2_HC_PROTOCOL.Reset() ............................................................... 644
EFI_USB2_HC_PROTOCOL.GetState() .......................................................... 646
EFI_USB2_HC_PROTOCOL.SetState()........................................................... 648
EFI_USB2_HC_PROTOCOL.ControlTransfer()................................................ 650
EFI_USB2_HC_PROTOCOL.BulkTransfer() .................................................... 653
EFI_USB2_HC_PROTOCOL.AsyncInterruptTransfer() .................................... 656
EFI_USB2_HC_PROTOCOL.SyncInterruptTransfer()...................................... 659
EFI_USB2_HC_PROTOCOL.IsochronousTransfer()........................................ 661
EFI_USB2_HC_PROTOCOL.AsyncIsochronousTransfer().............................. 664
EFI_USB2_HC_PROTOCOL.GetRootHubPortStatus().................................... 667
EFI_USB2_HC_PROTOCOL.SetRootHubPortFeature() .................................. 671
EFI_USB2_HC_PROTOCOL.ClearRootHubPortFeature()............................... 673
16.2 USB Driver Model ....................................................................................................... 674
16.2.1 Scope .............................................................................................................. 674
16.2.2 USB Bus Driver ............................................................................................... 675
16.2.3 USB Device Driver .......................................................................................... 676
16.2.4 USB I/O Protocol............................................................................................. 677
EFI_USB_IO_PROTOCOL ............................................................................... 677
EFI_USB_IO_PROTOCOL.UsbControlTransfer()............................................. 680
EFI_USB_IO_PROTOCOL.UsbBulkTransfer() ................................................. 683
EFI_USB_IO_PROTOCOL.UsbAsyncInterruptTransfer() ................................. 685
EFI_USB_IO_PROTOCOL.UsbSyncInterruptTransfer()................................... 689
EFI_USB_IO_PROTOCOL.UsbIsochronousTransfer()..................................... 691
EFI_USB_IO_PROTOCOL.UsbAsyncIsochronousTransfer()........................... 693
EFI_USB_IO_PROTOCOL.UsbGetDeviceDescriptor() .................................... 695
EFI_USB_IO_PROTOCOL.UsbGetConfigDescriptor() ..................................... 697
EFI_USB_IO_PROTOCOL.UsbGetInterfaceDescriptor() ................................. 699
EFI_USB_IO_PROTOCOL.UsbGetEndpointDescriptor() ................................. 701
EFI_USB_IO_PROTOCOL.UsbGetStringDescriptor() ...................................... 703
EFI_USB_IO_PROTOCOL.UsbGetSupportedLanguages() ............................. 704
Unified Extensible Firmware Interface Specification
xviii Errata and amplifications through June 5, 2008 Version 2.1
EFI_USB_IO_PROTOCOL.UsbPortReset()...................................................... 705
17
Protocols - Debugger Support .................................................................. 707
17.1 Overview ..................................................................................................................... 707
17.2 EFI Debug Support Protocol ....................................................................................... 708
17.2.1 EFI Debug Support Protocol Overview ........................................................... 708
EFI_DEBUG_SUPPORT_PROTOCOL ............................................................ 708
EFI_DEBUG_SUPPORT_PROTOCOL.GetMaximumProcessorIndex()........... 711
EFI_DEBUG_SUPPORT_PROTOCOL.RegisterPeriodicCallback()................. 712
EFI_DEBUG_SUPPORT_PROTOCOL.RegisterExceptionCallback() .............. 717
EFI_DEBUG_SUPPORT_PROTOCOL.InvalidateInstructionCache()............... 721
17.3 EFI Debugport Protocol .............................................................................................. 722
17.3.1 EFI Debugport Overview................................................................................. 722
EFI_DEBUGPORT_PROTOCOL...................................................................... 722
EFI_DEBUGPORT_PROTOCOL.Reset() ......................................................... 724
EFI_DEBUGPORT_PROTOCOL.Write() .......................................................... 725
EFI_DEBUGPORT_PROTOCOL.Read().......................................................... 726
EFI_DEBUGPORT_PROTOCOL.Poll() ............................................................ 727
17.3.2 Debugport Device Path ................................................................................... 727
17.3.3 EFI Debugport Variable................................................................................... 728
17.4 EFI Debug Support Table ........................................................................................... 729
17.4.1 Overview ......................................................................................................... 729
17.4.2 EFI System Table Location ............................................................................. 730
17.4.3 EFI Image Info................................................................................................. 730
18
Protocols - Compression Algorithm Specification ................................. 733
18.1 Algorithm Overview..................................................................................................... 733
18.2 Data Format ................................................................................................................734
18.2.1 Bit Order.......................................................................................................... 734
18.2.2 Overall Structure ............................................................................................. 735
18.2.3 Block Structure................................................................................................ 736
18.3 Compressor Design .................................................................................................... 739
18.3.1 Overall Process............................................................................................... 739
18.3.2 String Info Log................................................................................................. 740
18.3.3 Huffman Code Generation .............................................................................. 743
18.4 Decompressor Design ................................................................................................ 745
18.5 Decompress Protocol.................................................................................................. 745
EFI_DECOMPRESS_PROTOCOL ................................................................... 746
EFI_DECOMPRESS_PROTOCOL.GetInfo().................................................... 747
EFI_DECOMPRESS_PROTOCOL.Decompress() ........................................... 749
19
Protocols - ACPI Protocols........................................................................ 751
EFI_ACPI_TABLE_PROTOCOL....................................................................... 751
EFI_ACPI_TABLE_PROTOCOL.InstallAcpiTable() .......................................... 752
EFI_ACPI_TABLE_PROTOCOL.UninstallAcpiTable()...................................... 753
Errata and amplifications through June 5, 2008
20
EFI Byte Code Virtual Machine.................................................................. 755
20.1 Overview ..................................................................................................................... 755
20.1.1 Processor Architecture Independence ............................................................ 755
20.1.2 OS Independent ............................................................................................. 756
20.1.3 EFI Compliant ................................................................................................. 756
20.1.4 Coexistence of Legacy Option ROMs ............................................................. 756
20.1.5 Relocatable Image .......................................................................................... 756
20.1.6 Size Restrictions Based on Memory Available ............................................... 756
20.2 Memory Ordering ........................................................................................................ 757
20.3 Virtual Machine Registers ........................................................................................... 757
20.4 Natural Indexing.......................................................................................................... 758
20.4.1 Sign Bit............................................................................................................ 759
20.4.2 Bits Assigned to Natural Units......................................................................... 759
20.4.3 Constant.......................................................................................................... 759
20.4.4 Natural Units ................................................................................................... 760
20.5 EBC Instruction Operands .......................................................................................... 760
20.5.1 Direct Operands .............................................................................................. 760
20.5.2 Indirect Operands............................................................................................ 761
20.5.3 Indirect with Index Operands .......................................................................... 761
20.5.4 Immediate Operands....................................................................................... 761
20.6 EBC Instruction Syntax .............................................................................................. 762
20.7 Instruction Encoding ................................................................................................... 762
20.7.1 Instruction Opcode Byte Encoding ................................................................. 762
20.7.2 Instruction Operands Byte Encoding............................................................... 763
20.7.3 Index/Immediate Data Encoding ..................................................................... 763
20.8 EBC Instruction Set..................................................................................................... 764
ADD................................................................................................................... 765
AND................................................................................................................... 766
ASHR ................................................................................................................ 767
BREAK .............................................................................................................. 768
CALL ................................................................................................................. 770
CMP .................................................................................................................. 772
CMPI ................................................................................................................. 774
DIV .................................................................................................................... 776
DIVU.................................................................................................................. 777
EXTNDB............................................................................................................ 778
EXTNDD............................................................................................................ 779
EXTNDW........................................................................................................... 780
JMP ................................................................................................................... 781
JMP8 ................................................................................................................. 783
LOADSP............................................................................................................ 784
MOD .................................................................................................................. 785
MODU ............................................................................................................... 786
MOV .................................................................................................................. 787
MOVI ................................................................................................................. 789
MOVIn ............................................................................................................... 791
Unified Extensible Firmware Interface Specification
xx Errata and amplifications through June 5, 2008 Version 2.1
MOVn ................................................................................................................ 792
MOVREL ........................................................................................................... 793
MOVsn .............................................................................................................. 794
MUL................................................................................................................... 796
MULU ................................................................................................................ 797
NEG................................................................................................................... 798
NOT................................................................................................................... 799
OR ..................................................................................................................... 800
POP................................................................................................................... 801
POPn................................................................................................................. 802
PUSH ................................................................................................................ 803
PUSHn .............................................................................................................. 804
RET ................................................................................................................... 805
SHL ................................................................................................................... 806
SHR................................................................................................................... 807
STORESP ......................................................................................................... 808
SUB ................................................................................................................... 809
XOR................................................................................................................... 810
20.9 Runtime and Software Conventions ........................................................................... 811
20.9.1 Calling Outside VM ......................................................................................... 811
20.9.2 Calling Inside VM ............................................................................................ 811
20.9.3 Parameter Passing.......................................................................................... 811
20.9.4 Return Values ................................................................................................. 811
20.9.5 Binary Format.................................................................................................. 811
20.10 Architectural Requirements....................................................................................... 811
20.10.1 EBC Image Requirements ............................................................................ 811
20.10.2 EBC Execution Interfacing Requirements..................................................... 812
20.10.3 Interfacing Function Parameters Requirements............................................ 812
20.10.4 Function Return Requirements ..................................................................... 812
20.10.5 Function Return Values Requirements ......................................................... 812
20.11 EBC Interpreter Protocol........................................................................................... 812
EFI_EBC_PROTOCOL ..................................................................................... 813
EFI_EBC_PROTOCOL.CreateThunk()............................................................. 814
EFI_EBC_PROTOCOL.UnloadImage() ............................................................ 815
EFI_EBC_PROTOCOL.RegisterICacheFlush() ................................................ 816
EFI_EBC_PROTOCOL.GetVersion()................................................................ 818
20.12 EBC Tools.................................................................................................................818
20.12.1 EBC C Compiler............................................................................................ 818
20.12.2 C Coding Convention .................................................................................... 818
20.12.3 EBC Interface Assembly Instructions............................................................ 819
20.12.4 Stack Maintenance and Argument Passing .................................................. 819
20.12.5 Native to EBC Arguments Calling Convention .............................................. 819
20.12.6 EBC to Native Arguments Calling Convention .............................................. 819
20.12.7 EBC to EBC Arguments Calling Convention................................................. 820
20.12.8 Function Returns........................................................................................... 820
20.12.9 Function Return Values................................................................................. 820
20.12.10 Thunking ..................................................................................................... 820
剩余1707页未读,继续阅读
2021-12-09 上传
2020-03-03 上传
2021-04-01 上传
2012-10-16 上传
2022-05-31 上传
2023-07-04 上传
2019-02-20 上传
dachu11
- 粉丝: 1
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- ES管理利器:ES Head工具详解
- Layui前端UI框架压缩包:轻量级的Web界面构建利器
- WPF 字体布局问题解决方法与应用案例
- 响应式网页布局教程:CSS实现全平台适配
- Windows平台Elasticsearch 8.10.2版发布
- ICEY开源小程序:定时显示极限值提醒
- MATLAB条形图绘制指南:从入门到进阶技巧全解析
- WPF实现任务管理器进程分组逻辑教程解析
- C#编程实现显卡硬件信息的获取方法
- 前端世界核心-HTML+CSS+JS团队服务网页模板开发
- 精选SQL面试题大汇总
- Nacos Server 1.2.1在Linux系统的安装包介绍
- 易语言MySQL支持库3.0#0版全新升级与使用指南
- 快乐足球响应式网页模板:前端开发全技能秘籍
- OpenEuler4.19内核发布:国产操作系统的里程碑
- Boyue Zheng的LeetCode Python解答集
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功