gpt4 book ai didi

Linux AHCI PRD配置

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:59:16 24 4
gpt4 key购买 nike

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

谢谢

最佳答案

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

  • 软件在内存中“构建”命令(命令头、命令表和相应的 PRD)
  • 软件通过配置端口寄存器、PxCI(和 PxSACT,如果 NCQ)发出此命令
  • AHCI Controller 获取并处理此命令(包括数据传输...)
  • 调用软件中断服务来处理命令完成
  • 软件读取 PRD 以获取设备内容

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

关于Linux AHCI PRD配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22220252/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com