Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenmmsup.c
Go to the documentation of this file.
00001 /* 00002 * PROJECT: ReactOS Kernel 00003 * LICENSE: BSD - See COPYING.ARM in the top level directory 00004 * FILE: ntoskrnl/mm/ARM3/mmsup.c 00005 * PURPOSE: ARM Memory Manager Support Routines 00006 * PROGRAMMERS: ReactOS Portable Systems Group 00007 */ 00008 00009 /* INCLUDES *******************************************************************/ 00010 00011 #include <ntoskrnl.h> 00012 #define NDEBUG 00013 #include <debug.h> 00014 00015 #define MODULE_INVOLVED_IN_ARM3 00016 #include "../ARM3/miarm.h" 00017 00018 /* PUBLIC FUNCTIONS ***********************************************************/ 00019 00020 /* 00021 * @unimplemented 00022 */ 00023 NTSTATUS 00024 NTAPI 00025 MmMapUserAddressesToPage(IN PVOID BaseAddress, 00026 IN SIZE_T NumberOfBytes, 00027 IN PVOID PageAddress) 00028 { 00029 UNIMPLEMENTED; 00030 return STATUS_NOT_IMPLEMENTED; 00031 } 00032 00033 /* 00034 * @unimplemented 00035 */ 00036 NTSTATUS 00037 NTAPI 00038 MmAdjustWorkingSetSize(IN SIZE_T WorkingSetMinimumInBytes, 00039 IN SIZE_T WorkingSetMaximumInBytes, 00040 IN ULONG SystemCache, 00041 IN BOOLEAN IncreaseOkay) 00042 { 00043 UNIMPLEMENTED; 00044 return STATUS_NOT_IMPLEMENTED; 00045 } 00046 00047 /* 00048 * @unimplemented 00049 */ 00050 BOOLEAN 00051 NTAPI 00052 MmSetAddressRangeModified(IN PVOID Address, 00053 IN SIZE_T Length) 00054 { 00055 UNIMPLEMENTED; 00056 return FALSE; 00057 } 00058 00059 /* 00060 * @implemented 00061 */ 00062 BOOLEAN 00063 NTAPI 00064 MmIsAddressValid(IN PVOID VirtualAddress) 00065 { 00066 #if _MI_PAGING_LEVELS >= 4 00067 /* Check if the PXE is valid */ 00068 if (MiAddressToPxe(VirtualAddress)->u.Hard.Valid == 0) return FALSE; 00069 #endif 00070 00071 #if _MI_PAGING_LEVELS >= 3 00072 /* Check if the PPE is valid */ 00073 if (MiAddressToPpe(VirtualAddress)->u.Hard.Valid == 0) return FALSE; 00074 #endif 00075 00076 #if _MI_PAGING_LEVELS >= 2 00077 /* Check if the PDE is valid */ 00078 if (MiAddressToPde(VirtualAddress)->u.Hard.Valid == 0) return FALSE; 00079 #endif 00080 00081 /* Check if the PTE is valid */ 00082 if (MiAddressToPte(VirtualAddress)->u.Hard.Valid == 0) return FALSE; 00083 00084 /* This address is valid now, but it will only stay so if the caller holds 00085 * the PFN lock */ 00086 return TRUE; 00087 } 00088 00089 /* 00090 * @unimplemented 00091 */ 00092 BOOLEAN 00093 NTAPI 00094 MmIsNonPagedSystemAddressValid(IN PVOID VirtualAddress) 00095 { 00096 DPRINT1("WARNING: %s returns bogus result\n", __FUNCTION__); 00097 return MmIsAddressValid(VirtualAddress); 00098 } 00099 00100 /* 00101 * @unimplemented 00102 */ 00103 NTSTATUS 00104 NTAPI 00105 MmSetBankedSection(IN HANDLE ProcessHandle, 00106 IN PVOID VirtualAddress, 00107 IN ULONG BankLength, 00108 IN BOOLEAN ReadWriteBank, 00109 IN PVOID BankRoutine, 00110 IN PVOID Context) 00111 { 00112 UNIMPLEMENTED; 00113 return STATUS_NOT_IMPLEMENTED; 00114 } 00115 00116 /* 00117 * @implemented 00118 */ 00119 BOOLEAN 00120 NTAPI 00121 MmIsRecursiveIoFault(VOID) 00122 { 00123 PETHREAD Thread = PsGetCurrentThread(); 00124 00125 // 00126 // If any of these is true, this is a recursive fault 00127 // 00128 return ((Thread->DisablePageFaultClustering) | (Thread->ForwardClusterOnly)); 00129 } 00130 00131 /* 00132 * @implemented 00133 */ 00134 BOOLEAN 00135 NTAPI 00136 MmIsThisAnNtAsSystem(VOID) 00137 { 00138 /* Return if this is a server system */ 00139 return MmProductType & 0xFF; 00140 } 00141 00142 /* 00143 * @implemented 00144 */ 00145 MM_SYSTEMSIZE 00146 NTAPI 00147 MmQuerySystemSize(VOID) 00148 { 00149 /* Return the low, medium or high memory system type */ 00150 return MmSystemSize; 00151 } 00152 00153 /* EOF */ Generated on Sat May 26 2012 04:36:22 for ReactOS by
1.7.6.1
|