[haiku-development] Re: ATA driver

  • From: Stephan Assmus <superstippi@xxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Fri, 08 May 2009 12:39:33 +0200

On 2009-05-08 at 12:09:57 [+0200], Stephan Assmus <superstippi@xxxxxx> 
wrote:
> Hi,
> 
> Von: Michael Weirauch <dev@xxxxxxxxxxx>
> 
> > 2009/5/8 Stephan Assmus <superstippi@xxxxxx>:
> > > if $(HAIKU_ATA_STACK) = 1 {
> > > AddFilesToHaikuImage system add-ons kernel busses ide
> > >        : generic_ide_pci it8211 legacy_sata silicon_image_3112
> > $(X86_ONLY)ide_isa ;
> > > } else {
> > > AddFilesToHaikuImage system add-ons kernel busses ata
> > >        : generic_ide_pci it8211 legacy_sata silicon_image_3112
> > $(X86_ONLY)ide_isa ;
> > > }
> > 
> > Then it is mixed up in the HaikuImage. (when HAIKU_ATA_STACK = 1 > ide 
> > , otherwise ata)
> > Was wondering about that on my installation(s) as well.
> 
> I should have fixed the build of the old IDE stack in r30671. 
> system/add-ons/kernel/busses/ata should never exist for the moment, it 
> needs to be busses/ide always, also for the new ATA stack.
> 
> When you toggle between HAIKU_ATA_STACK = 1 in your UserBuildConfig:
> 
> * When you do a clean build, you don't need to watch out for anything.
> * When you "update-all" or copy files from a clean build onto an existing 
> installation, you need to watch out for 
> system/add-ons/kernel/drivers/generic/:
> It should be *only* ata_adapter for the new stack and *only* ide_adapter 
> for the old stack in there. Also you should have *only* one of 
> system/add-ons/kernel/bus_managers/ide or ata of course.
> 
> All this shows that the transition to the new ATA stack is really 
> incomplete right now. For the most part, the drivers in busses/ata, which 
> are straight copies from busses/ide right now, need to be adopted for 
> busses/ata and any changes in the ATA bus_manager if necessary. Then 
> there is a headers/private/drivers/ide_adapter.h, which needs to be 
> changed too and there are tons of *_IDE_* defines that need to be 
> cleanup. On top of that the device manager has some hard coded paths for 
> busses/ide at the moment.
> 
> Last but not least, I don't know why my main system does not boot with 
> the new ATA stack. When it does boot, it uses the SATA/AHCI driver. It 
> does have a Marvel IDE chip and a CD-ROM attached to that. I used to be 
> able to boot with either the IDE stack or the new ATA stack before some 
> recent changes.

Just as additional info, I tested changing everything correctly to 
busses/ata (affected drivers and device manager), and that still boots on 
my other system. So it not booting on my main system probably means some 
change in the ATA stack simply broke it for this system. I will look into 
it further on the weekend...

Best regards,
-Stephan

Other related posts: