Commit graph

11 commits

Author SHA1 Message Date
Drew Galbraith
23895b5c6c Spawn Processes using memory primitives rather than and elf loader.
This allows us to remove the temporary syscall for that style of process
spawn.
2023-06-07 00:04:53 -07:00
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
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