Author: tkreuzer
Date: Thu Mar 29 10:07:25 2012
New Revision: 56271

URL: http://svn.reactos.org/svn/reactos?rev=56271&view=rev
Log:
[NTOSKRNL/AMD64]
- Only initialize the nonpged pool after the pfn database was initialized
- "Fix" IRQL for the initialization of non paged pool

Modified:
    trunk/reactos/ntoskrnl/mm/amd64/init.c

Modified: trunk/reactos/ntoskrnl/mm/amd64/init.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/amd64/init.c?rev=56271&r1=56270&r2=56271&view=diff
==============================================================================
--- trunk/reactos/ntoskrnl/mm/amd64/init.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/mm/amd64/init.c [iso-8859-1] Thu Mar 29 10:07:25 2012
@@ -351,8 +351,6 @@
     MiInitializeNonPagedPool();
     MiInitializeNonPagedPoolThresholds();
 
-    /* Initialize the nonpaged pool */
-    InitializePool(NonPagedPool, 0);
 }
 
 VOID
@@ -655,7 +653,7 @@
     PageCount = MxFreeDescriptor->BasePage - BasePage;
     MiAddDescriptorToDatabase(BasePage, PageCount, LoaderMemoryData);
 
-    // Reset the descriptor back so we can create the correct memory blocks
+    /* Reset the descriptor back so we can create the correct memory blocks */
     *MxFreeDescriptor = MxOldFreeDescriptor;
 }
 
@@ -698,7 +696,16 @@
     /* Now process the page tables */
     MiBuildPfnDatabaseFromPageTables();
 
+    /* PFNs are initialized now! */
     MiPfnsInitialized = TRUE;
+
+    //KeLowerIrql(OldIrql);
+
+    /* Need to be at DISPATCH_LEVEL for InitializePool */
+    //KeRaiseIrql(DISPATCH_LEVEL, &OldIrql);
+
+    /* Initialize the nonpaged pool */
+    InitializePool(NonPagedPool, 0);
 
     KeLowerIrql(OldIrql);
 


Reply via email to