diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-04-02 08:14:36 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-04-02 08:14:36 +0200 |
| commit | 5129ac16ddd5fb8362eb2fbd123e28d2b3e4c90f (patch) | |
| tree | 2fde230004e377f734983484f8e12fb0414a1668 /dev/kernel/HALKit/AMD64/PCI | |
| parent | 25dd194903b3ccfe4461fe189a04d902da93ac8f (diff) | |
| parent | 6c7e5ebc003a0bc4f98c23a8f9754b273a6e3a28 (diff) | |
Merge pull request #7 from amlel-el-mahrouss/dev
boot/net: rename Boot.S files, clarify EEPROM implication, and prep UDP read
Diffstat (limited to 'dev/kernel/HALKit/AMD64/PCI')
| -rw-r--r-- | dev/kernel/HALKit/AMD64/PCI/DMA.cc | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/dev/kernel/HALKit/AMD64/PCI/DMA.cc b/dev/kernel/HALKit/AMD64/PCI/DMA.cc index 747fab94..33cff13e 100644 --- a/dev/kernel/HALKit/AMD64/PCI/DMA.cc +++ b/dev/kernel/HALKit/AMD64/PCI/DMA.cc @@ -5,6 +5,7 @@ ------------------------------------------- */ #include <KernelKit/PCI/DMA.h> +#include <ArchKit/ArchKit.h> namespace Kernel { @@ -26,37 +27,34 @@ namespace Kernel if (offset == 0) return false; - kout << "[DMAWrapper::IsIn] Checking offset..\n"; + kout << "[DMAWrapper::IsIn] Checking offset...\r"; return reinterpret_cast<UIntPtr>(this->fAddress) >= offset; } bool DMAWrapper::Write(const UIntPtr& bit, const UInt32& offset) { - kout << "[DMAWrapper::Read] Checking this->fAddress..\n"; + kout << "[DMAWrapper::Read] Checking this->fAddress...\r"; if (!this->fAddress) return false; - kout << "[DMAWrapper::Write] Writing at address..\n"; + kout << "[DMAWrapper::Write] Writing at address: " << hex_number(reinterpret_cast<UIntPtr>(this->fAddress) + offset) << kendl; - auto addr = - (volatile UIntPtr*)(reinterpret_cast<UIntPtr>(this->fAddress) + offset); - *addr = bit; + ke_dma_write<UInt32>(reinterpret_cast<UIntPtr>(this->fAddress), offset, bit); return true; } UIntPtr DMAWrapper::Read(const UInt32& offset) { - kout << "[DMAWrapper::Read] Checking this->fAddress..\n"; + kout << "[DMAWrapper::Read] Checking this->fAddress...\r"; if (!this->fAddress) - return 0; + return ~0; - kout << "[DMAWrapper::Read] Reading this->fAddress..\n"; + kout << "[DMAWrapper::Write] Writing at address: " << hex_number(reinterpret_cast<UIntPtr>(this->fAddress) + offset) << kendl; - return *(volatile UIntPtr*)(reinterpret_cast<UIntPtr>(this->fAddress) + offset); - ; + return ke_dma_read<UInt32>(reinterpret_cast<UIntPtr>(this->fAddress), offset); } UIntPtr DMAWrapper::operator[](const UIntPtr& offset) @@ -70,7 +68,7 @@ namespace Kernel return {}; OwnPtr<IOBuf<Char*>> dmaOwnPtr = - make_ptr<IOBuf<Char*>, char*>(reinterpret_cast<char*>(dma->fAddress)); + mm_make_own_ptr<IOBuf<Char*>, char*>(reinterpret_cast<char*>(dma->fAddress)); if (!dmaOwnPtr) return {}; |
