【我所认知的BIOS】—> uEFI AHCI Driver(6) AtaAtapiPassThruSupported的局部变量们

【我所认知的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设备了。

[右键点击图片,在新窗口打开是可以放大看的]

【我所认知的BIOS】—> uEFI AHCI Driver(6) AtaAtapiPassThruSupported的局部变量们

时间: 2024-11-07 06:12:59

【我所认知的BIOS】—> uEFI AHCI Driver(6) AtaAtapiPassThruSupported的局部变量们的相关文章

【我所认知的BIOS】—> uEFI AHCI Driver(7) — AtaAtapiPassThruSupported

[我所认知的BIOS]-> uEFI AHCI Driver(7) - AtaAtapiPassThruSupported LightSeed 5/23/2014 由于宝宝刚刚出生,最近时间比较紧张,原本这篇文章也写好了有一段时间了,但是每天晚上连开机的时间都没今天才更新上来.我已经邀请到几位我的好朋友加入到我的行列中来写uEFI的东西,他们分别会负责其他module的撰写.以后会专门说明各个部分的作者.没想到呀,局部变量就那么5个,居然里面牵扯的定义和概念有那么多,足足扯了一篇文章.下面的这篇

【我所认知的BIOS】—> uEFI AHCI Driver(6) AtaAtapiPassThruSupported的局部变量们

[我所认知的BIOS]-> uEFI AHCI Driver(6) - AtaAtapiPassThruSupported的局部变量们 LightSeed 5/7/2014 前面5个篇文章把EFI_DRIVER_BINDING_PROTOCOL这个protocol的一个实例(instance)AHCI driver的安装做了一个比較具体的介绍.事实上这个driver到眼下为止仅仅干了一件事情,那就是把这个protocol安装到相应的ImageHandle上去.对于这个driver在BDS的怎么执

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

[我所认知的BIOS]-> uEFI AHCI Driver(5) - 第一个protocol终于要开始安装了 LightSeed 4/28/2014 文章对EFI_DRIVER_BINDING_PROTOCOL的每个 成员的讲解是重点.它是我们遇到的第一个uEFI里面的protocol所以我都尽量把它讲的够细.这一篇文章开始就真正进入到install protocol的函数里面去了.拭目以待吧~ [右键点击图片,在新窗口打开是可以放大看的]

【我所认知的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_PROTOCOL的每一个 成员的解说是重点.它是我们遇到的第一个uEFI里面的protocol所以我都尽量把它讲的够细.下一篇文章開始就真正进入到install protocol的函数里面去了. [右键点击图片,在新窗体打开是能够放大看的] [我所认知的BIOS]-> uEFI AHCI Driver(4) -

BIOS与UEFI、MBR和GPT介绍

操作步骤: UEFI是取代传统BIOS的,全称“统一的可扩展固件接口”.MBR则是传统的分区表类型,最大的缺点则是不支持容量大于2T的硬盘.GPT则弥补了MBR这个缺点,最大支持18EB的硬盘,是基于UEFI使用的磁盘分区架构. 目前所有Windows系统均支持MBR,而GPT只有64位系统才能支持.BIOS只支持MBR引导系统,而GPT仅可用UEFI引导系统.正因为这样,现在主板大多采用BIOS集成UEFI,或UEFI集成BIOS,以此达到同时兼容MBR和GPT引导系统的目的. UEFI启动引

Linux磁盘管理——BIOS和UEFI

参考:BIOS and UEFI - CompTIA A+ 220-901 - 1.1 BIOS and UEFI As Fast As Possible 严格上来说BIOS和UEFI除了在搜索bootable device时和磁盘有点关系,剩下就没有任何关系了.BIOS和UEFI时独立于OS的存在. BIOS与UEFI基本功能差不多,最终都是要到bootable device上去找MBR(或者GPT).接下来的工作就是boot loader加载Kernel,initrd等等. 上下的差别看参考

BIOS + MBR > UEFI + GPT

BIOS + MBR > UEFI + GPT硬件接口系统与磁盘分区UEFI用于取代老旧的BIOS,而GPT则取代老旧的MBR. 名词解释: BIOS (Basic Input/Output System) 基本输入输出系统 MBR (Master Boot Record) 主引导记录 UEFI (Unified EFI) 统一可扩展固件接口.包括内置命令行界面,读取分区表,浏览文件等特性,GPT分区也是UEFI标准的一部分 GPT (GUID Partition Table) GUID分区表,

GPT vs MBR 分区 ,,, Legacy BIOS vs UEFI BIOS

MBR与GPT两种磁盘分区格式的区别 http://itoedr.blog.163.com/blog/static/120284297201378114053240 GPT Partition Table Scheme 一:UEFI BIOS可以说是legacy BIOS的继承者,也就是传统BIOS的后代咯.以后的主流模式. 二:MBR与GPT的区别 1.传统的MBR最大支持2TB的单分区,最多能设置4个主分区 2.GPT支持2TB以上的单分区,理论上能设置128个主分区(硬盘的4k对齐与GPT