Drew Galbraith
2dd69f5844
[Zion] Map user stacks in as regular MemoryObjects.
...
This allows us to easily track the physical memory so it
can be freed when the thread exits. It also simplifies the page fault
handler as it just needs to check regular mappings to find a user stack.
2023-11-24 16:51:35 -08:00
Drew Galbraith
8fb5b7c03c
[Zion] Move existing proc/thread cleanup calls to the cleanup thread.
2023-11-24 15:40:44 -08:00
Drew Galbraith
cb590c96b8
[Zion] Add a proc/thread cleanup thread for future use.
2023-11-24 15:04:03 -08:00
Drew Galbraith
84e1b4cdb4
[Zion] Plumb user stack to free function on thread exit.
2023-11-23 07:12:23 -08:00
Drew Galbraith
941d7c8d59
[Zion] Add a way to unwind the stack and recover from user-space faults.
2023-11-22 18:25:08 -08:00
Drew Galbraith
96063126cb
[Zion] Add task switching for SSE registers and enable them in userspace.
2023-11-21 15:52:17 -08:00
Drew Galbraith
0b8e2d8268
[Zion] Modify the alignement of the initial user stack pointer.
2023-11-21 14:53:59 -08:00
Drew Galbraith
2e08eb76ff
[zion] Move process.CheckState() to prevent infinite loop on thread exit.
2023-11-19 17:31:01 -08:00
Drew Galbraith
308dd6a203
[Zion] Add a framework for better process exit.
2023-11-16 23:03:27 -08:00
Drew Galbraith
07e6e3028d
[Zion] Access the KernelStackManager through the VMM.
2023-11-15 15:38:25 -08:00
Drew Galbraith
1643f7b4cc
[Zion] Update FIXME in threading.
2023-11-02 22:36:48 -07:00
Drew Galbraith
36d82370c1
[zion] Add a thread wait syscall
2023-06-22 02:17:50 -07:00
Drew Galbraith
e1af79b975
[zion/glacier] Move RefPtr to glacier.
2023-06-21 15:07:40 -07:00
Drew Galbraith
6986f534f8
Add a method for blocking threads on ports.
...
Additionally add the first lock class since we are becoming more
concurrent.
2023-06-12 20:56:25 -07:00
Drew Galbraith
53ff49b265
Add preprocessor directives to supress logs per file.
...
Makes the output much cleaner by default but allows for getting more
infor if debugging in the future.
2023-06-07 13:51:13 -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