diff options
Diffstat (limited to 'dev/Kernel/ArchKit')
| -rw-r--r-- | dev/Kernel/ArchKit/ArchKit.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/dev/Kernel/ArchKit/ArchKit.h b/dev/Kernel/ArchKit/ArchKit.h index af8aef1a..1a3e9c97 100644 --- a/dev/Kernel/ArchKit/ArchKit.h +++ b/dev/Kernel/ArchKit/ArchKit.h @@ -46,16 +46,17 @@ namespace Kernel template <typename WordLength> inline Void ke_dma_write(WordLength base, WordLength reg, WordLength value) noexcept { - *(volatile WordLength*)((UInt64)base + reg) = value; + *(volatile WordLength*)(base + reg) = value; } /// @brief read from mapped memory register. /// @param base base address /// @param reg the register. /// @return the value inside the register. - inline UInt32 ke_dma_read(UInt32 base, UInt32 reg) noexcept + template <typename WordLength> + inline UInt32 ke_dma_read(WordLength base, WordLength reg) noexcept { - return *(volatile UInt32*)((UInt64)base + reg); + return *(volatile WordLength*)((UInt64)base + reg); } namespace HAL |
