【我所认知的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的局部变量们的更多相关文章

  1. 【我所认知的BIOS】—> uEFI AHCI Driver(8) — Pci.Read()

    [我所认知的BIOS]-> uEFI AHCI Driver(8) - Pci.Read() LightSeed 6/19/2014 社会一直在变.不晓得是不是社会变的太苦开,而我没变所以我反而 ...

  2. 【我所认知的BIOS】—> uEFI AHCI Driver(4) — 第一个Protocol真难搞

    [我所认知的BIOS]-> uEFI AHCI Driver(4) - 第一个Protocol真难搞 LightSeed 4/23/2014 文章对EFI_DRIVER_BINDING_PROT ...

  3. 【我所认知的BIOS】—> uEFI AHCI Driver(5) — 第一个protocol最终要開始安装了

    [我所认知的BIOS]-> uEFI AHCI Driver(5) - 第一个protocol最终要開始安装了 LightSeed 4/28/2014 文章对EFI_DRIVER_BINDING ...

  4. BIOS与UEFI、MBR和GPT介绍

    操作步骤: UEFI是取代传统BIOS的,全称“统一的可扩展固件接口”.MBR则是传统的分区表类型,最大的缺点则是不支持容量大于2T的硬盘.GPT则弥补了MBR这个缺点,最大支持18EB的硬盘,是基于 ...

  5. 如何确定windows启动类型是bios还是uefi

    原文地址:http://www.kqidong.com/bios/3728.html 如何确定windows启动类型是bios还是uefi?随着装机越来越简单,大家对安装系统充满信心,但是了解到启动类 ...

  6. BIOS + MBR > UEFI + GPT

    BIOS + MBR > UEFI + GPT硬件接口系统与磁盘分区UEFI用于取代老旧的BIOS,而GPT则取代老旧的MBR. 名词解释: BIOS (Basic Input/Output S ...

  7. 操作系统的启动与引导问题 BIOS、UEFI、MBR、GPT

    关于ISO.WIM.GHO三者的正确理解. ISO(Isolation)文件一般以ISO为扩展名,是复制光盘上全部信息而形成的镜像文件. WIM是英文Microsoft Windows Imaging ...

  8. BIOS/MBR UEFI/GPT关系与区别-资料整理

    ---恢复内容开始--- 关于 BIOS/MBR UEFI/GPT他们之间的关系一直比较疑惑, 首先一点前提 BIOS UEFI 是一类,是控制硬件,引导启动的:MBR GPT是硬盘的分区定义.. 后 ...

  9. 【我所认知的BIOS】系列blog整理 1.23.2016.zip

    这几年来,蛮多小伙伴都给我发邮件拿PDF版本号. 几年前写的文章格式什么的实在是太粗糙.近期我把全部的文章都整理了一下.事实上该想法已经早就有了,仅仅是近期才開始空暇.如今我把全部的文章整理好了以后上 ...

随机推荐

  1. TCP心跳包

    所谓的心跳包就是客户端定时放送简单的信息给服务器端,告诉它我还在而已.代码就是每 隔几分钟发送一个固定信息给服务器端,服务器端回复一个固定信息.如果服务器端几分钟后没有收到客户端信息则视客户端断开.比 ...

  2. 使用Aliyun Docker 容器镜像/注册表服务

    1.前往阿里云容器镜像服务创建相关资源. 2.登录你的仓库,账户名+公共地址 docker login --username=xxxxxxxxx@aliyun.com registry.cn-hang ...

  3. POJ 1703 带权并查集

    直接解释输入了: 第一行cases. 然后是n和m代表有n个人,m个操作 给你两个空的集合 每个操作后面跟着俩数 D操作是说这俩数不在一个集合里. A操作问这俩数什么关系 不能确定:输出Not sur ...

  4. AtCoder Regular Contest 069

    1. C - Scc Puzzle 计算scc的个数,先判断s个数需要多少个cc,多的cc,每四个可以组成一个scc.注意数据范围,使用long long. #include<bits/stdc ...

  5. IO流读取文件内容时,出现空格的问题(未找到原因)

    import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOExceptio ...

  6. Gitlab 维护措施

    Gitlab 升级: https://jingyan.baidu.com/article/72ee561ab1b333e16038df63.html Gitlab Rpm包地址: https://pa ...

  7. [hihicoder][Offer收割]编程练习赛47

    删除树节点 #pragma comment(linker, "/STACK:102400000,102400000") #include<stdio.h> #inclu ...

  8. SqlServer数据库基本用法

    . 利用T-SQL语句,创建数据库(工资管理数据库),要求如下: 数据库初始大小:3MB:文件大小按兆字节3MB自动增长,增长限制为:15MB: 数据库日志文件初始大小:1MB: 文件大小按百分比5% ...

  9. 服务器控件使用eval()绑定属性出现服务器标记的格式不正确

    在使用asp.net服务器端控件的时候,想要动态绑定控件某属性的值,或者动态绑定控件事件方法的参数,例如一个<asp:RadioButton ID="RadioButton5" ...

  10. 文字纵向滚动marquee

    <div style="width:200px; height:300px"><marquee direction="up" truespee ...