diff options
Diffstat (limited to 'src/kernel/proc.c')
-rw-r--r-- | src/kernel/proc.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/kernel/proc.c b/src/kernel/proc.c index 4719a93..cfc4b5e 100644 --- a/src/kernel/proc.c +++ b/src/kernel/proc.c @@ -36,7 +36,9 @@ struct process *process_seed(struct kmain_info *info) { for (uintptr_t off = 0; off < info->init.size; off += PAGE_SIZE) pagedir_map(process_first->pages, init_base + off, info->init.at + off, true, true); - process_first->regs.rcx = init_base; // SYSRET jumps to %rcx + process_first->regs.rcx = (uintptr_t)init_base; // SYSRET jumps to %rcx + + process_first->pages = pagedir_copy(process_first->pages); // TODO remove this return process_first; } |