Silicon Image® SATA Ⅱ driver for NetBSD®

I got inspired to work on a driver for the SiI3124-family of SATA-Ⅱ host adapters.

siisata(4) Status

done-ish

making progress

priorities

  1. polishing
  2. NCQ
  3. port multipliers
  4. hot-swap

sisvflsh(4) Status

ataraid(4)(sii) Status

Naming

siisata(4):

sisvflsh(4):

Documentation

Advanced SATA Ⅱ

Prior Art

Notes

NCQ

NetBSD already (apparently) supports something like this already with SCSI Tagged Queuing. ahcisata(4) does not yet support NCQ. I should see what the plans are. http://mail-index.netbsd.org/tech-kern/2007/07/24/0000.html

ATAPI devices are also not yet supported by ahcisata(4), again, see what plans there may be.

Port Multipliers

This is interesting, either there should be another layer of config glue (i.e. wd@satapm@atabus@siisata, wd@atabus@satapm@siisata, etc).

Or the existing 'drive' (thing) could be used to indicate the port on the multiplier, with drive 0 indicating no port multiplier, and drive 1 indicating the 1st port on the multiplier. But, would this interact well with ATAPI devices? Eh, on third thought this way seems Wrong.

....

On Nth thought, I can't really afford mid-range storage stuff at this point. Perhaps Someone Else will have the time, money and additional know-how to get started on this.

DMA mappings

structure per slot per port:

....

Actually, you don't need a linked list. you can just append SGEs after the activation PRB in host memory.

jakllsch's wiki: NetBSD/SiI SATA II (last edited 2009-07-01 22:25:53 by JonathanKollasch)