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;
Show replies by date