summaryrefslogtreecommitdiffhomepage
path: root/Private/HALKit
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@el-mahrouss-logic.com>2024-04-01 23:57:19 +0200
committerAmlal El Mahrouss <amlal@el-mahrouss-logic.com>2024-04-01 23:57:19 +0200
commitd445096b8403ad0bdbf0095c50f66ba01fde9f33 (patch)
tree4fa3fb3217cf256306bff76fc4509070f651de99 /Private/HALKit
parentd190e44fa474808ad31028835f04e4df2c840073 (diff)
Kernel: Bringing support 48-bit ATA PIO.
Kernel: Adding support for IPCEP. Kernel: Improve scheduler, create heap according to process kind. Kernel: PRD transfer enum for upcoming ATA DMA driver. Kernel: Add kErrorNoEntrypoint. NewBoot: Add 48-bit support for ATA PIO. Signed-off-by: Amlal El Mahrouss <amlal@el-mahrouss-logic.com>
Diffstat (limited to 'Private/HALKit')
-rw-r--r--Private/HALKit/AMD64/Storage/ATA-DMA.cxx0
-rw-r--r--Private/HALKit/AMD64/Storage/ATA-PIO.cxx (renamed from Private/HALKit/AMD64/Storage/ATA.cxx)6
2 files changed, 4 insertions, 2 deletions
diff --git a/Private/HALKit/AMD64/Storage/ATA-DMA.cxx b/Private/HALKit/AMD64/Storage/ATA-DMA.cxx
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/Private/HALKit/AMD64/Storage/ATA-DMA.cxx
diff --git a/Private/HALKit/AMD64/Storage/ATA.cxx b/Private/HALKit/AMD64/Storage/ATA-PIO.cxx
index b2191250..0f8a0d75 100644
--- a/Private/HALKit/AMD64/Storage/ATA.cxx
+++ b/Private/HALKit/AMD64/Storage/ATA-PIO.cxx
@@ -5,9 +5,9 @@
------------------------------------------- */
/**
- * @file ATA.cxx
+ * @file ATA-PIO.cxx
* @author Amlal El Mahrouss (amlalelmahrouss@icloud.com)
- * @brief ATA driver.
+ * @brief ATA driver (PIO mode).
* @version 0.1
* @date 2024-02-02
*
@@ -138,6 +138,7 @@ Void drv_ata_read(UInt64 Lba, UInt16 IO, UInt8 Master, Char* Buf,
Out8(IO + ATA_REG_LBA0, (Lba));
Out8(IO + ATA_REG_LBA1, (Lba) >> 8);
Out8(IO + ATA_REG_LBA2, (Lba) >> 16);
+ Out8(IO + ATA_REG_LBA3, (Lba) >> 24);
Out8(IO + ATA_REG_COMMAND, ATA_CMD_READ_PIO);
@@ -160,6 +161,7 @@ Void drv_ata_write(UInt64 Lba, UInt16 IO, UInt8 Master, Char* Buf,
Out8(IO + ATA_REG_LBA0, (Lba));
Out8(IO + ATA_REG_LBA1, (Lba) >> 8);
Out8(IO + ATA_REG_LBA2, (Lba) >> 16);
+ Out8(IO + ATA_REG_LBA3, (Lba) >> 24);
Out8(IO + ATA_REG_COMMAND, ATA_CMD_WRITE_PIO);