Re: Please help me to understand the interaction of the various ATA drivers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



-----Original Message-----
From: One Thousand Gnomes <gnomes@xxxxxxxxxxxxxxxxxxx>
To: Andy Falanga (afalanga) <afalanga@xxxxxxxxxx>
Subject: Re: Please help me to understand the interaction of the various
ATA drivers
Date: Thu, 30 Apr 2015 11:43:06 +0100

On Wed, 29 Apr 2015 21:38:41 +0000
"Andy Falanga (afalanga)" <afalanga@xxxxxxxxxx> wrote:

>> Jeff,
>> 
>> I don't know if you're still the maintainer of these drivers but you're
>> listed as the original author of the code in the 2.6 kernel which I'm

> Think Jeff is mostly off doing wonderous things with Bitcoin. 

I'm wonderfully out of touch.  Ha, I had to look up Bitcoin.


>> My question for you is simply, how are these various drivers supposed to
>> work together?  On the VM which I'm doing my development, I see the
>> following from lsmod:
>> 
>> # lsmod
>> ...
>> ahci                      41208         2
>> pata_acpi                  3701         0
>> ata_generic                3837         0
>> ata_piix                  24409         1

> ata_generic is a bus mastering driver for PCI IDE class devices. In your
> case its been loaded for some reason but is not being used

> pata_acpi is a driver for ACPI described generic interfaces, and again is
> not being used

I had figured out that pata_acpi was for IDE devices but I hadn't figured
that ata_generic was.  Thanks.  Yes, my VM placed a CD drive on the PATA
interface.  As you know, my application needn't worry about this one.

> ata_piix is a driver specifically for Intel PIIX/ICH interfaces in legacy
> mode and does seem to be getting used, so presumably your virtual machine
> has at least one legacy mode PIIX or ICH emulated on it

I can ignore this one as well it would seem.


> ahci is a driver for controllers that are AHCI class, or match a few
> identifiers for AHCI controllers not declaring themselves AHCI class (eg
> those that try and hide from Windows AHCI drivers so proprietary raid
> products can be used with them on Windows)

This is the one I was hoping I could tap into.  That is, I was hoping to
write a high-level driver, exposing a device node, which I could just pass
requests to ahci.ko.  Sounds like this may be more trouble that it's worth
given that you're suggesting I modify it to ignore the hardware I'd like
to control and write a simple driver to so.  The one drawback is that my
driver really needs to work with all AHCI devices.  This would mean I either
remove ahci or hamstring it to ignore all AHCI hardware.

> So I think you'd need to
>
> a) modify ahci to ignore your specific device in its probe method
> b) write a simple driver so you can poke the ports and do any needed DMA

Thanks for the suggestions.  This gives me something to go on.

Andy



��.n��������+%������w��{.n�����{��'^�)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥





[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux