On Sat, Feb 12, 2011 at 11:43:24PM +0000, Jonathan A. Kollasch wrote:
I've been trying SeaBIOS's AHCI driver on AMD SB710 hardware under
coreboot. Both AMD's AHCI BIOS and NetBSD's ahcisata(4) drivers are
happy enough with the hardware's state after coreboot/SeaBIOS.
However, SeaBIOS's AHCI driver just falls into a dead loop waiting for
commands to complete. This is due to at least two problems.
The immediate problem is that we tell the HBA that a Host To Device FIS
is 4 dwords. The correct value is 5 dwords if I read the specs right.
But, when the H2D FIS length we give to the HBA is 5, I have a more
perplexing problem. The machine hardlocks when HBA registers are
read after the command has been issued. When I examine the Command List
and Receive FIS Area, etc. before and after issuing the command, they have
Actually it wasn't a hardlock, it was a dead loop. :-)
I have it (mostly) working now, just have to get it polished up a bit.