diff options
| author | Felix Morgner <felix.morgner@ost.ch> | 2026-03-16 10:38:54 +0100 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@ost.ch> | 2026-03-16 10:38:54 +0100 |
| commit | 80ae75bf039820ecb332ae1ab86ef6ce4e2675e4 (patch) | |
| tree | 1bb344657e2516f175c7ce0045f491c8ff811de1 /kernel | |
| parent | d9a653e66d3e7ce3a93219626b281d727e51e2a9 (diff) | |
| download | teachos-80ae75bf039820ecb332ae1ab86ef6ce4e2675e4.tar.xz teachos-80ae75bf039820ecb332ae1ab86ef6ce4e2675e4.zip | |
kapi/memory: support additional address arithmetic
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/kapi/memory.cpp | 3 | ||||
| -rw-r--r-- | kernel/src/memory/block_list_allocator.cpp | 2 |
2 files changed, 2 insertions, 3 deletions
diff --git a/kernel/kapi/memory.cpp b/kernel/kapi/memory.cpp index 767bcd7..b1fb616 100644 --- a/kernel/kapi/memory.cpp +++ b/kernel/kapi/memory.cpp @@ -7,7 +7,6 @@ #include <kstd/print> #include <algorithm> -#include <bit> #include <cstddef> #include <cstdint> #include <optional> @@ -130,7 +129,7 @@ namespace kapi::memory active_page_mapper->map(page, frame, flags); }); - auto bitmap_ptr = std::bit_cast<std::uint64_t *>(pmm_metadata_base.raw()); + auto bitmap_ptr = static_cast<std::uint64_t *>(pmm_metadata_base); auto bitmap = std::span{bitmap_ptr, (bitmap_bytes + sizeof(std::uint64_t) - 1uz) / sizeof(std::uint64_t)}; allocator.emplace(bitmap, frame_count); diff --git a/kernel/src/memory/block_list_allocator.cpp b/kernel/src/memory/block_list_allocator.cpp index cc91304..06b4581 100644 --- a/kernel/src/memory/block_list_allocator.cpp +++ b/kernel/src/memory/block_list_allocator.cpp @@ -108,7 +108,7 @@ namespace kernel::memory kapi::memory::map(page, *frame, flags); } - auto block = std::bit_cast<block_header *>(m_frontier.raw()); + auto block = static_cast<block_header *>(m_frontier); std::construct_at(block, frames_needed * kapi::memory::frame::size - sizeof(block_header), true, nullptr, nullptr); m_frontier += frames_needed * kapi::memory::frame::size; |
