ptos/amd64: context: Assign NextTcb before usage
Signed-off-by: Chloe M. <chloe@mensia.org>
This commit is contained in:
@@ -59,6 +59,7 @@ HalContextSwitch(TRAP_FRAME *Frame)
|
|||||||
HalMmuWriteVas(&NextParent->Vas);
|
HalMmuWriteVas(&NextParent->Vas);
|
||||||
|
|
||||||
/* Update the task state segment with kstack */
|
/* Update the task state segment with kstack */
|
||||||
|
NextTcb = &NextThread->Tcb;
|
||||||
if (ISSET(NextParent->Flags, PS_USER)) {
|
if (ISSET(NextParent->Flags, PS_USER)) {
|
||||||
KStackTop = NextTcb->KStackBase + NextTcb->KStackLength;
|
KStackTop = NextTcb->KStackBase + NextTcb->KStackLength;
|
||||||
Tss = Mcb->Tss;
|
Tss = Mcb->Tss;
|
||||||
@@ -68,7 +69,6 @@ HalContextSwitch(TRAP_FRAME *Frame)
|
|||||||
|
|
||||||
/* Context switch here */
|
/* Context switch here */
|
||||||
Kpcr->CurrentThread = NextThread;
|
Kpcr->CurrentThread = NextThread;
|
||||||
NextTcb = &NextThread->Tcb;
|
|
||||||
RtlMemCpy(Frame, &NextTcb->FrameSnapshot, sizeof(*Frame));
|
RtlMemCpy(Frame, &NextTcb->FrameSnapshot, sizeof(*Frame));
|
||||||
HalPrimeThreadTimer(SCHED_MIN_QUANTUM);
|
HalPrimeThreadTimer(SCHED_MIN_QUANTUM);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user