Drew Galbraith
|
56789400d7
|
Allow mapping the PCI Config so Yellowstone can map it.
This is a temp system call. Evemtually we should probably supply the
root process with all of the system physical memory objects.
|
2023-06-07 22:45:42 -07:00 |
Drew Galbraith
|
add533071b
|
Use APIC for interrupts rather than PIC.
Still rely on the PIT for now rather than the local APIC timer.
|
2023-06-07 13:40:36 -07:00 |
Drew Galbraith
|
a5c4d40575
|
Refactor error types and error reporting
|
2023-06-07 08:51:23 -07:00 |
Drew Galbraith
|
81b925eea0
|
Add a basic IPC setup with Channel Object.
Pass a process a channel endpoint on startup that it will use to
get it's initial capabilities.
|
2023-06-07 08:24:10 -07:00 |
Drew Galbraith
|
b79ec07636
|
Return Z_OK on all syscall paths
|
2023-06-07 07:15:25 -07:00 |
Drew Galbraith
|
55340e2917
|
Make Capability RefCounted
|
2023-06-07 06:21:36 -07:00 |
Drew Galbraith
|
6c10c57bfa
|
Mass rename memory object variables.
Use shorthand:
AddressSpace -> vmas
MemoryObject -> vmmo
The VM prefix makes these a little more distinguishable in code.
|
2023-06-07 00:30:26 -07:00 |
Drew Galbraith
|
eb454300e6
|
Move elf loader into the init loader in the kernel
|
2023-06-07 00:08:21 -07:00 |
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
|
ef8eb5d993
|
Add a threading syscall API.
|
2023-06-06 16:24:03 -07:00 |
Drew Galbraith
|
a092a57483
|
Begin defining the process/thread api
|
2023-06-06 15:01:31 -07:00 |
Drew Galbraith
|
69b5cd001f
|
Add a skeleton framework for capabilities.
Use the first capability to spawn a child process.
|
2023-05-30 23:55:42 -07:00 |
Drew Galbraith
|
9e3df0ccd0
|
Add pid/tid to all log messages
|
2023-05-30 23:22:29 -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
|
de49dcc01a
|
Move scheduler to new global class format.
|
2023-05-29 23:48:32 -07:00 |
Drew Galbraith
|
a06c9dced4
|
Add thread and process states.
Add a thread exit call.
|
2023-05-29 13:51:03 -07:00 |
Drew Galbraith
|
8d87791fa2
|
Differentiate syscall handler by number.
This causes us to panic on the unhandled exit syscall.
|
2023-05-29 13:06:43 -07:00 |
Drew Galbraith
|
f86bbe6ea9
|
Wireframe for syscalls in place
|
2023-05-18 16:03:09 -07:00 |