I just found a very fun bug in certain types of sil3124 cards.
The one I have, and probably all other 32-bit sil3124 cards, is completely unusable on 64-bit pci systems. For reference, this is the one I have:
http://www.syba.com/index.php?controller=Product&action=Info&Id=864.
The 64-bit bus, talking to the 64-bit sil3124 chip, says that 64-bit data accesses work. But the card itself is only 32-bit: the extended data lines aren't connected to anything.
The sil3124 tries to use 64-bit accesses whenever possible.
So when the sil3124 tries to transfer data itself, such as when
reading or writing data from the disk, a full 50% of the data is sent over data lines that
aren't even connected to anything.
64-bit accesses can't be turned off on the sil3124 itself, so it seems the only fix (aside from messing with the pci pins themselves, which seems dangerous) is to simply not plug 32-bit sil3124 cards into 64-bit pci busses.
64-bit sil3124 cards are completely unaffected, so this is just one more excellent reason to use those.