[SeaBIOS] [PATCH 0/7] ahci update

Kevin O'Connor kevin at koconnor.net
Mon Jul 25 05:36:54 CEST 2011


On Fri, Jul 22, 2011 at 05:10:21PM +0200, Gerd Hoffmann wrote:
> On 07/17/11 16:16, Kevin O'Connor wrote:
> >On Thu, Jul 14, 2011 at 04:23:58PM +0200, Gerd Hoffmann wrote:
> >>   Hi,
> >>
> >>Finally the update for the ahci code, featuring:
> >>
> >>   * A bunch of bugfixes, which makes the code work on real hardware
> >>     (additionally to the qemu emulated ahci adapter).
> >>   * Better timeout handling.
> >>   * Support for unaligned access.
> >>   * Support for boot ordering.
> >
> >I've confirmed that with this patch series applied I can boot my
> >Asrock e350m1 board in AHCI mode.
> 
> Anything which holds this series from being committed?
> Do you wait for more test feedback?

Thanks.  I applied the patch series.

I do have some comments, but I think they can be addressed on top if
needed.

In patch 2 - there is a nested loop - the inside looping checking for
an interrupt and the outside loop checking for BSY.  I don't see how
an interrupt could fire when the drive is reporting BSY - is this
really needed?

In patch 4 - the buffer should really be shared with all AHCI
controllers and the CDROM emulation code.

In patch 6 - it looks like each port will try to detect a drive by
waiting 10ms.  Ideally, this would be parallelized by launching a
thread per-port.  Also, ideally malloc_fseg() wouldn't be called
unless the port was needed.

In patch 7 - the ahci code uses bootprio_find_ata_device() which tacks
on "/disk at 0" to the search pattern which is redundant as ahci doesn't
have "slave" drives - is this really needed?

-Kevin



More information about the SeaBIOS mailing list