SATA AHCI driver head banging.

Adam Lackorzynski adam at
Mon Jul 23 22:56:45 CEST 2012


On Fri Jul 20, 2012 at 16:07:46 -0700, Daniel Waddington wrote:
> I am trying to build a SATA driver for our Fiasco.OC personality.
> The h/w is a Intel 82801J IOCH in a PC platform.
> I get can pick up the device in the PCI, get BAR5 and map in the
> control registers.  I then initialize the card (into AHCI mode), set
> up memory (command list and command tables) and try to do an
> IDENTIFY_DEVICE command.  The command issues, and returns a PIO
> Setup FIS (type 5f).  PxTFD.STS.DRQ=1 PxTFD.STS.BSY=0 PxSERR=0
> PxSACT=1.  The PIO setup FIS indicates a transfer count of 512 bytes
> (which is correct).  All good so far, but then no interrupt happens
> and no more FISes appear - and I don't know what to do next.  The
> same behavior occurs on another PC platform with a IOCH9 controller.
> I have not done anything w.r.t. configuring or re-routing IRQs in
> the PCI subsystem (a black hole to me). Is there something that is a
> must that I'm clearly missing here??

I'd think it has something to do with PCI. The hint I could give is that
you put your driver code into an L4Re task and check if it's better
there? That could give a direction.

Adam                 adam at

More information about the l4-hackers mailing list