summaryrefslogtreecommitdiffstats
path: root/arch/x86_64/tasking/tcb.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86_64/tasking/tcb.c')
-rw-r--r--arch/x86_64/tasking/tcb.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/x86_64/tasking/tcb.c b/arch/x86_64/tasking/tcb.c
index 9877455..3cae29f 100644
--- a/arch/x86_64/tasking/tcb.c
+++ b/arch/x86_64/tasking/tcb.c
@@ -24,8 +24,10 @@ tcb_init(void *task_main)
.type = KO_TCB,
.data = vptr_tophys_koff((uintptr_t)_init_tcb)
};
-
- ((processor_t*)processor_current())->tcb = _init_tcb;
+
+ processor_t* proc = processor_current();
+ proc->tcb = _init_tcb;
+ proc->tss.rsp0 = _init_tcb->ksp;
__asm__ volatile("\
movq %0, %%rsp; \