AHCI Driver for own OS

Posted by user1496761 on Stack Overflow See other posts from Stack Overflow or by user1496761
Published on 2012-07-31T12:23:59Z Indexed on 2012/09/12 3:38 UTC
Read the original article Hit count: 461

Filed under:

I have been programming a little AHCI driver for two weeks. I have read this article and Intel's Serial ATA Advanced Host Controller Interface (AHCI) 1.3. There is an example, which shows how to read sectors via DMA mode (osdev.org). I have done this operation (ATA_CMD_READ_DMA 0xC8) successfully, but when i tried to write sectors (ATA_CMD_WRITE_DMA 0xCA) to the device, the HBA set the error

Offset 30h: PxSERR – Port x Serial ATA Error - Handshake Error

(this is decoding from Intel AHCI specification). I don't understand why it happened. Please, help me.

In addition, I have tried to issue the command IDENTIFY 0xEC, but not successfully...

© Stack Overflow or respective owner

Related posts about drivers