【我所认知的BIOS】—> uEFI AHCI Driver(6) AtaAtapiPassThruSupported的局部变量们
LightSeed
5/7/2014
前面5个篇文章把EFI_DRIVER_BINDING_PROTOCOL这个protocol的一个实例(instance)AHCI driver的安装做了一个比較具体的介绍。事实上这个driver到眼下为止仅仅干了一件事情,那就是把这个protocol安装到相应的ImageHandle上去。对于这个driver在BDS的怎么执行,原理上讲就是先调用supported()然后再调用start(),最后执行stop()来卸载driver。
近期听了不少同事说去泰国旅游多么多么爽。后来了解了一下确实是不错的选择。恰好还欠着老婆一个honey moon,于是这两周花了不少时间来研究攻略。写了一份算是架构吧。正如前面这几篇文章一样,事实上都仅仅是一个架构,细节上还须要进一步做研究和探讨。
一说就说了那么多架构上的东西。关于EFI_DRIVER_BINDING_PROTOCOL让我们来继续做更深入的探讨,把它研究透。针对于AHCI driver的话,就从它的Supported()開始说起。
在uEFI的spec里面,有一个叫做EFI_ATA_PASS_THRU_PROTOCOL的protocol。
它事实上是能够不用存在的,关键是看BIOS是否想要支持这个功能。
事实上它这个protocol是对IDE和AHCI等不同SATA controller模式封装。有了这个protocol,那么就能够固定地用这个protocol来訪问不同模式下的SATA controller。并通过controller訪问挂在其以下的SATA设备了。
[右键点击图片。在新窗体打开是能够放大看的]
/V11Vhb202h9VM7/UUQJT6VetUnRwrZqHf.DuQ2S1glsj0cTAT4X0P*css8!/o/dIsBAAAAAAAA&bo=gAKJA2sEQAYFAAI!&rf=viewer_4" alt="" />
/V11Vhb202h9VM7/hRF19h17baa0eL7ogozOkNqN*Ecu5231MRvIbmX*1dI!/o/dHUBAAAAAAAA&bo=gAKJA2sEQAYFAAI!&rf=viewer_4" alt="" />
/V11Vhb202h9VM7/NRRnCfVWhChApInZHKM6MLn0Z6daq6Sbtqm18dxpHIk!/o/dI8BAAAAAAAA&bo=gAKJA2sEQAYFAAI!&rf=viewer_4" alt="" />
【我所认知的BIOS】—> uEFI AHCI Driver(6) AtaAtapiPassThruSupported的局部变量们的更多相关文章
- 【我所认知的BIOS】—> uEFI AHCI Driver(8) — Pci.Read()
[我所认知的BIOS]-> uEFI AHCI Driver(8) - Pci.Read() LightSeed 6/19/2014 社会一直在变.不晓得是不是社会变的太苦开,而我没变所以我反而 ...
- 【我所认知的BIOS】—> uEFI AHCI Driver(4) — 第一个Protocol真难搞
[我所认知的BIOS]-> uEFI AHCI Driver(4) - 第一个Protocol真难搞 LightSeed 4/23/2014 文章对EFI_DRIVER_BINDING_PROT ...
- 【我所认知的BIOS】—> uEFI AHCI Driver(5) — 第一个protocol最终要開始安装了
[我所认知的BIOS]-> uEFI AHCI Driver(5) - 第一个protocol最终要開始安装了 LightSeed 4/28/2014 文章对EFI_DRIVER_BINDING ...
- BIOS与UEFI、MBR和GPT介绍
操作步骤: UEFI是取代传统BIOS的,全称“统一的可扩展固件接口”.MBR则是传统的分区表类型,最大的缺点则是不支持容量大于2T的硬盘.GPT则弥补了MBR这个缺点,最大支持18EB的硬盘,是基于 ...
- 如何确定windows启动类型是bios还是uefi
原文地址:http://www.kqidong.com/bios/3728.html 如何确定windows启动类型是bios还是uefi?随着装机越来越简单,大家对安装系统充满信心,但是了解到启动类 ...
- BIOS + MBR > UEFI + GPT
BIOS + MBR > UEFI + GPT硬件接口系统与磁盘分区UEFI用于取代老旧的BIOS,而GPT则取代老旧的MBR. 名词解释: BIOS (Basic Input/Output S ...
- 操作系统的启动与引导问题 BIOS、UEFI、MBR、GPT
关于ISO.WIM.GHO三者的正确理解. ISO(Isolation)文件一般以ISO为扩展名,是复制光盘上全部信息而形成的镜像文件. WIM是英文Microsoft Windows Imaging ...
- BIOS/MBR UEFI/GPT关系与区别-资料整理
---恢复内容开始--- 关于 BIOS/MBR UEFI/GPT他们之间的关系一直比较疑惑, 首先一点前提 BIOS UEFI 是一类,是控制硬件,引导启动的:MBR GPT是硬盘的分区定义.. 后 ...
- 【我所认知的BIOS】系列blog整理 1.23.2016.zip
这几年来,蛮多小伙伴都给我发邮件拿PDF版本号. 几年前写的文章格式什么的实在是太粗糙.近期我把全部的文章都整理了一下.事实上该想法已经早就有了,仅仅是近期才開始空暇.如今我把全部的文章整理好了以后上 ...
随机推荐
- 2016.04.06,英语,《Vocabulary Builder》Unit 10
put, from the Latin verb putare, meaning 'to think, consider, or believe'. reputation: [ˌrepju'teɪʃn ...
- HDU Distinct Values
/* 一开始想到的是 对于每个区间操作 先按左端点排序(包含的区间 留这打的区间) 我们维护pos表示 a数组找到了哪 对于当前这个区间 只需要找 pos--r这个区间 用set维护能用的数 没放到a ...
- CentOS6.8 安装 mysql 5.6
安装前的准备: 1.确认是否安装过mysql: yum list installed | grep mysql 2.删除系统自带的mysql及其依赖命令: yum -y remove mysql-li ...
- log4net写日志的时间附带时区信息
<conversionPattern value="%date{yyyy-MM-dd HH:mm:ss.fffzzz} [%thread] %-5level %logger - %me ...
- xocde8打印出:Presenting view controllers on detached view controllers is discouraged
原因: 是某个viewController的生命周期控制出现了错误,所以尽量避免一个controller的view去addsubview另一个controller的view,这样会破坏层级关系,导致第 ...
- win7 32位支持多大内存|win7 32位旗舰版最多能识别多少内存
win7 32位支持多大内存|win7 32位旗舰版最多能识别多少内存 内存的大小决定系统运行速度,所以不少人认为只要内存加大就行了,其实这是不对的,因为win7 32位能支持的内存大小是有限制的,并 ...
- golang图片压缩
package main import ( //"encoding/json" "fmt" //"os" //&qu ...
- Python基本数据类型之数字int
数字 int(x, base=None) 将x转换为一个整数.base为按照多少进制进行转换 float(x) 将x转换到一个浮点数. complex(x) 将x转换到一个复数,实数部分为 x,虚数部 ...
- udacity_javascript设计模式
javascript设计模式 的学习记录 在优达学城上找到的 <javascript设计模式> 他主要是带动我们的思考 在 <第二章 分离重构> 中使用了 model octo ...
- 图片文字滚动插件jQuery Scrollbox
图片文字滚动插件jQuery Scrollbox附件中提供了五种图片.文字滚动样式,只需调用jquery库和jQuery Scrollbox插件,然后再加一段简单的jquery代码即可使用,兼容性良好 ...