【我所认知的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版本号. 几年前写的文章格式什么的实在是太粗糙.近期我把全部的文章都整理了一下.事实上该想法已经早就有了,仅仅是近期才開始空暇.如今我把全部的文章整理好了以后上 ...
随机推荐
- TCP心跳包
所谓的心跳包就是客户端定时放送简单的信息给服务器端,告诉它我还在而已.代码就是每 隔几分钟发送一个固定信息给服务器端,服务器端回复一个固定信息.如果服务器端几分钟后没有收到客户端信息则视客户端断开.比 ...
- 使用Aliyun Docker 容器镜像/注册表服务
1.前往阿里云容器镜像服务创建相关资源. 2.登录你的仓库,账户名+公共地址 docker login --username=xxxxxxxxx@aliyun.com registry.cn-hang ...
- POJ 1703 带权并查集
直接解释输入了: 第一行cases. 然后是n和m代表有n个人,m个操作 给你两个空的集合 每个操作后面跟着俩数 D操作是说这俩数不在一个集合里. A操作问这俩数什么关系 不能确定:输出Not sur ...
- AtCoder Regular Contest 069
1. C - Scc Puzzle 计算scc的个数,先判断s个数需要多少个cc,多的cc,每四个可以组成一个scc.注意数据范围,使用long long. #include<bits/stdc ...
- IO流读取文件内容时,出现空格的问题(未找到原因)
import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOExceptio ...
- Gitlab 维护措施
Gitlab 升级: https://jingyan.baidu.com/article/72ee561ab1b333e16038df63.html Gitlab Rpm包地址: https://pa ...
- [hihicoder][Offer收割]编程练习赛47
删除树节点 #pragma comment(linker, "/STACK:102400000,102400000") #include<stdio.h> #inclu ...
- SqlServer数据库基本用法
. 利用T-SQL语句,创建数据库(工资管理数据库),要求如下: 数据库初始大小:3MB:文件大小按兆字节3MB自动增长,增长限制为:15MB: 数据库日志文件初始大小:1MB: 文件大小按百分比5% ...
- 服务器控件使用eval()绑定属性出现服务器标记的格式不正确
在使用asp.net服务器端控件的时候,想要动态绑定控件某属性的值,或者动态绑定控件事件方法的参数,例如一个<asp:RadioButton ID="RadioButton5" ...
- 文字纵向滚动marquee
<div style="width:200px; height:300px"><marquee direction="up" truespee ...