2 * PROJECT: ReactOS Kernel
3 * LICENSE: BSD - See COPYING.ARM in the top level directory
4 * FILE: ntoskrnl/mm/ARM3/mmsup.c
5 * PURPOSE: ARM Memory Manager Support Routines
6 * PROGRAMMERS: ReactOS Portable Systems Group
9 /* INCLUDES *******************************************************************/
15 #line 15 "ARMĀ³::MMSUP"
16 #define MODULE_INVOLVED_IN_ARM3
17 #include "../ARM3/miarm.h"
19 /* PUBLIC FUNCTIONS ***********************************************************/
26 MmMapUserAddressesToPage(IN PVOID BaseAddress
,
27 IN SIZE_T NumberOfBytes
,
31 return STATUS_NOT_IMPLEMENTED
;
39 MmAdjustWorkingSetSize(IN SIZE_T WorkingSetMinimumInBytes
,
40 IN SIZE_T WorkingSetMaximumInBytes
,
42 IN BOOLEAN IncreaseOkay
)
45 return STATUS_NOT_IMPLEMENTED
;
53 MmSetAddressRangeModified(IN PVOID Address
,
65 MmIsAddressValid(IN PVOID VirtualAddress
)
67 #if _MI_PAGING_LEVELS >= 4
68 /* Check if the PXE is valid */
69 if (MiAddressToPxe(VirtualAddress
)->u
.Hard
.Valid
== 0) return FALSE
;
72 #if _MI_PAGING_LEVELS >= 3
73 /* Check if the PPE is valid */
74 if (MiAddressToPpe(VirtualAddress
)->u
.Hard
.Valid
== 0) return FALSE
;
77 #if _MI_PAGING_LEVELS >= 2
78 /* Check if the PDE is valid */
79 if (MiAddressToPde(VirtualAddress
)->u
.Hard
.Valid
== 0) return FALSE
;
82 /* Check if the PTE is valid */
83 if (MiAddressToPte(VirtualAddress
)->u
.Hard
.Valid
== 0) return FALSE
;
85 /* This address is valid now, but it will only stay so if the caller holds
95 MmIsNonPagedSystemAddressValid(IN PVOID VirtualAddress
)
97 DPRINT1("WARNING: %s returns bogus result\n", __FUNCTION__
);
98 return MmIsAddressValid(VirtualAddress
);
106 MmSetBankedSection(IN HANDLE ProcessHandle
,
107 IN PVOID VirtualAddress
,
109 IN BOOLEAN ReadWriteBank
,
110 IN PVOID BankRoutine
,
114 return STATUS_NOT_IMPLEMENTED
;
122 MmIsRecursiveIoFault(VOID
)
124 PETHREAD Thread
= PsGetCurrentThread();
127 // If any of these is true, this is a recursive fault
129 return ((Thread
->DisablePageFaultClustering
) | (Thread
->ForwardClusterOnly
));
137 MmIsThisAnNtAsSystem(VOID
)
139 /* Return if this is a server system */
140 return MmProductType
;
148 MmQuerySystemSize(VOID
)
150 /* Return the low, medium or high memory system type */