diff options
Diffstat (limited to 'kernel/src')
| -rw-r--r-- | kernel/src/memory.cpp | 4 | ||||
| -rw-r--r-- | kernel/src/memory/block_list_allocator.cpp (renamed from kernel/src/memory/free_list_allocator.cpp) | 24 |
2 files changed, 14 insertions, 14 deletions
diff --git a/kernel/src/memory.cpp b/kernel/src/memory.cpp index 14bedf1..3bc86f3 100644 --- a/kernel/src/memory.cpp +++ b/kernel/src/memory.cpp @@ -3,7 +3,7 @@ #include "kapi/memory.hpp" #include "kapi/system.hpp" -#include "kernel/memory/free_list_allocator.hpp" +#include "kernel/memory/block_list_allocator.hpp" #include "kernel/memory/heap_allocator.hpp" #include <atomic> @@ -31,7 +31,7 @@ namespace kernel::memory constinit null_allocator null_allocator::instance{}; auto constinit active_heap_allocator = std::optional<heap_allocator *>{&null_allocator::instance}; - auto constinit basic_allocator = std::optional<free_list_allocator>{}; + auto constinit basic_allocator = std::optional<block_list_allocator>{}; } // namespace auto get_heap_allocator() -> heap_allocator & diff --git a/kernel/src/memory/free_list_allocator.cpp b/kernel/src/memory/block_list_allocator.cpp index 66b6bdb..cc91304 100644 --- a/kernel/src/memory/free_list_allocator.cpp +++ b/kernel/src/memory/block_list_allocator.cpp @@ -1,4 +1,4 @@ -#include "kernel/memory/free_list_allocator.hpp" +#include "kernel/memory/block_list_allocator.hpp" #include "kapi/memory.hpp" #include "kapi/system.hpp" @@ -25,15 +25,15 @@ namespace kernel::memory } } // namespace - free_list_allocator::free_list_allocator(kapi::memory::linear_address base) noexcept + block_list_allocator::block_list_allocator(kapi::memory::linear_address base) noexcept : heap_allocator{} , m_base{base} , m_frontier{base} - , m_free_list{} + , m_block_list{} , m_lock{} {} - auto free_list_allocator::allocate(std::size_t size, std::align_val_t alignment) noexcept -> void * + auto block_list_allocator::allocate(std::size_t size, std::align_val_t alignment) noexcept -> void * { kstd::lock_guard guard{m_lock}; @@ -42,7 +42,7 @@ namespace kernel::memory for (auto attempt = 0uz; attempt < 2uz; ++attempt) { - auto current = m_free_list; + auto current = m_block_list; while (current != nullptr) { if (current->free && current->size >= search_size) @@ -71,7 +71,7 @@ namespace kernel::memory return nullptr; } - auto free_list_allocator::deallocate(void * ptr) noexcept -> void + auto block_list_allocator::deallocate(void * ptr) noexcept -> void { if (!ptr) { @@ -88,7 +88,7 @@ namespace kernel::memory coalesce(block); } - auto free_list_allocator::expand(std::size_t size) noexcept -> bool + auto block_list_allocator::expand(std::size_t size) noexcept -> bool { auto const total_required_size = size + sizeof(block_header); auto const frames_needed = (total_required_size + kapi::memory::frame::size - 1) / kapi::memory::frame::size; @@ -113,13 +113,13 @@ namespace kernel::memory m_frontier += frames_needed * kapi::memory::frame::size; - if (!m_free_list) + if (!m_block_list) { - m_free_list = block; + m_block_list = block; } else { - auto current = m_free_list; + auto current = m_block_list; while (current->next) { current = current->next; @@ -132,7 +132,7 @@ namespace kernel::memory return true; } - auto free_list_allocator::coalesce(block_header * block) noexcept -> void + auto block_list_allocator::coalesce(block_header * block) noexcept -> void { if (block->next && block->next->free) { @@ -159,7 +159,7 @@ namespace kernel::memory } } - auto free_list_allocator::split(block_header * block, std::size_t size, std::size_t padding) noexcept -> void + auto block_list_allocator::split(block_header * block, std::size_t size, std::size_t padding) noexcept -> void { auto const allocation_size = size + padding; |
