SATA passthrough commands from User Space

From: Muhammad Mutahir Latif
Date: Thu Dec 11 2008 - 03:05:52 EST


Hi

I am new to linux kernel development and need help in developing an
application in linux for a SATA device. What is required is that the
application needs to send raw SATA commands along with data (like Read
DMA, Write FPDMA etc) to a SATA hard disk. Secondly we also have to
achieve a reasonably high data transfer throughput.

As a starting point I was thinking of modifying the AHCI driver by
adding an IOCTL hook to the driver , through which the user space
application would be able to send command and data to the drive. The
IOCTL function in the driver on getting a command would prepare the
appropriate structures, prepare memory buffers and then call other
builtin AHCI functions to perform the operations. Is this the correct
approach for handling such a problem or should we be looking at the
libata and use functions from that module. I would really appreciate
any help from someone who might have modified AHCI or libata so that
raw SATA commands can be sent from the user space

Thanks

Mutahir
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/