summaryrefslogtreecommitdiffhomepage
path: root/dev/Mod/AHCI
diff options
context:
space:
mode:
authorAmlal <amlal.elmahrouss@icloud.com>2025-01-27 15:09:24 +0100
committerAmlal <amlal.elmahrouss@icloud.com>2025-01-27 15:09:24 +0100
commita4d64ddc1375f40a4c72bd2ba9326df04058c9bb (patch)
treebee09c5cd413151a84183c1ebc8ca81ab7c3c88b /dev/Mod/AHCI
parent974d89be4047f92b9f55e3e8821f4b89c9ab945b (diff)
Bump and fixes.
Signed-off-by: Amlal <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/Mod/AHCI')
-rw-r--r--dev/Mod/AHCI/AHCI.h17
1 files changed, 9 insertions, 8 deletions
diff --git a/dev/Mod/AHCI/AHCI.h b/dev/Mod/AHCI/AHCI.h
index 7b50d461..937be6d2 100644
--- a/dev/Mod/AHCI/AHCI.h
+++ b/dev/Mod/AHCI/AHCI.h
@@ -284,10 +284,10 @@ typedef struct HbaCmdHeader final
Kernel::UInt8 Reserved0 : 1; // Reserved
Kernel::UInt8 Pmp : 4; // Port multiplier port
- Kernel::UInt16 Prdtl; // Physical region descriptor table length in entries
- volatile Kernel::UInt32 Prdbc; // Physical region descriptor byte count transferred
+ Kernel::UInt16 Prdtl; // Physical region descriptor table length in entries
+ Kernel::UInt32 Prdbc; // Physical region descriptor byte count transferred
- Kernel::UInt64 Ctba; // Command table descriptor base address
+ Kernel::UInt32 Ctba; // Command table descriptor base address
Kernel::UInt32 Reserved1[4]; // Reserved
} HbaCmdHeader;
@@ -313,7 +313,8 @@ typedef struct HbaFis final
typedef struct HbaPrdtEntry final
{
- Kernel::UInt64 Dba; // Data base address
+ Kernel::UInt32 Dba; // Data base address
+ Kernel::UInt32 Dbau;
Kernel::UInt32 Reserved0; // Reserved
// DW3
Kernel::UInt32 Dbc : 22; // Byte count, 4M max
@@ -323,10 +324,10 @@ typedef struct HbaPrdtEntry final
typedef struct HbaCmdTbl final
{
- Kernel::UInt8 Cfis[64]; // Command FIS
- Kernel::UInt8 Acmd[16]; // ATAPI command, 12 or 16 bytes
- Kernel::UInt8 Rsv[48]; // Reserved
- struct HbaPrdtEntry PrdtEntries[1]; // Physical region descriptor table entries, 0 ~ 65535
+ Kernel::UInt8 Cfis[64]; // Command FIS
+ Kernel::UInt8 Acmd[16]; // ATAPI command, 12 or 16 bytes
+ Kernel::UInt8 Rsv[48]; // Reserved
+ struct HbaPrdtEntry Prdt[1]; // Physical region descriptor table entries, 0 ~ 65535
} HbaCmdTbl;
/// @brief Initializes an AHCI disk.