This project aims to develop a SiI 3124 driver for FreeBSD. There are of course already Linux an Solaris drivers for this device, plus available documentation. There's no FreeBSD driver, though, so let's make one.
I had a first version of a 3124 driver sort-of working; it could read and write blocks. I then sent one controller card to Søren Schmidt who maintains FreeBSD's ata(4) driver and he did one that's much better in style. I did an MFC to get it to work on 6-stable again and have since worked on port multiplied support in 6-stable; I'm not sure what's going on in 7-current.
Get the driver from CodeYard's SiI24 SVN; there are three brances that are interesting: