Modules/AHCI - Added H2D register structure (used for commands)
[tpg/acess2.git] / KernelLand / Modules / Storage / AHCI / sata.h
index 8a30085..f17b724 100644 (file)
@@ -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

UCC git Repository :: git.ucc.asn.au