From 3012fa5dfe5dfed5e83baf9b40934ed8e8317627 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Fri, 3 Jul 2026 09:32:30 +0200 Subject: kernel: rearrange sources according to p1204 --- kernel/src/memory.cpp | 61 --------------------------------------------------- 1 file changed, 61 deletions(-) delete mode 100644 kernel/src/memory.cpp (limited to 'kernel/src/memory.cpp') diff --git a/kernel/src/memory.cpp b/kernel/src/memory.cpp deleted file mode 100644 index 6a85c0e7..00000000 --- a/kernel/src/memory.cpp +++ /dev/null @@ -1,61 +0,0 @@ -#include - -#include -#include - -#include -#include - -#include -#include - -#include -#include - -namespace kernel::memory -{ - - namespace - { - struct null_allocator : heap_allocator - { - null_allocator static instance; - - [[nodiscard]] auto allocate(kstd::units::bytes, kstd::units::bytes) noexcept -> void * override - { - kstd::print(kstd::print_sink::stderr, "Tried to allocate memory without an active heap!"); - return nullptr; - } - - auto deallocate(void *) noexcept -> void override - { - kstd::print(kstd::print_sink::stderr, "Tried to deallocate memory without an active heap!"); - } - }; - - constinit null_allocator null_allocator::instance{}; - - auto constinit active_heap_allocator = std::optional{&null_allocator::instance}; - auto constinit basic_allocator = std::optional{}; - } // namespace - - auto get_heap_allocator() -> heap_allocator & - { - return *active_heap_allocator.value(); - } - - auto init_heap(kapi::memory::linear_address base) -> void - { - auto static constinit is_initialized = std::atomic_flag{}; - - if (is_initialized.test_and_set()) - { - kapi::system::panic("[OS:MEM] The heap has already been initialized."); - } - - auto & instance = basic_allocator.emplace(base); - active_heap_allocator = &instance; - kstd::println("[OS:MEM] Heap initialized. Dynamic memory available."); - } - -} // namespace kernel::memory \ No newline at end of file -- cgit v1.2.3