[haiku-development] Re: ATA driver

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

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.

Best regards,
-Stephan

Other related posts: