EFI BIOS之Handler&Protocol

EFI BIOS之Handler&Protocol

ID:37726856

大小:138.00 KB

页数:12页

时间:2019-05-29

EFI BIOS之Handler&Protocol_第1页
EFI BIOS之Handler&Protocol_第2页
EFI BIOS之Handler&Protocol_第3页
EFI BIOS之Handler&Protocol_第4页
EFI BIOS之Handler&Protocol_第5页
资源描述:

《EFI BIOS之Handler&Protocol》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、UEFISpec探讨-----------Handler&Protocol1.UEFIFirmwareCoreOverView首先再来回顾一下UEFI架构:UEFI整个系统以UEFIfirmwarecore(kernel)为核心,在firmwarecore基础上可以编写platformdriver/application,然后通过firmwareservices加载运行.总的来看,UEFIfirmwarecore主要功能包括:1)KernelServiceRoutines提供EFI_SYSTEM_TABLE,包含ker

2、nelservices.即bootservices和runtimeservices2)ImageManagementa.通过BootServices->LoadImage可以load其它driver/application的image,并生成ImageHandler,(关于ImageHandle,第一个ImageHandle就是EFIfirmware本身,即EfiCoreImageHandle)b.通过bootservices->StartImage运行driver/application的EntryPoint.并传入

3、两个参数如:参看SBDxe.cEFI_STATUSSBDXE_Init(INEFI_HANDLEImageHandle,INEFI_SYSTEM_TABLE*SystemTable)通过SystemTable就可以调用Service了。3)DriverModel/Protocol对bus/device提供DriverModel/Protocol的管理机制4)Event参看UEFISpec探讨之2Event.doc5)BootManagement以下我们简单探讨下DeviceHandler,重点学习一下Protocol相

4、关的资料:2.UEFIDriverModel/DeviceHandlerDriverModel机制1.DriverImage的load:调用firmwarecore的LoadImage()/StartImage(),同时也将生成一个ImageHandle,而且firmwarecore将为这个ImageHandle安装好一个EFI_LOADED_IMAGE_PROTOCOL,并执行DriverImageEntry.一般DriverImageEntry并不touchhardware.只在ImageHandle上安装Driv

5、erBindingProtocol等Protocols.只有当调用firmwarecore的ConnectController()service连接到一个Controller或Device时才会运行EFI_DRIVER_BINDING_PROTOCOL.Start()去管理Controller.2.DriverBindingProtocl最典型的是PCIDriver.例如:EFI_DRIVER_BINDING_PROTOCOLgPciBusDriverBinding={PciBusSupported,//Support

6、edPciBusStart,//PciBusDrvStart,PciBusStop,//PciBusDrvStop,((PCI_BUS_MAJOR_VER<<16)

7、(PCI_BUS_MINOR_VER<<8)

8、(PCI_BUS_REVISION)),//VersionNULL,//ImageHandleNULL//DriverBindingHandle};我们在POSTPciBusEntryPoint时会Install这个PciBusDriver,在BDS阶段才Connect并运行PciBusStart会去Scana

9、llPCI,分配resource,做PCIdevice的Initial等等.1.HostBusControllerUEFI把整个PlatformSystem看成一个由CPU+CoreChipsets延伸开来的树状体系。每个corechipset为系统构建一个I/OBus资源.UEFIdrivermodel就是描述和管理各个I/Obuses的.CoreI/OBus下面可能再连接其他的Bus,或者是devices.如图:Firmwarecore负责InitialHostBusController,分派devicehandl

10、e.2.controller的busdrivers将负责enumeratealldevices.为device创建childdevicehandles,并安装相应的busprotocols,firmwarecore将再调用ConnectController()为device联接合适的devicedriver.Connect将cal

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。