mirror of
https://github.com/reactos/reactos.git
synced 2025-08-04 00:05:44 +00:00
[NTOS:KE] Fix initialization of node block for application processors
- Initialize KeNodeBlock[0] statically - Update Prcb->ParentNode->ProcessorMask for all processors
This commit is contained in:
parent
619ff7c429
commit
9c1cfe0587
3 changed files with 10 additions and 12 deletions
|
@ -147,6 +147,10 @@ KiSystemStartupBootStack(VOID)
|
||||||
PKPROCESS Process = Thread->ApcState.Process;
|
PKPROCESS Process = Thread->ApcState.Process;
|
||||||
PVOID KernelStack = (PVOID)KeLoaderBlock->KernelStack;
|
PVOID KernelStack = (PVOID)KeLoaderBlock->KernelStack;
|
||||||
|
|
||||||
|
/* Set Node Data */
|
||||||
|
Prcb->ParentNode = KeNodeBlock[0];
|
||||||
|
Prcb->ParentNode->ProcessorMask |= Prcb->SetMember;
|
||||||
|
|
||||||
/* Initialize the Power Management Support for this PRCB */
|
/* Initialize the Power Management Support for this PRCB */
|
||||||
PoInitializePrcb(Prcb);
|
PoInitializePrcb(Prcb);
|
||||||
|
|
||||||
|
@ -228,11 +232,6 @@ KiInitializeKernel(IN PKPROCESS InitProcess,
|
||||||
PVOID DpcStack;
|
PVOID DpcStack;
|
||||||
ULONG i;
|
ULONG i;
|
||||||
|
|
||||||
/* Set Node Data */
|
|
||||||
KeNodeBlock[0] = &KiNode0;
|
|
||||||
Prcb->ParentNode = KeNodeBlock[0];
|
|
||||||
KeNodeBlock[0]->ProcessorMask = Prcb->SetMember;
|
|
||||||
|
|
||||||
/* Set boot-level flags */
|
/* Set boot-level flags */
|
||||||
KeFeatureBits = Prcb->FeatureBits;
|
KeFeatureBits = Prcb->FeatureBits;
|
||||||
|
|
||||||
|
|
|
@ -492,14 +492,13 @@ KiInitializeKernel(IN PKPROCESS InitProcess,
|
||||||
/* Initialize spinlocks and DPC data */
|
/* Initialize spinlocks and DPC data */
|
||||||
KiInitSpinLocks(Prcb, Number);
|
KiInitSpinLocks(Prcb, Number);
|
||||||
|
|
||||||
|
/* Set Node Data */
|
||||||
|
Prcb->ParentNode = KeNodeBlock[0];
|
||||||
|
Prcb->ParentNode->ProcessorMask |= Prcb->SetMember;
|
||||||
|
|
||||||
/* Check if this is the Boot CPU */
|
/* Check if this is the Boot CPU */
|
||||||
if (!Number)
|
if (!Number)
|
||||||
{
|
{
|
||||||
/* Set Node Data */
|
|
||||||
KeNodeBlock[0] = &KiNode0;
|
|
||||||
Prcb->ParentNode = KeNodeBlock[0];
|
|
||||||
KeNodeBlock[0]->ProcessorMask = Prcb->SetMember;
|
|
||||||
|
|
||||||
/* Set boot-level flags */
|
/* Set boot-level flags */
|
||||||
KeI386CpuType = Prcb->CpuType;
|
KeI386CpuType = Prcb->CpuType;
|
||||||
KeI386CpuStep = Prcb->CpuStep;
|
KeI386CpuStep = Prcb->CpuStep;
|
||||||
|
|
|
@ -36,7 +36,7 @@ CCHAR KeNumberProcessors = 0;
|
||||||
|
|
||||||
/* NUMA Node Support */
|
/* NUMA Node Support */
|
||||||
KNODE KiNode0;
|
KNODE KiNode0;
|
||||||
PKNODE KeNodeBlock[1];
|
PKNODE KeNodeBlock[1] = { &KiNode0 };
|
||||||
UCHAR KeNumberNodes = 1;
|
UCHAR KeNumberNodes = 1;
|
||||||
UCHAR KeProcessNodeSeed;
|
UCHAR KeProcessNodeSeed;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue