[kernel] Move pml4 create/delete into vm_space

vm_space and page_table continue to take over duties from
page_manager:

- creation and deletion of address spaces / pml4s
- cross-address-space copies for endpoints
- taking over pml4 ownership from process

Also fixed the bug where the wrong process was being set in the cpu
data.

To solve: now the kernel process has its own vm_space which is not
g_kernel_space.
This commit is contained in:
2020-09-18 01:22:49 -07:00
parent ac67111b83
commit 671a0ce0fb
14 changed files with 132 additions and 101 deletions

View File

@@ -83,10 +83,9 @@ private:
/// Create a new process object. This process will have its pid
/// set but nothing else.
/// \arg pml4 The root page table of the process
/// \arg user True if this thread will enter userspace
/// \returns The new process' main thread
thread * create_process(page_table *pml4, bool user);
thread * create_process(bool user);
void prune(uint64_t now);
void check_promotions(uint64_t now);