[SeaBIOS] [PATCH 0/7] ahci update

Gerd Hoffmann kraxel at redhat.com
Thu Aug 4 19:36:03 CEST 2011


   Hi,

Finally found the time to look at this.

> 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?

I've seen qemu sending multiple updates, thats why the loop is there.

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

Fixed.

> 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.

Fixed.

> 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?

It isn't required, but it also doesn't harm.  qemu gives us a string 
with the redundant "/disk at 0" included, thus bootprio_find_ata_device 
works as-is and I didn't bother creating a separate function for ahci/sata.

Patch series with the fixes mentioned above will go to the list in a moment.

cheers,
   Gerd



More information about the SeaBIOS mailing list