PKIPCR Pcr = (PKIPCR)KeGetPcr();
#ifdef CONFIG_SMP
LONG SetMember;
-
+
/* Update active processor mask */
SetMember = (LONG)Pcr->SetMember;
InterlockedXor((PLONG)&NewProcess->ActiveProcessors, SetMember);
if (NewProcess->LdtDescriptor.LimitLow != OldProcess->LdtDescriptor.LimitLow)
{
/* Not handled yet */
- UNIMPLEMENTED;
- while (TRUE);
+ UNIMPLEMENTED_DBGBREAK();
+ return;
}
-
+
/* Update CR3 */
__writecr3(NewProcess->DirectoryTableBase[0]);
-
+
/* Clear GS */
Ke386SetGs(0);
-
+
/* Update IOPM offset */
Pcr->TSS->IoMapBase = NewProcess->IopmOffset;
}