From 615d253bb4792d13f7321b38aee376ca6ef1a445 Mon Sep 17 00:00:00 2001 From: Aiken Harris Date: Mon, 1 Jun 2026 20:40:34 +0200 Subject: [PATCH] Update initial thread and process affinity assignment to use group-aware structures --- xtoskrnl/ke/amd64/krnlinit.cc | 5 +++-- xtoskrnl/ke/i686/krnlinit.cc | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/xtoskrnl/ke/amd64/krnlinit.cc b/xtoskrnl/ke/amd64/krnlinit.cc index d1871ad..01b760b 100644 --- a/xtoskrnl/ke/amd64/krnlinit.cc +++ b/xtoskrnl/ke/amd64/krnlinit.cc @@ -118,9 +118,10 @@ KE::KernelInit::BootstrapKernel(VOID) CurrentThread->NextProcessor = Prcb->CpuNumber; CurrentThread->Priority = THREAD_HIGH_PRIORITY; CurrentThread->State = Running; - CurrentThread->Affinity = (ULONG_PTR)1 << Prcb->CpuNumber; + CurrentThread->Affinity.Mask = (KAFFINITY)1 << Prcb->CpuNumber; + CurrentThread->Affinity.Group = 0; CurrentThread->WaitRunLevel = DISPATCH_LEVEL; - CurrentProcess->ActiveProcessors |= (ULONG_PTR)1 << Prcb->CpuNumber; + CurrentProcess->ActiveProcessors.Bitmap[0] |= (KAFFINITY)1 << Prcb->CpuNumber; /* Initialize Memory Manager */ MM::Manager::InitializeMemoryManager(); diff --git a/xtoskrnl/ke/i686/krnlinit.cc b/xtoskrnl/ke/i686/krnlinit.cc index 44e719f..94533d0 100644 --- a/xtoskrnl/ke/i686/krnlinit.cc +++ b/xtoskrnl/ke/i686/krnlinit.cc @@ -118,9 +118,10 @@ KE::KernelInit::BootstrapKernel(VOID) CurrentThread->NextProcessor = Prcb->CpuNumber; CurrentThread->Priority = THREAD_HIGH_PRIORITY; CurrentThread->State = Running; - CurrentThread->Affinity = (ULONG_PTR)1 << Prcb->CpuNumber; + CurrentThread->Affinity.Mask = (KAFFINITY)1 << Prcb->CpuNumber; + CurrentThread->Affinity.Group = 0; CurrentThread->WaitRunLevel = DISPATCH_LEVEL; - CurrentProcess->ActiveProcessors |= (ULONG_PTR)1 << Prcb->CpuNumber; + CurrentProcess->ActiveProcessors.Bitmap[0] |= (KAFFINITY)1 << Prcb->CpuNumber; /* Initialize Memory Manager */ MM::Manager::InitializeMemoryManager();