[問題] 一個關於AHCI的問題

看板ASM作者 (佘娃娃)時間15年前 (2008/12/11 13:14), 編輯推噓0(003)
留言3則, 1人參與, 最新討論串1/1
請問大家一個關於AHCI的問題。 我想要寫一個可以在DOS下讀取硬碟資訊(廠牌、size、firmware version)的tool, 而硬碟的mode是AHCI SATA or RAID SATA, 我有看了AHCI spec,知道從PCI可以得到HBA(AHCI Base Adder),但是之後就不知道該如 何下手了, 因為我發現他有很多組的port跟command table要對照、填值? 但是好像沒有看到要對這些command table裡的項目分別應該填些什麼值 (比如說像IDE or sata HDD一樣對port投command ECh就會傳回identify device information) 而且他的port reg跟command都有好多組,不知道應該拿哪個來用,又或者是都沒差? 如果要投command的話要怎麼投呢?是丟到從PxCLB得到的address嗎?還是別的地方? 如果真的成功投了command他會像IDE一樣的模式用in port取得一連串的資訊嗎?或者是另 外存在某個地方呢? 在網路上好像很少有看到討論 AHCI的方法,不曉得網路上那些hdd tool是怎麼完成的? 不知道版上是否有人碰過類似的AHCI問題?或者比較了解AHCI的大大可以教學一下?謝謝囉 ^^ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.39.26.130

12/13 18:20, , 1F
AHCI和RAID一樣都是用memory access的方式來下ATA command
12/13 18:20, 1F

12/13 18:21, , 2F
至於memory address就是你看到的HBA
12/13 18:21, 2F

12/13 18:22, , 3F
試著對HBA下一些ATA command 跟IDE很類似
12/13 18:22, 3F
文章代碼(AID): #19GA6zRs (ASM)