Kernel: Add barebones per process virtual addresses

We now assign every (userspace) process its own MMU which we load
in scheduler. This allows every process to have separate virtual
address space.

This is very hackish implementations but it works for now
This commit is contained in:
Bananymous
2023-04-20 00:45:41 +03:00
parent ea0c9b639f
commit b1c7af38d0
8 changed files with 134 additions and 33 deletions

View File

@@ -17,7 +17,7 @@ public:
using paddr_t = uintptr_t;
public:
static void intialize();
static void initialize();
static MMU& get();
MMU();
@@ -31,6 +31,11 @@ public:
void map_page_at(paddr_t, vaddr_t, uint8_t);
void load();
private:
void initialize_kernel();
private:
uint64_t* m_highest_paging_struct;
};