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?re... ============================================================================== --- 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);