diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2025-01-11 10:47:49 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2025-01-11 10:47:49 +0100 |
| commit | c50d283019bfbc43d460e7a66ac58f187897d474 (patch) | |
| tree | acf20a746e92b3ea8c77bbc4ec41addc7fce2955 /dev/Kernel/ArchKit/ArchKit.h | |
| parent | 5fedb726774eb46d2aed9378b13bc296baf89333 (diff) | |
ADD: Tweaks on AMD64's SMP architecture, and almost done with it.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/Kernel/ArchKit/ArchKit.h')
| -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 |
