HBA Memory Registers
内存寄存器位于不可缓存的内存区域,切每次访问不能超过 64bit。寄存器分为两类:一是 Global Register,二是 Port Register。前者用于控制整个 HBA 的功能支持信息,后者是对于 HBA 的 port 的状态与功能信息。

Generic Host Control
用于控制 HBA 对于软件功能支持、中断、通信机制、HBA 重启、队列控制、 AHCI 版本号、以及其他扩展功能等。具体的寄存器的值的含义需要查看对应的章节。

Port Registers (one set per port)
HBA 最重要的寄存器部分,直接控制 Port 与 ATA device 的交互。基地址是PCI Header 中的 AHCI base address。每个 Port 的长度是固定的 80 h.
Port 0 开始于100h, port 1 开始于 180h, port 2 开始于 200h, port 3开始于280h, etc. Offset 计算公式如下:


5058

被折叠的 条评论
为什么被折叠?



