ATA ident command

Thomas Doerfler Thomas.Doerfler at embedded-brains.de
Thu Aug 27 11:32:29 UTC 2009


Chris Johns wrote:
> Thomas Doerfler wrote:
>> So I think you are correct.
>>
> 
> Excellent. I will commit the change. Interesting it has been in RTEMS
> for this amount of time.

Gotcha. I didn't dare to ask that question ;-)

Thomas.

> 
> Thanks.
> Chris
> 
>> wkr,
>> Thomas.
>>
>> Chris Johns wrote:
>>> Hi all,
>>>
>>> I have found the ATA driver's handling of the ident command seems a
>>> little suspect but I did not want to change the driver without some
>>> feedback.
>>>
>>> If you look around line 1470 in the ata.c driver the LBA sectors is
>>> passed to the rtems_disk_create_phys call. This value comes from the
>>> handling of the ident table returned from the drive (line 1419). I
>>> found the value returned by qemu for its drive was word reversed. I
>>> now have this:
>>>
>>>       ATA_DEV_INFO(ctrl_minor, dev).lba_sectors =
>>>           (CF_LE_W(buffer[ATA_IDENT_WORD_NUM_OF_USR_SECS1]) << 16) +
>>>            CF_LE_W(buffer[ATA_IDENT_WORD_NUM_OF_USR_SECS0]);
>>>
>>> and it is working with qemu.
>>>
>>> If any one has an ATA standard handy could they please check if this
>>> change is ok ?
>>>
>>> Regards
>>> Chris
>>> _______________________________________________
>>> rtems-users mailing list
>>> rtems-users at rtems.org
>>> http://www.rtems.org/mailman/listinfo/rtems-users
>>
>>


-- 

--------------------------------------------
embedded brains GmbH
Thomas Doerfler        Obere Lagerstrasse 30
D-82178 Puchheim       Germany
email: Thomas.Doerfler at embedded-brains.de
Phone: +49-89-18908079-2
Fax:   +49-89-18908079-9
PGP:   Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



More information about the users mailing list