X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/eb037efe9f30ae166684e99146024abf8740984d..003db17f7a36a8098827f40df8fedc087b5a26f6:/lunaix-os/includes/hal/ahci/sata.h diff --git a/lunaix-os/includes/hal/ahci/sata.h b/lunaix-os/includes/hal/ahci/sata.h index f898d32..dc93448 100644 --- a/lunaix-os/includes/hal/ahci/sata.h +++ b/lunaix-os/includes/hal/ahci/sata.h @@ -11,10 +11,12 @@ #define ATA_IDENTIFY_DEVICE 0xec #define ATA_IDENTIFY_PAKCET_DEVICE 0xa1 #define ATA_PACKET 0xa0 -#define ATA_READ_DMA_EXT 0xc8 -#define ATA_READ_DMA 0x25 -#define ATA_WRITE_DMA_EXT 0xca -#define ATA_WRITE_DMA 0x35 +#define ATA_READ_DMA_EXT 0x25 +#define ATA_READ_DMA 0xc8 +#define ATA_WRITE_DMA_EXT 0x35 +#define ATA_WRITE_DMA 0xca + +#define MAX_RETRY 2 struct sata_fis_head { @@ -31,7 +33,7 @@ struct sata_reg_fis uint8_t lba0, lba8, lba16; uint8_t dev; uint8_t lba24, lba32, lba40; - uint8_t reserved1; + uint8_t feature; uint16_t count; @@ -52,13 +54,13 @@ sata_create_fis(struct sata_reg_fis* cmd_fis, uint16_t sector_count); int -sata_read_buffer(struct hba_port* port, +sata_read_buffer(struct hba_device* dev, uint64_t lba, void* buffer, uint32_t size); int -sata_write_buffer(struct hba_port* port, +sata_write_buffer(struct hba_device* dev, uint64_t lba, void* buffer, uint32_t size);