aboutsummaryrefslogtreecommitdiff
path: root/kernel/kapi/memory.cpp
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@ost.ch>2026-09-10 15:08:37 +0200
committerFelix Morgner <felix.morgner@ost.ch>2026-09-10 15:08:37 +0200
commit3ce0197e99ecea7be66decc2c3c6f785497ef862 (patch)
treef92c48ccb09fb4c673ea639b555df039ad13a91e /kernel/kapi/memory.cpp
parent14ec8e92b45a2eae5bdb3d459cee9633ea129359 (diff)
downloadkernel-3ce0197e99ecea7be66decc2c3c6f785497ef862.tar.xz
kernel-3ce0197e99ecea7be66decc2c3c6f785497ef862.zip
kernel: replace some more plain pointers
Diffstat (limited to 'kernel/kapi/memory.cpp')
-rw-r--r--kernel/kapi/memory.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/kernel/kapi/memory.cpp b/kernel/kapi/memory.cpp
index 7a9f7249..666910ba 100644
--- a/kernel/kapi/memory.cpp
+++ b/kernel/kapi/memory.cpp
@@ -128,7 +128,7 @@ namespace kapi::memory
}
auto const flags = page_mapper::flags::writable | page_mapper::flags::supervisor_only | page_mapper::flags::global;
- auto bitmap_ptr = static_cast<std::uint64_t *>(nullptr);
+ auto bitmap_ptr = kstd::observer_ptr<std::uint64_t>{nullptr};
std::ranges::for_each(std::views::iota(0uz, bitmap_pages), [&](auto index) {
auto page = page::containing(pmm_metadata_base + index * page::size);
@@ -136,12 +136,12 @@ namespace kapi::memory
auto mapped = active_page_mapper->map(page, frame, flags);
if (!bitmap_ptr)
{
- bitmap_ptr = reinterpret_cast<std::uint64_t *>(mapped.get());
+ bitmap_ptr = reinterpret_pointer_cast<std::uint64_t>(mapped);
}
});
- auto bitmap =
- std::span{bitmap_ptr, (bitmap_bytes + kstd::size_of<std::uint64_t>() - 1_B) / kstd::size_of<std::uint64_t>()};
+ auto bitmap = std::span{bitmap_ptr.get(),
+ (bitmap_bytes + kstd::size_of<std::uint64_t>() - 1_B) / kstd::size_of<std::uint64_t>()};
allocator.emplace(bitmap, frame_count);