From 70711bdd91e331d3a7fa08d59adc38dd6eb0c55d Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Thu, 20 Mar 2025 04:39:34 +0100 Subject: DMA.cc: Use UInt32 instead of UIntPtr for the offset. --- dev/Kernel/HALKit/AMD64/PCI/DMA.cc | 10 +++++++--- dev/Kernel/KernelKit/PCI/DMA.h | 4 ++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/dev/Kernel/HALKit/AMD64/PCI/DMA.cc b/dev/Kernel/HALKit/AMD64/PCI/DMA.cc index 7e36f581..c756a572 100644 --- a/dev/Kernel/HALKit/AMD64/PCI/DMA.cc +++ b/dev/Kernel/HALKit/AMD64/PCI/DMA.cc @@ -30,8 +30,10 @@ namespace NeOS return reinterpret_cast(this->fAddress) >= offset; } - bool DMAWrapper::Write(const UIntPtr& bit, const UIntPtr& offset) + bool DMAWrapper::Write(const UIntPtr& bit, const UInt32& offset) { + kout << "[DMAWrapper::Read] Checking this->fAddress..\n"; + if (!this->fAddress) return false; @@ -44,13 +46,15 @@ namespace NeOS return true; } - UIntPtr DMAWrapper::Read(const UIntPtr& offset) + UIntPtr DMAWrapper::Read(const UInt32& offset) { - kout << "[DMAWrapper::Read] checking this->fAddress..\n"; + kout << "[DMAWrapper::Read] Checking this->fAddress..\n"; + if (!this->fAddress) return 0; kout << "[DMAWrapper::Read] Reading this->fAddress..\n"; + return *(volatile UIntPtr*)(reinterpret_cast(this->fAddress) + offset); ; } diff --git a/dev/Kernel/KernelKit/PCI/DMA.h b/dev/Kernel/KernelKit/PCI/DMA.h index 9afa525d..68f3fa37 100644 --- a/dev/Kernel/KernelKit/PCI/DMA.h +++ b/dev/Kernel/KernelKit/PCI/DMA.h @@ -56,8 +56,8 @@ namespace NeOS bool operator!(); public: - bool Write(const UIntPtr& bit, const UIntPtr& offset); - UIntPtr Read(const UIntPtr& offset); + bool Write(const UIntPtr& bit, const UInt32& offset); + UIntPtr Read(const UInt32& offset); Boolean Check(UIntPtr offset) const; public: -- cgit v1.2.3