[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