Page 1 of 1

ATA PIO IDENTIFY return data

Posted: Wed Dec 16, 2015 2:21 am
by makerimages
Hi

I've gotten to a point where I have paging enabled, finally. The next step would be to write the disk and filesystem drivers. I've read trough most of the ATA PIO article on the wiki, and I have a question now.. Is there a complete structure for data returned by the IDENTIFY command? What other data, besides the stuff listed here does it return?

Re: ATA PIO IDENTIFY return data

Posted: Wed Dec 16, 2015 3:02 am
by Kevin
There is a lot of information in there. Just read the section on IDENTIFY in the ACS-3 spec, it has a long table that describes each word in the IDENTIFY data. Starting to read the spec instead of relying only on secondary sources like the wiki is a good idea anyway as soon as you get to non-trivial hardware like IDE.

Re: ATA PIO IDENTIFY return data

Posted: Wed Dec 16, 2015 10:32 am
by makerimages
K, that table is loong. Is there a drop-in structure for loading this into, or how would anyone efficiently load the 256 words into something useable?

Re: ATA PIO IDENTIFY return data

Posted: Wed Dec 16, 2015 11:37 am
by Combuster
makerimages wrote:or how would anyone efficiently load the 256 words into something useable?
Defining that packed struct as appropriate. It's probably faster than finding one you can reuse without copyright issues.