[haiku-development] Re: ATA stack testing

On Tue, 28 Apr 2009 18:39:27 +0200 (CEST), Marcus Overhagen wrote
> I made a couple of changes to the ata stack and the ide_adapter, 
> because it wouldn't work on my ICH9 based core2quad at all.

Just a quick note from my side as I'm a bit busy right now: I really don't
like going this compatibility hack way again. My original intention was to
clean up and rework what was there. That's also why I made the ata bus_manager
it's own target. The intention was to move forward with this strategy, copying
and then changing the ide_adapter to a new ata_adapter. During this also
moving from the ide_* to the ATA_* variables and such. So I don't really agree
with the ATA_STACK define (and I obviously hate that super-ugly i-RAM hack...).

> ALso, whats the general opinion about switching from ide to ata
> stack soon?

Axel reported that his Eee wouldn't boot anymore with the ata bus_manager and
I am able to reproduce that here as well. The problem is that I have no idea
why this happens nor why the ide bus_manager didn't experience it. When not
trying to initialize/scan the primary channel it works fine. But when
initializing the primary channel it will hang a bit later, even though there
are no devices detected/used on that channel.

In general though it seems to work fine on all other hardware I have tested
with (that's 8 different machines with various hardware generations and
configurations). I haven't checked your further changes yet though, but don't
see why they should introduce any problems.

As mentioned I originally planned to continue reworking the rest of the ATA
stack adapting ide_adapter to ata_adapter removing PIO interrupt handling as
you did now and also review the drivers that use the ide_adapter. Then finally
flip the switch and remove the ide targets and add the ata targets to the
image. This way just looks much cleaner to me as the old targets stay
untouched for people where the ata stuff may not work right from the start and
it leaves you with a reference that can easily be switched (I switched back
and forth ide and ata while reworking to check for behavioral differences for
example).

Regards
Michael

Other related posts: