Drew Galbraith
b5ad454ad1
Move Process & Thread to the object folder.
2023-06-06 20:18:53 -07:00
Drew Galbraith
4e278a4664
Make a KernelObject base class for all Capabilities.
2023-06-06 20:13:07 -07:00
Drew Galbraith
d358c1d672
Move process be to RefCounted
2023-06-06 19:12:46 -07:00
Drew Galbraith
b0c2a6732b
Always create threads in CREATED state.
...
Simplify the process class to have threads marked as runnable
separately.
2023-06-06 16:27:25 -07:00
Drew Galbraith
e2aad55a8a
Only dump bootloader modules once.
2023-06-06 15:04:34 -07:00
Drew Galbraith
1db93e5b12
Move PML4 initialization into the VirtualMemory class.
2023-05-30 21:39:19 -07:00
Drew Galbraith
3c3341a90f
Add a process spawn syscall and use it to start a proc.
...
Also add a skeleton VirtualMemory manager to be used per process.
2023-05-30 20:55:03 -07:00
Drew Galbraith
b9b45c5e45
Add the ability to copy memory to non resident process.
...
Use/Test this by loading the user space elf from the kernel process
before it starts rather than as a part of the first thread.
This simplifies thread start a fair bit.
2023-05-30 01:27:47 -07:00
Drew Galbraith
7fe6c24aa5
Add a ProcessManager class to store Process objects.
...
Trying out a new method for exposing global objects directly via a
variable.
2023-05-29 23:35:44 -07:00
Drew Galbraith
7184f527a0
Jump to user mode.
...
This instantly creates a page fault as we always map pages with ring 0
permissions.
2023-05-29 13:06:08 -07:00
Drew Galbraith
aefb4f082b
Add a kernel ELF module and load it in a new process.
...
Don't yet jump to userspace.
2023-05-29 00:32:54 -07:00