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