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 #define MODULE_INVOLVED_IN_ARM3
16 #include "../ARM3/miarm.h"
18 /* PUBLIC FUNCTIONS ***********************************************************/
25 MmMapUserAddressesToPage(IN PVOID BaseAddress
,
26 IN SIZE_T NumberOfBytes
,
30 return STATUS_NOT_IMPLEMENTED
;
38 MmAdjustWorkingSetSize(IN SIZE_T WorkingSetMinimumInBytes
,
39 IN SIZE_T WorkingSetMaximumInBytes
,
41 IN BOOLEAN IncreaseOkay
)
44 return STATUS_NOT_IMPLEMENTED
;
52 MmSetAddressRangeModified(IN PVOID Address
,
64 MmIsAddressValid(IN PVOID VirtualAddress
)
66 #if _MI_PAGING_LEVELS >= 4
67 /* Check if the PXE is valid */
68 if (MiAddressToPxe(VirtualAddress
)->u
.Hard
.Valid
== 0) return FALSE
;
71 #if _MI_PAGING_LEVELS >= 3
72 /* Check if the PPE is valid */
73 if (MiAddressToPpe(VirtualAddress
)->u
.Hard
.Valid
== 0) return FALSE
;
76 #if _MI_PAGING_LEVELS >= 2
77 /* Check if the PDE is valid */
78 if (MiAddressToPde(VirtualAddress
)->u
.Hard
.Valid
== 0) return FALSE
;
81 /* Check if the PTE is valid */
82 if (MiAddressToPte(VirtualAddress
)->u
.Hard
.Valid
== 0) return FALSE
;
84 /* This address is valid now, but it will only stay so if the caller holds
94 MmIsNonPagedSystemAddressValid(IN PVOID VirtualAddress
)
96 DPRINT1("WARNING: %s returns bogus result\n", __FUNCTION__
);
97 return MmIsAddressValid(VirtualAddress
);
105 MmSetBankedSection(IN HANDLE ProcessHandle
,
106 IN PVOID VirtualAddress
,
108 IN BOOLEAN ReadWriteBank
,
109 IN PVOID BankRoutine
,
113 return STATUS_NOT_IMPLEMENTED
;
121 MmIsRecursiveIoFault(VOID
)
123 PETHREAD Thread
= PsGetCurrentThread();
126 // If any of these is true, this is a recursive fault
128 return ((Thread
->DisablePageFaultClustering
) | (Thread
->ForwardClusterOnly
));
136 MmIsThisAnNtAsSystem(VOID
)
138 /* Return if this is a server system */
139 return MmProductType
& 0xFF;
147 MmQuerySystemSize(VOID
)
149 /* Return the low, medium or high memory system type */