summaryrefslogtreecommitdiff
path: root/kernel/src/scheduler/process.c
diff options
context:
space:
mode:
authorAleksa Vuckovic <aleksav013@gmail.com>2023-01-24 16:49:39 +0100
committerAleksa Vuckovic <aleksav013@gmail.com>2023-01-24 16:49:39 +0100
commit3a63d67c42e2d71efafb8a30f08758bf0a180c39 (patch)
tree957e05d1841a66b573bb39196f526a621d6fe65d /kernel/src/scheduler/process.c
parent95d1eb6d381b3eeaf0a8c3de57d5ee554229bcd6 (diff)
removing switch_process.c & registers.c
Diffstat (limited to 'kernel/src/scheduler/process.c')
-rw-r--r--kernel/src/scheduler/process.c38
1 files changed, 0 insertions, 38 deletions
diff --git a/kernel/src/scheduler/process.c b/kernel/src/scheduler/process.c
deleted file mode 100644
index 92c6ab3..0000000
--- a/kernel/src/scheduler/process.c
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <types.h>
-#include <registers.h>
-#include <heap.h>
-#include <process.h>
-
-process_t process_list;
-process_t current_process;
-
-void create_process(uint64_t rip, uint64_t param1, uint64_t param2)
-{
- process_t* process = (process_t*)kalloc(sizeof(process_t));
- registers_t* regs = &process->registers;
- regs->rax = 0;
- regs->rbx = 0;
- regs->rcx = 0;
- regs->rdx = 0;
- regs->rsi = 0;
- regs->rdi = 0;
- regs->rsp = 0;
- regs->rbp = 0;
- regs->r8 = 0;
- regs->r9 = 0;
- regs->r10 = 0;
- regs->r11 = 0;
- regs->r12 = 0;
- regs->r13 = 0;
- regs->r14 = 0;
- regs->r15 = 0;
- regs->rflags = 0;
-
- uint64_t stack_size = 4*4096;
- regs->rsp = (uint64_t)kalloc(4*4096) + stack_size - 8;
- regs->rip = rip;
- regs->rdi = param1;
- regs->rsi = param2;
- process->status = STATUS_READY;
- process->time_using_cpu = 0;
-}