首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux AHCI PRD分配

Linux AHCI PRD分配
EN

Stack Overflow用户
提问于 2014-03-06 17:31:32
回答 1查看 268关注 0票数 1

我是一名硬件开发人员,正在为嵌入式系统创建AHCI接口。我想知道PRD DMA数据是在哪里创建并分配给PRD的。由于SATA使用DWORDS,因此我假设数据将与4字节的倍数对齐。我对Linux没有太多的经验,所以如果有人能给我指出正确的方向,我将不胜感激。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-04-07 16:55:13

ahci控制器充当系统内存和SATA设备之间的数据移动引擎。以读取操作为例,大致顺序如下:

读取存储器中的命令(命令头、命令表和相应的PRD)

  • 软件通过配置端口寄存器、PxCI(和PxSACT,如果NCQ)

  • AHCI控制器获取和处理此命令(包括调用data transfer...)

  • software中断服务来处理命令completion

  • software read PRD to get device content

)发出此命令

PRD条目由软件(驱动程序)创建/分配,并可通过命令表定位/检索,即硬件可定位命令表,然后检索所有PRD条目。此外,ahci规范将PRD地址和字节计数都定义为字对齐(最低)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22220252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档