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?r…
==============================================================================
--- 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);