#include "tasking.h" #include "arch/processor.h" extern void _arch_context_restore(uintptr_t rsp); void tcb_switch(tcb_t *to) { processor_t *proc = processor_current(); tcb_t *from = proc->tcb; proc->tcb = to; if(from != to) { pd_switch(to->pd); } tss_set_rsp(&proc->_tss, 0, to->ksp); _arch_context_restore(to->ksp); }