From a580a34d1314a85534ae51a2b62114127fe03c3b Mon Sep 17 00:00:00 2001 From: John Hodge Date: Wed, 19 Jun 2013 11:19:47 +0800 Subject: [PATCH] Modules/AHCI - Added H2D register structure (used for commands) --- KernelLand/Modules/Storage/AHCI/sata.h | 27 ++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/KernelLand/Modules/Storage/AHCI/sata.h b/KernelLand/Modules/Storage/AHCI/sata.h index 8a30085e..f17b7242 100644 --- a/KernelLand/Modules/Storage/AHCI/sata.h +++ b/KernelLand/Modules/Storage/AHCI/sata.h @@ -12,6 +12,7 @@ enum eSATA_FIS_Types { SATA_FIS_D2HRegister = 0x34, SATA_FIS_DMASetup = 0x41, + SATA_FIS_Data = 0x46, SATA_FIS_PIOSetup = 0x5F, }; @@ -27,6 +28,12 @@ struct sSATA_FIS_DMASetup Uint32 DMATransferCount; Uint32 _resvd[1]; } PACKED; +struct sSATA_FIS_Data +{ + Uint8 Type; // = 0x46 + Uint8 _resvd[3]; + Uint32 Data[1]; +} PACKED; struct sSATA_FIS_PIOSetup { Uint8 Type; // = 0x5F @@ -48,6 +55,26 @@ struct sSATA_FIS_PIOSetup Uint16 TransferCount; Uint8 _resvd3[2]; } PACKED; +struct sSATA_FIS_H2DRegister +{ + Uint8 Type; // = 0x27 + Uint8 Flags; // [7]: Update to command register + Uint8 Command; + Uint8 Features; + Uint8 SectorNum; + Uint8 CylLow; + Uint8 CylHigh; + Uint8 Dev_Head; + Uint8 SectorNumExp; + Uint8 CylLowExp; + Uint8 CylHighExp; + Uint8 FeaturesExp; + Uint8 SectorCount; + Uint8 SectorCountExp; + Uint8 _resvd1; + Uint8 Control; + Uint8 _resvd2[4]; +} PACKED; struct sSATA_FIS_D2HRegister { Uint8 Type; // = 0x34 -- 2.20.1