[NTOS]: Enable usage of ARM3 paged pool, up until Mm Phase 2.
[reactos.git] / reactos / ntoskrnl / include / internal / mm.h
index 96c667f..d8c6178 100644 (file)
@@ -1,5 +1,4 @@
-#ifndef __INCLUDE_INTERNAL_MM_H
-#define __INCLUDE_INTERNAL_MM_H
+#pragma once
 
 #include <internal/arch/mm.h>
 
@@ -28,6 +27,8 @@ extern MEMORY_ALLOCATION_DESCRIPTOR MiFreeDescriptorOrg;
 
 extern LIST_ENTRY MmLoadedUserImageList;
 
+extern KMUTANT MmSystemLoadLock;
+
 extern ULONG MmNumberOfPagingFiles;
 
 extern PVOID MmUnloadedDrivers;
@@ -45,8 +46,7 @@ extern SIZE_T MmPagedPoolCommit;
 extern SIZE_T MmPeakCommitment;
 extern SIZE_T MmtotalCommitLimitMaximum;
 
-extern PVOID MiDebugMapping;
-extern PMMPTE MmDebugPte;
+extern BOOLEAN MiDbgReadyForPhysical;
 
 struct _KTRAP_FRAME;
 struct _EPROCESS;
@@ -107,28 +107,10 @@ typedef ULONG PFN_TYPE, *PPFN_TYPE;
 /* Number of list heads to use */
 #define MI_FREE_POOL_LISTS 4
 
-#define MI_HYPERSPACE_PTES                  (256 - 1)
-#define MI_ZERO_PTES                        (32)
-#define MI_MAPPING_RANGE_START              (ULONG_PTR)HYPER_SPACE
-#define MI_MAPPING_RANGE_END                (MI_MAPPING_RANGE_START + \
-                                             MI_HYPERSPACE_PTES * PAGE_SIZE)
-#define MI_ZERO_PTE                         (PMMPTE)(MI_MAPPING_RANGE_END + \
-                                             PAGE_SIZE)
 
 /* Signature of free pool blocks */
 #define MM_FREE_POOL_TAG    'lprF'
 
-#define PAGE_TO_SECTION_PAGE_DIRECTORY_OFFSET(x) \
-    ((x) / (4*1024*1024))
-
-#define PAGE_TO_SECTION_PAGE_TABLE_OFFSET(x) \
-    ((((x)) % (4*1024*1024)) / (4*1024))
-
-#define NR_SECTION_PAGE_TABLES              1024
-#define NR_SECTION_PAGE_ENTRIES             1024
-
-#define TEB_BASE                            0x7FFDE000
-
 /* Although Microsoft says this isn't hardcoded anymore,
    they won't be able to change it. Stuff depends on it */
 #define MM_VIRTMEM_GRANULARITY              (64 * 1024)
@@ -168,17 +150,6 @@ typedef ULONG PFN_TYPE, *PPFN_TYPE;
  */
 #define MM_POOL_ALIGNMENT                   8
 
-/*
- * Maximum size of the kmalloc area (this is totally arbitary)
- */
-#define MM_KERNEL_MAP_SIZE                  (16*1024*1024)
-#define MM_KERNEL_MAP_BASE                  (0xf0c00000)
-
-/*
- * FIXME - different architectures have different cache line sizes...
- */
-#define MM_CACHE_LINE_SIZE                  32
-
 #define MM_ROUND_UP(x,s)                    \
     ((PVOID)(((ULONG_PTR)(x)+(s)-1) & ~((ULONG_PTR)(s)-1)))
 
@@ -904,7 +875,7 @@ MmQueryAnonMem(
     PMEMORY_AREA MemoryArea,
     PVOID Address,
     PMEMORY_BASIC_INFORMATION Info,
-    PSIZE_T ResultLength
+    PULONG ResultLength
 );
 
 VOID
@@ -1110,8 +1081,6 @@ MmPageOutPhysicalAddress(PFN_TYPE Page);
 
 /* freelist.c **********************************************************/
 
-#define ASSERT_PFN(x) ASSERT((x)->u3.e1.CacheAttribute != 0)
-
 FORCEINLINE
 PMMPFN
 MiGetPfnEntry(IN PFN_TYPE Pfn)
@@ -1128,9 +1097,6 @@ MiGetPfnEntry(IN PFN_TYPE Pfn)
     /* Get the entry */
     Page = &MmPfnDatabase[Pfn];
 
-    /* Make sure it's valid */
-    ASSERT_PFN(Page);
-
     /* Return it */
     return Page;
 };
@@ -1372,8 +1338,7 @@ MmSetDirtyPage(
 PFN_TYPE
 NTAPI
 MmAllocPage(
-    ULONG Consumer,
-    SWAPENTRY SavedSwapEntry
+    ULONG Consumer
 );
 
 LONG
@@ -1442,14 +1407,14 @@ NTAPI
 MmCreateProcessAddressSpace(
     IN ULONG MinWs,
     IN PEPROCESS Dest,
-    IN PULONG_PTR DirectoryTableBase
+    IN PULONG DirectoryTableBase
 );
 
 NTSTATUS
 NTAPI
 MmInitializeHandBuiltProcess(
     IN PEPROCESS Process,
-    IN PULONG_PTR DirectoryTableBase
+    IN PULONG DirectoryTableBase
 );
 
 
@@ -1584,7 +1549,7 @@ MmQuerySectionView(
     PMEMORY_AREA MemoryArea,
     PVOID Address,
     PMEMORY_BASIC_INFORMATION Info,
-    PSIZE_T ResultLength
+    PULONG ResultLength
 );
 
 NTSTATUS
@@ -1677,8 +1642,8 @@ MiQueryVirtualMemory(
     IN PVOID Address,
     IN MEMORY_INFORMATION_CLASS VirtualMemoryInformationClass,
     OUT PVOID VirtualMemoryInformation,
-    IN SIZE_T Length,
-    OUT PSIZE_T ResultLength
+    IN ULONG Length,
+    OUT PULONG ResultLength
 );
 
 /* sysldr.c ******************************************************************/
@@ -1777,5 +1742,3 @@ MmGetKernelAddressSpace(VOID)
 {
     return MmKernelAddressSpace;
 }
-
-#endif