[kernel] Add userspace threading

Implement the syscalls necessary for threads to create other threads in
their same process. This involved rearranging a number of syscalls, as
well as implementing object_wait and a basic implementation of a
process' list of handles.
This commit is contained in:
2020-07-26 16:02:38 -07:00
parent 4cf222a5bb
commit ae3290c53d
22 changed files with 481 additions and 255 deletions

View File

@@ -3,6 +3,8 @@
#include <stdint.h>
struct TCB;
class thread;
class process;
struct cpu_state
{
@@ -19,6 +21,8 @@ struct cpu_data
uintptr_t rsp0;
uintptr_t rsp3;
TCB *tcb;
thread *t;
process *p;
};
extern cpu_data bsp_cpu_data;