游戏攻略网
当前位置: 首页 游戏攻略

uefi4.1更新的实验室在哪里(UEFI内核导读ATADriverStack)

时间:2023-08-03 作者: 小编 阅读量: 1 栏目名: 游戏攻略

固件C字营·版权所有敬请关注“固件C字营”敬请关注今日头条号:”固件C字营“------------------------------------------------------------------------SATA是我们最常见的硬盘接口,因为传输速度较慢现在绝大部分SATA接口只用在机械硬盘上。除了SATA之外常见的还SCSI、PCIE(NVME)接口也做为硬盘接口。为了与SATA接

固件C字营·版权所有

敬请关注“固件C字营”

敬请关注今日头条号:”固件C字营“

------------------------------------------------------------------------

SATA是我们最常见的硬盘接口,因为传输速度较慢现在绝大部分SATA接口只用在机械硬盘上。除了SATA之外常见的还SCSI、PCIE(NVME)接口也做为硬盘接口。为了与SATA接口硬盘进行数据传送必须使用ATA driver,它分成几个层次如下:

ATA host controller driver:

一般的SATA控制器都是挂在PCI总线下,所以ATA host controller driver一般是消费host controller handle上的PCI I/O Protocol,生产ATA Pass Thru Protocol 来访问硬盘设备,

Ext SCSI Pass Thru Protocol来访问CD/DVD。

ATA bus driver:

消费ATA Pass Thru Protocol,为控制器下挂的设备生产出child handle,并为其install Device Path Protocol,Block I/O Protocol, Block I/O 2 Protocol以及Storage Security Command Protocol.

ATA Host Controller Driver的实现:

host controller driver的实现和硬件平台息息相关的,不同的平台有不同的硬件配置,host controller数量也不一样,通常一个host controller driver需要控制多个控制器,所以我们需要确保driver的实现是可重入的,并为每一个控制器分配独立是私有的数据结构空间。实现步骤如下:

1.为每一个ATA host controller handle Install the ATA Pass Thru Protocol

2.为每一个SCSI host controller handle Install Extended SCSI Pass Thru Protocol

ATA Host Controller Driver :Supported()

和PCI driver一样先locate并open EFI_DEVICE_PATH_PROTOCOL、EFI_PCI_IO_PROTOCOL然后使用PCI IO Protocol 提供的服务去检测设备的VID、DID、Subclass Code。

ATA Host Controller Driver :Start()

初始化ATA host controller,一般有以下的步骤,他们和其他的driver基本一样:

1.Enable the PCI device.

2.Allocate resources.

3.Construct data structures for the driver to use.

4. Install the ATA Pass Thru Protocol instance on the same handle that has the PCI I/O Protocol.

5. Install the Extended SCSI Pass Thru Protocol instance on the same handle that has the PCI I/O Protocol.

ATA Host Controller Driver :Stop()

完成和start相反的动作:

1.Disable the ATA controller.

2. Release all resources that were allocated for this driver.

3. Close the protocol instances that were opened in the Start()function.

4. Uninstall the protocol interfaces that were attached on the host controller handle.

EFI_ATA_PASS_THRU_PROTOCOL 数据结构:

EFI_ATA_PASS_THRU_PROTOCOL会被用来获取挂在ATA host controller上的设备的各种信息和传递ATA数据请求包给设备,即使是这个设备不是可启动设备,这个通常可以用来作为一个诊断外设的手段。它还可以为那些需要作为启动设备device handle的block I/O driver提供底层访问的软件抽象和封装。

EFI_ATA_PASS_THRU_PROTOCOL.Mode:通常来获取和设定各种参

EFI_ATA_PASS_THRU_PROTOCOL.GetNextPort():

EFI_ATA_PASS_THRU_PROTOCOL.GetNextDevice():用来扫描所有的ATA设备。

EFI_ATA_PASS_THRU_PROTOCOL.BuildDevicePath():建立设备路径.

EFI_ATA_PASS_THRU_PROTOCOL.PassThru():这个是主角,有以下的功能,

1.Initialize the internal register for command/data transfer.

2.Put valid ATA commands into hardware-specific memory or register locations.

3.Start the transfer.

4.Optionally wait for completion of the execution.通常使用阻塞的传输模式。

ATA bus driver的实现:

使用 ATA Pass Thru Protocol去扫描挂在ATA host controller下面的设备并且生产出 child handles,然后完成以下步骤,通常来说bus driver是通用driver我们一般不需要修改,porting到新平台的时候我们只需要修改和硬件平台相关的ATA Host Controller Driver就可以了:

1.Install Device Path Protocol to each child handle.

2.Install Block I/O Protocol on each child handle.

3.Install Block I/O 2 Protocol on each child handle.

4.If the hard drive supports the SPC-4 or ATA8-ACS command set, then install the Storage Security Command Protocol the child handle.

以上是对 ATA driver有一个简单介绍,细节可以参考相关的Spec。

敬请关注“固件C字营”

敬请关注今日头条号:”固件C字营“

    推荐阅读
  • steam棋牌游戏推荐(幸运之夜新版本亮相TGC)

    steam棋牌游戏推荐12月1日,2017腾讯游戏嘉年华正式在成都开幕,腾讯的VR社交游戏《幸运之夜》在现场发布了最新版本。VR《幸运之夜》在TGC2017上惊艳亮相《幸运之夜》新版本发布邀请好友一起游戏今年7月底,《幸运之夜》正式在Steam发布,并推出了首款游戏作品“德州扑克”。今年的TGC2017现场,《幸运之夜》全新版本便带来了对互动性方面的提升。

  • 儿童睡前故事卖火柴的小女孩大全(卖火柴的小女孩)

    在长发公主的故事里,兔子小姐变成了手持宝剑的骑士,穿过了山川和河流,战胜了地狱恶犬,最终救出了长着一头金黄色长发的熊猫先生。随着一阵空间的波动,熊猫先生和兔子小姐来到了冰天雪地的圣诞节。小女孩被这突如其来的变化惊呆了。熊猫先生没有回答,轻轻摸了摸小女孩的头。小女孩点燃了第二根火柴。熊猫先生和兔子小姐则来到壁炉前,商量起小女孩最后一个愿望。熊猫先生蹲下来,握起小女孩的手。

  • 怎样做ppr管快一点(PPR管安装方法及技巧)

    怎样做ppr管快一点PPR管安装方法及技巧首先准备好需要的材料:热熔机,小剪刀,ppr管,管件,手巾。一定要根据自己热熔ppr管的口径,准备相应的热熔头。清洁:清洁管材与管件的焊接段部位,建议用95%浓度酒精擦净。在熔接时间内迅速的将管材无旋转的垂直插入管件中,并维持5秒以上,然后按相应冷却时间冷却。热熔后做到横平竖直,美观大方。

  • 大托特包搭配技巧(大托特包搭配技巧简述)

    西装外套+托特包复古时尚的格子,由黑白交错的条纹形成,文艺而又端庄搭配撞色托特包,优雅而不失俏皮,让气场变得灵动起来内搭白色连帽卫衣,减龄又可爱,接下来我们就来聊聊关于大托特包搭配技巧?大托特包搭配技巧西装外套+托特包复古时尚的格子,由黑白交错的条纹形成,文艺而又端庄。衬衫+托特包白色的衬衫休闲慵懒,给人一种空灵的感觉以及干净纯粹的气质。

  • 刘涛电视剧口碑(电视剧景气指数第一)

    还记得3月份刘涛在和周渝民主演的《大宋宫词》中扮嫩出演少妇被很多观众吐槽。万万没想到时隔数月,刘涛带着她的新剧《星辰大海》杀回来了。目前主要的剧情线在刘涛饰演的女主简爱身上。因为小时候意外发现母亲出轨的事,得知真相的父亲激愤之下杀死母亲并自杀,简爱因此成为了一个孤女。逃出傻子家的简爱在与姑姑的争执中误伤姑姑,从此开启逃命生涯。简爱从面馆辞职走投无路,误打误撞进入大公司之后面临着同事的故意刁难。

  • 外墙装修材料有哪些 外墙装修材料有哪些类型

    外墙涂料具有装饰性良好、耐污染耐老化以及施工维修容易和价格合理的特点。一般来说釉面外墙砖有亚光面与无光面两大类。它的装饰的效果也不错,有柚木色、深灰色等等可供选择。由于它的表面的肌理很清晰,所以色泽漂亮且装饰性极强。本站,中国知名大型装修平台,装修领导品牌。

  • 世界上有哪些花(世界上有哪些花 名字)

    瓜叶菊、香豌豆、夏兰、石竹、石蒜、荷花、翠菊、睡莲、福禄考、晚香玉、万寿菊、千日红、建兰、铃兰、报岁兰、香堇、大岩桐、水仙、小草兰、瓜叶菊、蒲包花、免子花、入腊红、三色堇、百日草、鸡冠花、一串红。孔雀草、大波斯菊、金盏菊、非洲凤仙花、菊花、非洲菊、观赏凤梨类、射干、非洲紫罗兰、天堂鸟、炮竹红、菊花、康乃馨、红掌、满天星、星辰花、三角梅、虞美人。

  • 长歌行李长歌母亲是谁杀的(长歌行李长歌的简介)

    下面更多详细答案一起来看看吧!长歌行李长歌母亲是谁杀的《长歌行》李长歌母亲是自杀的。李长歌,太子李建成之女,生母则是回纥王族。父母手足均死于玄武门之变,满怀愤恨的长歌凭高超武艺逃出皇宫,并在追捕过程中制造“坠崖假死”而逃生,其后女扮男装隐瞒身份流落民间,一心只想为父母复仇,在家和国的利害冲突中,最后放弃复仇,和阿诗勒隼一起成为了民族和解的使者。

  • 什么时候喝蛋白粉增肌效果最好(什么时候喝蛋白粉增肌效果最好)

    从长远来看,这种方法被证明可以促使肌肉明显增长。如果摄入量超过一定的阈值,蛋白质的合成就会受限。如果是以乳清饮料的形式摄入乳清蛋白,运动者可以在运动结束后立即饮用。按每公斤体重1克的标准,在健身前后立即摄入以及在运动后1小时内摄入可快速吸收的碳水化合物,可以明显抑制肌肉分解,并大大促进肌肉快速和明显的增长。在这种情况下,大量分泌的胰岛素促进了氨基酸向工作中的肌肉运输,为蛋白质合成奠定基础。

  • 窦骁周冬雨山楂树之恋结局(周冬雨18岁第一次出演)

    周冬雨18岁第一次出演要说最近最火的电影,非《少年的你》莫属,上映14天,已经收获了12.45亿的票房成绩,成为现阶段最强的票房黑马而作为该片主演的周冬雨和易烊千玺,也凭借在该片中的精彩演出,演技得到大众的进一步认可作为“。