forked from Bananymous/banan-os
Kernel: Move kmalloc and MMU to Memory directory
This commit is contained in:
31
kernel/include/kernel/Memory/MMU.h
Normal file
31
kernel/include/kernel/Memory/MMU.h
Normal file
@@ -0,0 +1,31 @@
|
||||
#pragma once
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
|
||||
class MMU
|
||||
{
|
||||
public:
|
||||
enum Flags : uint8_t
|
||||
{
|
||||
Present = 1,
|
||||
ReadWrite = 2,
|
||||
UserSupervisor = 4,
|
||||
};
|
||||
|
||||
public:
|
||||
static void intialize();
|
||||
static MMU& get();
|
||||
|
||||
MMU();
|
||||
~MMU();
|
||||
|
||||
void allocate_page(uintptr_t, uint8_t);
|
||||
void allocate_range(uintptr_t, ptrdiff_t, uint8_t);
|
||||
|
||||
void unallocate_page(uintptr_t);
|
||||
void unallocate_range(uintptr_t, ptrdiff_t);
|
||||
|
||||
private:
|
||||
uint64_t* m_highest_paging_struct;
|
||||
};
|
||||
10
kernel/include/kernel/Memory/kmalloc.h
Normal file
10
kernel/include/kernel/Memory/kmalloc.h
Normal file
@@ -0,0 +1,10 @@
|
||||
#pragma once
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
void kmalloc_initialize();
|
||||
void kmalloc_dump_info();
|
||||
|
||||
void* kmalloc(size_t);
|
||||
void* kmalloc(size_t, size_t);
|
||||
void kfree(void*);
|
||||
Reference in New Issue
Block a user