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@0" to the search pattern which is redundant as ahci doesn't have "slave" drives - is this really needed?
-Kevin