Update KeActiveProcessors if an application processor does start. Modified: trunk/reactos/ntoskrnl/ke/i386/kernel.c _____
Modified: trunk/reactos/ntoskrnl/ke/i386/kernel.c --- trunk/reactos/ntoskrnl/ke/i386/kernel.c 2005-08-09 16:01:42 UTC (rev 17242) +++ trunk/reactos/ntoskrnl/ke/i386/kernel.c 2005-08-09 16:08:00 UTC (rev 17243) @@ -66,6 +66,10 @@
{ /* Get the feature flags. */ Ki386Cpuid(1, &Eax, &Ke386CpuidExMisc, &Ke386CpuidFlags2, &Pcr->PrcbData.FeatureBits); + + DPRINT ("Model: %x\n", (Eax & 0xf00) == 0xf00 ? ((Eax >> 4) & 0xf) | ((Eax >> 12) & 0xf0) : (Eax >> 4) & 0xf); + DPRINT ("Family: %x\n", (Eax & 0xf00) == 0xf00 ? ((Eax >> 8) & 0xf) + ((Eax >> 20) & 0xff) : (Eax >> 8) & 0xf); + /* Get the cache alignment, if it is available */ if (Pcr->PrcbData.FeatureBits & (1<<19)) { @@ -196,6 +200,8 @@ Pcr->Tib.ExceptionList = (PVOID)-1;
KiGdtPrepareForApplicationProcessorInit(Id); + + KeActiveProcessors |= 1 << Id; }
VOID @@ -309,6 +315,9 @@ KeInitExceptions (); KeInitInterrupts ();
+ KeActiveProcessors |= 1 << 0; + + if (KPCR->PrcbData.FeatureBits & X86_FEATURE_PGE) { ULONG Flags;