[Patch] Serial ATAPI is not recognized
Søren Schmidt
sos at FreeBSD.org
Sat Aug 13 09:26:31 GMT 2005
On 12/08/2005, at 19:55, Vadim Chekan wrote:
> Søren Schmidt wrote:
>>
>> SATA/ATAPI is not supported yet, and the above patch is by far
>> not enough for all systems to work.
>> In fact you are just lucky on your system, for the heck of it I
>> tried it here and my test system lost all its SATA disks :)
>> Support is in the works and will hit -current when its stable
>> enough for general usage....
>>
> Then I'll be one of the first who check this support.
> Thanks for your job!
>
> BTW, I was a little bit puzzled by the code in
> ata-chipset.c:ata_achi_allocate()
> /* XXX SOS this is a hack to satisfy various legacy cruft */
> ch->r_io[ATA_CYL_LSB].res = ctlr->r_res2;
> ch->r_io[ATA_CYL_LSB].offset = ATA_AHCI_P_SIG + 1 + offset;
> ch->r_io[ATA_CYL_LSB].res = ctlr->r_res2;
> ch->r_io[ATA_CYL_MSB].offset = ATA_AHCI_P_SIG + 3 + offset;
>
>
> If I understand the logic of the code correct, in the line before
> last should be ATA_CYL_MSB, not ATA_CYL_LSB. Looks like it's typo
> and ch->r_io[ATA_CYL_MSB].res is never initialized by this code.
> Neither I can find where it is initialized at all. But somehow it
> works !?
Thats a bug alright, however its not used as the AHCI support doesn't
understand ATAPI yet, so the code should newer be used (but it will
fail to recon ATAPI devices).
- Søren
More information about the freebsd-current
mailing list