Update KeActiveProcessors if an application processor does start.
authorHartmut Birr <osexpert@googlemail.com>
Tue, 9 Aug 2005 16:08:00 +0000 (16:08 +0000)
committerHartmut Birr <osexpert@googlemail.com>
Tue, 9 Aug 2005 16:08:00 +0000 (16:08 +0000)
svn path=/trunk/; revision=17243

reactos/ntoskrnl/ke/i386/kernel.c

index 7ea52e8..14e46a3 100644 (file)
@@ -66,6 +66,10 @@ Ki386GetCpuId(VOID)
    {
       /* 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 @@ KePrepareForApplicationProcessorInit(ULONG Id)
   Pcr->Tib.ExceptionList = (PVOID)-1;
 
   KiGdtPrepareForApplicationProcessorInit(Id);
+
+  KeActiveProcessors |= 1 << Id;
 }
 
 VOID
@@ -309,6 +315,9 @@ KeInit1(PCHAR CommandLine, PULONG LastKernelAddress)
    KeInitExceptions ();
    KeInitInterrupts ();
 
+   KeActiveProcessors |= 1 << 0;
+
+
    if (KPCR->PrcbData.FeatureBits & X86_FEATURE_PGE)
    {
       ULONG Flags;