summaryrefslogtreecommitdiffstats
path: root/arch/x86_64/tasking/tcb.c
diff options
context:
space:
mode:
authorJon Santmyer <jon@jonsantmyer.com>2025-09-26 13:17:41 -0400
committerJon Santmyer <jon@jonsantmyer.com>2025-09-26 13:17:41 -0400
commit2dadbfc899df4179ca70c4ea04f74a5e190c2ae7 (patch)
treeb166aaa9af42406cd07fbaf150f93aefeb2fbe33 /arch/x86_64/tasking/tcb.c
parentddc4fbc15223e362896a9f42beca73f05f48e664 (diff)
downloadjove-kernel-2dadbfc899df4179ca70c4ea04f74a5e190c2ae7.tar.gz
jove-kernel-2dadbfc899df4179ca70c4ea04f74a5e190c2ae7.tar.bz2
jove-kernel-2dadbfc899df4179ca70c4ea04f74a5e190c2ae7.zip
fix usermode interrupts. add ability to define custom interrupt handlersmain
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; \