1
0
mirror of https://github.com/momo5502/hypervisor.git synced 2025-07-04 10:11:51 +00:00

Add linked list

This commit is contained in:
Maurice Heumann
2022-12-23 20:42:22 +01:00
parent d1ad347e84
commit a67e2ae833
3 changed files with 365 additions and 12 deletions

38
src/driver/allocator.hpp Normal file
View File

@ -0,0 +1,38 @@
#pragma once
#include "memory.hpp"
namespace utils
{
template <typename T>
concept IsAllocator = requires(size_t size, void* ptr)
{
T().free(T().allocate(size));
T().free(ptr);
};
struct AlignedAllocator
{
void* allocate(const size_t size)
{
return memory::allocate_aligned_memory(size);
}
void free(void* ptr)
{
memory::free_aligned_memory(ptr);
}
};
struct NonPagedAllocator
{
void* allocate(const size_t size)
{
return memory::allocate_non_paged_memory(size);
}
void free(void* ptr)
{
memory::free_non_paged_memory(ptr);
}
};
}