Author: sginsberg Date: Thu Sep 3 20:04:28 2015 New Revision: 68964
URL: http://svn.reactos.org/svn/reactos?rev=68964&view=rev Log: - Now that we actually take the trouble to set up MmLargeStackSize properly, use it! Also make it possible to set via the registry by adding it to the control vector table.
Modified: trunk/reactos/ntoskrnl/config/cmdata.c trunk/reactos/ntoskrnl/mm/ARM3/procsup.c
Modified: trunk/reactos/ntoskrnl/config/cmdata.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/config/cmdata.c?re... ============================================================================== --- trunk/reactos/ntoskrnl/config/cmdata.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/config/cmdata.c [iso-8859-1] Thu Sep 3 20:04:28 2015 @@ -341,7 +341,7 @@ { L"Session Manager\Memory Management", L"LargeStackSize", - &DummyData, + &MmLargeStackSize, NULL, NULL },
Modified: trunk/reactos/ntoskrnl/mm/ARM3/procsup.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/ARM3/procsup.c?... ============================================================================== --- trunk/reactos/ntoskrnl/mm/ARM3/procsup.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/mm/ARM3/procsup.c [iso-8859-1] Thu Sep 3 20:04:28 2015 @@ -200,7 +200,7 @@ // Calculate pages used // StackPages = BYTES_TO_PAGES(GuiStack ? - KERNEL_LARGE_STACK_SIZE : KERNEL_STACK_SIZE); + MmLargeStackSize : KERNEL_STACK_SIZE);
/* Acquire the PFN lock */ OldIrql = KeAcquireQueuedSpinLock(LockQueuePfnLock); @@ -275,7 +275,7 @@ // // We'll allocate 64KB stack, but only commit 12K // - StackPtes = BYTES_TO_PAGES(KERNEL_LARGE_STACK_SIZE); + StackPtes = BYTES_TO_PAGES(MmLargeStackSize); StackPages = BYTES_TO_PAGES(KERNEL_LARGE_STACK_COMMIT); } else @@ -317,7 +317,7 @@ // Select the right PTE address where we actually start committing pages // PointerPte = StackPte; - if (GuiStack) PointerPte += BYTES_TO_PAGES(KERNEL_LARGE_STACK_SIZE - + if (GuiStack) PointerPte += BYTES_TO_PAGES(MmLargeStackSize - KERNEL_LARGE_STACK_COMMIT);
@@ -382,7 +382,7 @@ // Make sure the stack did not overflow // ASSERT(((ULONG_PTR)Thread->StackBase - (ULONG_PTR)Thread->StackLimit) <= - (KERNEL_LARGE_STACK_SIZE + PAGE_SIZE)); + (MmLargeStackSize + PAGE_SIZE));
// // Get the current stack limit @@ -400,7 +400,7 @@ // Now make sure you're not going past the reserved space // LastPte = MiAddressToPte((PVOID)((ULONG_PTR)Thread->StackBase - - KERNEL_LARGE_STACK_SIZE)); + MmLargeStackSize)); if (NewLimitPte < LastPte) { //