[NTOS:MM]
[reactos.git] / reactos / ntoskrnl / mm / ARM3 / mminit.c
index c690559..cd7b130 100644 (file)
@@ -94,7 +94,6 @@ ULONG MmMaxAdditionNonPagedPoolPerMb = 400 * 1024;
 // http://www.ditii.com/2007/09/28/windows-memory-management-x86-virtual-address-space/
 //
 PVOID MmNonPagedSystemStart;
-SIZE_T MiNonPagedSystemSize;
 PVOID MmNonPagedPoolStart;
 PVOID MmNonPagedPoolExpansionStart;
 PVOID MmNonPagedPoolEnd = MI_NONPAGED_POOL_END;
@@ -360,7 +359,7 @@ SIZE_T MmTotalCommitLimit;
 SIZE_T MmTotalCommitLimitMaximum;
 
 /*
- * These value tune certain user parameters. They have default values set here,
+ * These values tune certain user parameters. They have default values set here,
  * as well as in the code, and can be overwritten by registry settings.
  */
 SIZE_T MmHeapSegmentReserve = 1 * _1MB;
@@ -1180,7 +1179,7 @@ MmFreeLoaderBlock(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
     }
 
     /* Release the PFN lock and flush the TLB */
-    DPRINT1("Loader pages freed: %lx\n", LoaderPages);
+    DPRINT("Loader pages freed: %lx\n", LoaderPages);
     KeReleaseQueuedSpinLock(LockQueuePfnLock, OldIrql);
     KeFlushCurrentTb();
 
@@ -1901,7 +1900,7 @@ MiBuildPagedPool(VOID)
     //
     MmPagedPoolInfo.PagedPoolAllocationMap = ExAllocatePoolWithTag(NonPagedPool,
                                                                    Size,
-                                                                   '  mM');
+                                                                   TAG_MM);
     ASSERT(MmPagedPoolInfo.PagedPoolAllocationMap);
 
     //
@@ -1922,7 +1921,7 @@ MiBuildPagedPool(VOID)
     //
     MmPagedPoolInfo.EndOfPagedPoolBitmap = ExAllocatePoolWithTag(NonPagedPool,
                                                                  Size,
-                                                                 '  mM');
+                                                                 TAG_MM);
     ASSERT(MmPagedPoolInfo.EndOfPagedPoolBitmap);
     RtlInitializeBitMap(MmPagedPoolInfo.EndOfPagedPoolBitmap,
                         (PULONG)(MmPagedPoolInfo.EndOfPagedPoolBitmap + 1),
@@ -2003,7 +2002,7 @@ MiDbgDumpMemoryDescriptors(VOID)
         TotalPages += Md->PageCount;
     }
 
-    DPRINT1("Total: %08lX (%d MB)\n", (ULONG)TotalPages, (ULONG)(TotalPages * PAGE_SIZE) / 1024 / 1024);
+    DPRINT1("Total: %08lX (%lu MB)\n", (ULONG)TotalPages, (ULONG)(TotalPages * PAGE_SIZE) / 1024 / 1024);
 }
 
 BOOLEAN
@@ -2181,9 +2180,16 @@ MmArmInitSystem(IN ULONG Phase,
                 //
                 MmNumberOfSystemPtes <<= 1;
             }
+            if (MmSpecialPoolTag != 0 && MmSpecialPoolTag != -1)
+            {
+                //
+                // Add some extra PTEs for special pool
+                //
+                MmNumberOfSystemPtes += 0x6000;
+            }
         }
 
-        DPRINT("System PTE count has been tuned to %d (%d bytes)\n",
+        DPRINT("System PTE count has been tuned to %lu (%lu bytes)\n",
                MmNumberOfSystemPtes, MmNumberOfSystemPtes * PAGE_SIZE);
 
         /* Check if no values are set for the heap limits */
@@ -2299,7 +2305,7 @@ MmArmInitSystem(IN ULONG Phase,
         //
         Bitmap = ExAllocatePoolWithTag(NonPagedPool,
                                        (((MmHighestPhysicalPage + 1) + 31) / 32) * 4,
-                                       '  mM');
+                                       TAG_MM);
         if (!Bitmap)
         {
             //