how to issue an ATA command

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

 



Hi,

I'm writing a character driver which is meant to act as a pass-through
from user space to the ahci driver.  Using the 2.6.32 kernel (CentOS 6),
I've exported ahci_qc_issue() (in ahci.c the LLDD, which appears to be
something RH backported because I'm not finding the symbol at the lxr
site I use for 2.6.32) so that my upper layer driver can talk to the LL.
I've modified enough that I can peek/poke registers on the HBA using
ioctls.  Now, it's onto the next task which is allowing users to issue
ATA commands through this driver.  I need to be able to do so using
this, as opposed to sg, because we truly want a pass-through driver
which will by pass the rest of the kernel in this area.  We also have a
need for issuing commands under circumstances which prevent the existing
drivers from making device nodes (i.e. /dev/sgN) for the drive under
scrutiny.  Thus, my upper layer driver makes a device node for each port
on the HBA.

Now, I'm examining the ata_queued_cmd structure
http://lxr.free-electrons.com/source/include/linux/libata.h?v=2.6.32#L541 but this raises many questions.  Which fields must I check/set?  What is necessary and what may be ignored?  Any help/guidance on this is greatly appreciated.

Andy
��.n��������+%������w��{.n�����{��'^




[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