this commit
- removed Alex Ionescu's name from his code (verifier.c)
- reformatted his code simply to reformat it
- changed license from GPL to BSD
Recommend this user gets banned for breaking licence / IP policies /
coding rules. :-P
Regards,
Timo
ros-arm-bringup(a)svn.reactos.org wrote:
Author: ros-arm-bringup
Date: Sun Jun 28 11:32:52 2009
New Revision: 41658
URL:
http://svn.reactos.org/svn/reactos?rev=41658&view=rev
Log:
- Move all the functions from drvlck.c and verifier.c to ARM3's drvmgmt.c:
- "Managing driver managing" (by David Welch) is no more... the routines have
been properly renamed and cleaned up.
- Also moved Driver Verifier helper routines in here, and fixed a couple of bugs:
- Do not allow hooking of the kernel or HAL image (tested on Windows Server 2003)
- Cleanup some useless variable redefinitions and code complexity.
- Documented what some of the Mm Lock/Unlock Pageable Section/Driver functions should
do, for later if needed.
- Made aliasses so the typo "Pagable" functions redirect to the correct
"Pageable" functions.
- No functional change -- the Verifier functions were unused, and the drvlock.c
functions were unimplemented (and still are).
- Also move one more *Pageable* function from wset.c to ARM3's drvmgmt.c -- it
seemed to have been a lost orphan (Also unimplemented).
Added:
trunk/reactos/ntoskrnl/mm/ARM3/drvmgmt.c
- copied, changed from r41647, trunk/reactos/ntoskrnl/mm/drvlck.c
Removed:
trunk/reactos/ntoskrnl/mm/drvlck.c
trunk/reactos/ntoskrnl/mm/verifier.c
Modified:
trunk/reactos/ntoskrnl/mm/ARM3/miarm.h
trunk/reactos/ntoskrnl/mm/wset.c
trunk/reactos/ntoskrnl/ntoskrnl-generic.rbuild
trunk/reactos/ntoskrnl/ntoskrnl.pspec
Copied: trunk/reactos/ntoskrnl/mm/ARM3/drvmgmt.c (from r41647,
trunk/reactos/ntoskrnl/mm/drvlck.c)
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/ARM3/drvmgmt.c…
==============================================================================
--- trunk/reactos/ntoskrnl/mm/drvlck.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/mm/ARM3/drvmgmt.c [iso-8859-1] Sun Jun 28 11:32:52 2009
@@ -1,102 +1,324 @@
/*
- * COPYRIGHT: See COPYING in the top level directory
- * PROJECT: ReactOS kernel
- * FILE: ntoskrnl/mm/drvlck.c
- * PURPOSE: Managing driver managing
- *
- * PROGRAMMERS: David Welch (welch(a)mcmail.com)
- */
-
-/* INCLUDES *****************************************************************/
+ * PROJECT: ReactOS Kernel
+ * LICENSE: BSD - See COPYING.ARM in the top level directory
+ * FILE: ntoskrnl/mm/ARM3/drvmgmt.c
+ * PURPOSE: ARM Memory Manager Driver Management
+ * PROGRAMMERS: ReactOS Portable Systems Group
+ */
+
+/* INCLUDES *******************************************************************/
#include <ntoskrnl.h>
+#define NDEBUG
#include <debug.h>
-/* FUNCTIONS *****************************************************************/
-
-#undef MmLockPagableDataSection
-
-#if 0
+#line 15 "ARM�³::DRVMGMT"
+#define MODULE_INVOLVED_IN_ARM3
+#include "../ARM3/miarm.h"
+
+/* GLOBALS *******************************************************************/
+
+MM_DRIVER_VERIFIER_DATA MmVerifierData;
+LIST_ENTRY MiVerifierDriverAddedThunkListHead;
+KMUTANT MmSystemLoadLock;
+ULONG MiActiveVerifierThunks;
+extern LIST_ENTRY PsLoadedModuleList;
+
+/* PRIVATE FUNCTIONS *********************************************************/
+
+PLDR_DATA_TABLE_ENTRY
+NTAPI
+MiLookupDataTableEntry(IN PVOID Address)
+{
+ PLDR_DATA_TABLE_ENTRY LdrEntry, FoundEntry = NULL;
+ PLIST_ENTRY NextEntry;
+ PAGED_CODE();
+
+ //
+ // Loop entries
+ //
+ NextEntry = PsLoadedModuleList.Flink;
+ do
+ {
+ //
+ // Get the loader entry
+ //
+ LdrEntry = CONTAINING_RECORD(NextEntry,
+ LDR_DATA_TABLE_ENTRY,
+ InLoadOrderLinks);
+
+ //
+ // Check if the address matches
+ //
+ if ((Address >= LdrEntry->DllBase) &&
+ (Address < (PVOID)((ULONG_PTR)LdrEntry->DllBase +
+ LdrEntry->SizeOfImage)))
+ {
+ //
+ // Found a match
+ //
+ FoundEntry = LdrEntry;
+ break;
+ }
+
+ //
+ // Move on
+ //
+ NextEntry = NextEntry->Flink;
+ } while(NextEntry != &PsLoadedModuleList);
+
+ //
+ // Return the entry
+ //
+ return FoundEntry;
+}
+
+/* PUBLIC FUNCTIONS ***********************************************************/
+
+/*
+ * @unimplemented
+ */
VOID
-MmUnlockPagableImageSection(IN PVOID ImageSectionHandle)
-/*
- * FUNCTION: Releases a section of driver code or driver data, previously
- * locked into system space with MmLockPagableCodeSection,
- * MmLockPagableDataSection or MmLockPagableSectionByHandle
- * ARGUMENTS:
- * ImageSectionHandle = Handle returned by MmLockPagableCodeSection or
- * MmLockPagableDataSection
- */
-{
- // MmUnlockMemoryArea((MEMORY_AREA *)ImageSectionHandle);
- UNIMPLEMENTED;
-}
-#endif
-
-
-/*
- * @unimplemented
- */
-VOID NTAPI
-MmLockPagableSectionByHandle(IN PVOID ImageSectionHandle)
-{
- UNIMPLEMENTED;
-}
-
-
-#if 0
+NTAPI
+MmUnlockPageableImageSection(IN PVOID ImageSectionHandle)
+{
+ UNIMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+VOID
+NTAPI
+MmLockPageableSectionByHandle(IN PVOID ImageSectionHandle)
+{
+ UNIMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
PVOID
-MmLockPagableCodeSection(IN PVOID AddressWithinSection)
-{
- PVOID Handle;
- Handle = MmLocateMemoryAreaByAddress(NULL,AddressWithinSection);
- MmLockPagableSectionByHandle(Handle);
- return(Handle);
-}
-#endif
-
+NTAPI
+MmLockPageableDataSection(IN PVOID AddressWithinSection)
+{
+ //
+ // We should just find the section and call MmLockPageableSectionByHandle
+ //
+ UNIMPLEMENTED;
+ return AddressWithinSection;
+}
+
+/*
+ * @unimplemented
+ */
+PVOID
+NTAPI
+MmPageEntireDriver(IN PVOID AddressWithinSection)
+{
+ //
+ // We should find the driver loader entry and return its base address
+ //
+ UNIMPLEMENTED;
+ return NULL;
+}
+
+/*
+ * @unimplemented
+ */
+VOID
+NTAPI
+MmResetDriverPaging(IN PVOID AddressWithinSection)
+{
+ UNIMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+ULONG
+NTAPI
+MmTrimAllSystemPageableMemory(IN ULONG PurgeTransitionList)
+{
+ UNIMPLEMENTED;
+ return 0;
+}
/*
* @implemented
*/
-PVOID NTAPI
-MmLockPagableDataSection(IN PVOID AddressWithinSection)
-{
- PVOID Handle;
- Handle = MmLocateMemoryAreaByAddress(MmGetKernelAddressSpace(),
- AddressWithinSection);
- MmLockPagableSectionByHandle(Handle);
- return(Handle);
-}
-
-
-/*
- * @unimplemented
- */
-VOID NTAPI
-MmUnlockPagableImageSection(IN PVOID ImageSectionHandle)
-{
- UNIMPLEMENTED;
-}
-
-/*
- * @unimplemented
- */
-PVOID NTAPI
-MmPageEntireDriver(IN PVOID AddressWithinSection)
-{
- UNIMPLEMENTED;
- return NULL;
-}
-
-
-/*
- * @unimplemented
- */
-VOID NTAPI
-MmResetDriverPaging(IN PVOID AddressWithinSection)
-{
- UNIMPLEMENTED;
+NTSTATUS
+NTAPI
+MmAddVerifierThunks(IN PVOID ThunkBuffer,
+ IN ULONG ThunkBufferSize)
+{
+ PDRIVER_VERIFIER_THUNK_PAIRS ThunkTable;
+ ULONG ThunkCount;
+ PDRIVER_SPECIFIED_VERIFIER_THUNKS DriverThunks;
+ PLDR_DATA_TABLE_ENTRY LdrEntry;
+ PVOID ModuleBase, ModuleEnd;
+ ULONG i;
+ NTSTATUS Status = STATUS_SUCCESS;
+ PAGED_CODE();
+
+ //
+ // Make sure the driver verifier is initialized
+ //
+ if (!MiVerifierDriverAddedThunkListHead.Flink) return STATUS_NOT_SUPPORTED;
+
+ //
+ // Get the thunk pairs and count them
+ //
+ ThunkCount = ThunkBufferSize / sizeof(DRIVER_VERIFIER_THUNK_PAIRS);
+ if (!ThunkCount) return STATUS_INVALID_PARAMETER_1;
+
+ //
+ // Now allocate our own thunk table
+ //
+ DriverThunks = ExAllocatePoolWithTag(PagedPool,
+ sizeof(*DriverThunks) +
+ ThunkCount *
+ sizeof(DRIVER_VERIFIER_THUNK_PAIRS),
+ 'tVmM');
+ if (!DriverThunks) return STATUS_INSUFFICIENT_RESOURCES;
+
+ //
+ // Now copy the driver-fed part
+ //
+ ThunkTable = (PDRIVER_VERIFIER_THUNK_PAIRS)(DriverThunks + 1);
+ RtlCopyMemory(ThunkTable,
+ ThunkBuffer,
+ ThunkCount * sizeof(DRIVER_VERIFIER_THUNK_PAIRS));
+
+ //
+ // Acquire the system load lock
+ //
+ KeEnterCriticalRegion();
+ KeWaitForSingleObject(&MmSystemLoadLock,
+ WrVirtualMemory,
+ KernelMode,
+ FALSE,
+ NULL);
+
+ //
+ // Get the loader entry
+ //
+ LdrEntry = MiLookupDataTableEntry(ThunkTable->PristineRoutine);
+ if (!LdrEntry)
+ {
+ //
+ // Fail
+ //
+ Status = STATUS_INVALID_PARAMETER_2;
+ goto Cleanup;
+ }
+
+ //
+ // Get driver base and end
+ //
+ ModuleBase = LdrEntry->DllBase;
+ ModuleEnd = (PVOID)((ULONG_PTR)LdrEntry->DllBase + LdrEntry->SizeOfImage);
+
+ //
+ // Don't allow hooking the kernel or HAL
+ //
+ if (ModuleBase < (PVOID)(KSEG0_BASE + MmBootImageSize))
+ {
+ //
+ // Fail
+ //
+ Status = STATUS_INVALID_PARAMETER_2;
+ goto Cleanup;
+ }
+
+ //
+ // Loop all the thunks
+ //
+ for (i = 0; i < ThunkCount; i++)
+ {
+ //
+ // Make sure it's in the driver
+ //
+ if (((ULONG_PTR)ThunkTable->PristineRoutine < (ULONG_PTR)ModuleBase) ||
+ ((ULONG_PTR)ThunkTable->PristineRoutine >= (ULONG_PTR)ModuleEnd))
+ {
+ //
+ // Nope, fail
+ //
+ Status = STATUS_INVALID_PARAMETER_2;
+ goto Cleanup;
+ }
+ }
+
+ //
+ // Otherwise, add this entry
+ //
+ DriverThunks->DataTableEntry = LdrEntry;
+ DriverThunks->NumberOfThunks = ThunkCount;
+ MiActiveVerifierThunks++;
+ InsertTailList(&MiVerifierDriverAddedThunkListHead,
+ &DriverThunks->ListEntry);
+ DriverThunks = NULL;
+
+Cleanup:
+ //
+ // Release the lock
+ //
+ KeReleaseMutant(&MmSystemLoadLock, 1, FALSE, FALSE);
+ KeLeaveCriticalRegion();
+
+ //
+ // Free the table if we failed and return status
+ //
+ if (DriverThunks) ExFreePool(DriverThunks);
+ return Status;
+}
+
+/*
+ * @implemented
+ */
+LOGICAL
+NTAPI
+MmIsDriverVerifying(IN PDRIVER_OBJECT DriverObject)
+{
+ PLDR_DATA_TABLE_ENTRY LdrEntry;
+
+ //
+ // Get the loader entry
+ //
+ LdrEntry = (PLDR_DATA_TABLE_ENTRY)DriverObject->DriverSection;
+ if (!LdrEntry) return FALSE;
+
+ //
+ // Check if we're verifying or not
+ //
+ return (LdrEntry->Flags & LDRP_IMAGE_VERIFYING) ? TRUE: FALSE;
+}
+
+/*
+ * @implemented
+ */
+NTSTATUS
+NTAPI
+MmIsVerifierEnabled(OUT PULONG VerifierFlags)
+{
+ //
+ // Check if we've actually added anything to the list
+ //
+ if (MiVerifierDriverAddedThunkListHead.Flink)
+ {
+ //
+ // We have, read the verifier level
+ //
+ *VerifierFlags = MmVerifierData.Level;
+ return STATUS_SUCCESS;
+ }
+
+ //
+ // Otherwise, we're disabled
+ //
+ *VerifierFlags = 0;
+ return STATUS_NOT_SUPPORTED;
}
/* EOF */
Modified: trunk/reactos/ntoskrnl/mm/ARM3/miarm.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/ARM3/miarm.h?r…
==============================================================================
--- trunk/reactos/ntoskrnl/mm/ARM3/miarm.h [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/mm/ARM3/miarm.h [iso-8859-1] Sun Jun 28 11:32:52 2009
@@ -52,6 +52,7 @@
extern PMMPTE MiFirstReservedZeroingPte;
extern MI_PFN_CACHE_ATTRIBUTE MiPlatformCacheAttributes[2][MmMaximumCacheType];
extern PPHYSICAL_MEMORY_DESCRIPTOR MmPhysicalMemoryBlock;
+extern ULONG MmBootImageSize;
VOID
NTAPI
Removed: trunk/reactos/ntoskrnl/mm/drvlck.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/drvlck.c?rev=4…
==============================================================================
--- trunk/reactos/ntoskrnl/mm/drvlck.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/mm/drvlck.c (removed)
@@ -1,102 +1,0 @@
-/*
- * COPYRIGHT: See COPYING in the top level directory
- * PROJECT: ReactOS kernel
- * FILE: ntoskrnl/mm/drvlck.c
- * PURPOSE: Managing driver managing
- *
- * PROGRAMMERS: David Welch (welch(a)mcmail.com)
- */
-
-/* INCLUDES *****************************************************************/
-
-#include <ntoskrnl.h>
-#include <debug.h>
-
-/* FUNCTIONS *****************************************************************/
-
-#undef MmLockPagableDataSection
-
-#if 0
-VOID
-MmUnlockPagableImageSection(IN PVOID ImageSectionHandle)
-/*
- * FUNCTION: Releases a section of driver code or driver data, previously
- * locked into system space with MmLockPagableCodeSection,
- * MmLockPagableDataSection or MmLockPagableSectionByHandle
- * ARGUMENTS:
- * ImageSectionHandle = Handle returned by MmLockPagableCodeSection or
- * MmLockPagableDataSection
- */
-{
- // MmUnlockMemoryArea((MEMORY_AREA *)ImageSectionHandle);
- UNIMPLEMENTED;
-}
-#endif
-
-
-/*
- * @unimplemented
- */
-VOID NTAPI
-MmLockPagableSectionByHandle(IN PVOID ImageSectionHandle)
-{
- UNIMPLEMENTED;
-}
-
-
-#if 0
-PVOID
-MmLockPagableCodeSection(IN PVOID AddressWithinSection)
-{
- PVOID Handle;
- Handle = MmLocateMemoryAreaByAddress(NULL,AddressWithinSection);
- MmLockPagableSectionByHandle(Handle);
- return(Handle);
-}
-#endif
-
-
-/*
- * @implemented
- */
-PVOID NTAPI
-MmLockPagableDataSection(IN PVOID AddressWithinSection)
-{
- PVOID Handle;
- Handle = MmLocateMemoryAreaByAddress(MmGetKernelAddressSpace(),
- AddressWithinSection);
- MmLockPagableSectionByHandle(Handle);
- return(Handle);
-}
-
-
-/*
- * @unimplemented
- */
-VOID NTAPI
-MmUnlockPagableImageSection(IN PVOID ImageSectionHandle)
-{
- UNIMPLEMENTED;
-}
-
-/*
- * @unimplemented
- */
-PVOID NTAPI
-MmPageEntireDriver(IN PVOID AddressWithinSection)
-{
- UNIMPLEMENTED;
- return NULL;
-}
-
-
-/*
- * @unimplemented
- */
-VOID NTAPI
-MmResetDriverPaging(IN PVOID AddressWithinSection)
-{
- UNIMPLEMENTED;
-}
-
-/* EOF */
Removed: trunk/reactos/ntoskrnl/mm/verifier.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/verifier.c?rev…
==============================================================================
--- trunk/reactos/ntoskrnl/mm/verifier.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/mm/verifier.c (removed)
@@ -1,190 +1,0 @@
-/*
-* PROJECT: ReactOS Kernel
-* LICENSE: GPL - See COPYING in the top level directory
-* FILE: ntoskrnl/mm/verifier.c
-* PURPOSE: Mm Driver Verifier Routines
-* PROGRAMMERS: Alex Ionescu (alex.ionescu(a)reactos.org)
-*/
-
-/* INCLUDES ******************************************************************/
-
-#include <ntoskrnl.h>
-#define NDEBUG
-#include <debug.h>
-
-/* GLOBALS *******************************************************************/
-
-MM_DRIVER_VERIFIER_DATA MmVerifierData;
-LIST_ENTRY MiVerifierDriverAddedThunkListHead;
-KMUTANT MmSystemLoadLock;
-ULONG MiActiveVerifierThunks;
-
-extern LIST_ENTRY PsLoadedModuleList;
-
-/* PRIVATE FUNCTIONS *********************************************************/
-
-PLDR_DATA_TABLE_ENTRY
-NTAPI
-MiLookupDataTableEntry(IN PVOID Address)
-{
- PLDR_DATA_TABLE_ENTRY LdrEntry, FoundEntry = NULL;
- PLIST_ENTRY NextEntry;
- PAGED_CODE();
-
- /* Loop entries */
- NextEntry = PsLoadedModuleList.Flink;
- do
- {
- /* Get the loader entry */
- LdrEntry = CONTAINING_RECORD(NextEntry,
- LDR_DATA_TABLE_ENTRY,
- InLoadOrderLinks);
-
- /* Check if the address matches */
- if ((Address >= LdrEntry->DllBase) &&
- (Address < (PVOID)((ULONG_PTR)LdrEntry->DllBase +
LdrEntry->SizeOfImage)))
- {
- /* Found a match */
- FoundEntry = LdrEntry;
- break;
- }
-
- /* Move on */
- NextEntry = NextEntry->Flink;
- } while(NextEntry != &PsLoadedModuleList);
-
- /* Return the entry */
- return FoundEntry;
-}
-
-/* PUBLIC FUNCTIONS **********************************************************/
-
-/*
- * @implemented
- */
-NTSTATUS
-NTAPI
-MmAddVerifierThunks(IN PVOID ThunkBuffer,
- IN ULONG ThunkBufferSize)
-{
- PDRIVER_VERIFIER_THUNK_PAIRS ThunkPairs, DriverThunkTable;
- ULONG ThunkCount;
- PDRIVER_SPECIFIED_VERIFIER_THUNKS ThunkTable;
- PLDR_DATA_TABLE_ENTRY LdrEntry;
- PVOID ModuleBase, ModuleEnd;
- ULONG i;
- NTSTATUS Status = STATUS_SUCCESS;
- PAGED_CODE();
-
- /* Make sure the driver verifier is initialized */
- if (!MiVerifierDriverAddedThunkListHead.Flink) return STATUS_NOT_SUPPORTED;
-
- /* Get the thunk pairs and count them */
- ThunkPairs = (PDRIVER_VERIFIER_THUNK_PAIRS)ThunkBuffer;
- ThunkCount = ThunkBufferSize / sizeof(DRIVER_VERIFIER_THUNK_PAIRS);
- if (!ThunkCount) return STATUS_INVALID_PARAMETER_1;
-
- /* Now allocate our own thunk table */
- ThunkTable = ExAllocatePoolWithTag(PagedPool,
- sizeof(DRIVER_SPECIFIED_VERIFIER_THUNKS) +
- ThunkCount *
- sizeof(DRIVER_VERIFIER_THUNK_PAIRS),
- TAG('M', 'm', 'V',
't'));
- if (!ThunkTable) return STATUS_INSUFFICIENT_RESOURCES;
-
- /* Now copy the driver-fed part */
- DriverThunkTable = (PDRIVER_VERIFIER_THUNK_PAIRS)(ThunkTable + 1);
- RtlCopyMemory(DriverThunkTable,
- ThunkPairs,
- ThunkCount * sizeof(DRIVER_VERIFIER_THUNK_PAIRS));
-
- /* Acquire the system load lock */
- KeEnterCriticalRegion();
- KeWaitForSingleObject(&MmSystemLoadLock,
- WrVirtualMemory,
- KernelMode,
- FALSE,
- NULL);
-
- /* Get the loader entry */
- LdrEntry = MiLookupDataTableEntry(DriverThunkTable->PristineRoutine);
- if (!LdrEntry)
- {
- /* Fail */
- Status = STATUS_INVALID_PARAMETER_2;
- goto Cleanup;
- }
-
- /* Get driver base and end */
- ModuleBase = LdrEntry->DllBase;
- ModuleEnd = (PVOID)((ULONG_PTR)LdrEntry->DllBase + LdrEntry->SizeOfImage);
-
- /* Loop all the thunks */
- for (i = 0; i < ThunkCount; i++)
- {
- /* Make sure it's in the driver */
- if (((ULONG_PTR)DriverThunkTable->PristineRoutine < (ULONG_PTR)ModuleBase)
||
- ((ULONG_PTR)DriverThunkTable->PristineRoutine >=
(ULONG_PTR)ModuleEnd))
- {
- /* Nope, fail */
- Status = STATUS_INVALID_PARAMETER_2;
- goto Cleanup;
- }
- }
-
- /* Otherwise, add this entry */
- ThunkTable->DataTableEntry = LdrEntry;
- ThunkTable->NumberOfThunks = ThunkCount;
- MiActiveVerifierThunks++;
- InsertTailList(&MiVerifierDriverAddedThunkListHead,
- &ThunkTable->ListEntry);
- ThunkTable = NULL;
-
-Cleanup:
- /* Release the lock */
- KeReleaseMutant(&MmSystemLoadLock, 1, FALSE, FALSE);
- KeLeaveCriticalRegion();
-
- /* Free the table if we failed and return status */
- if (ThunkTable) ExFreePool(ThunkTable);
- return Status;
-}
-
-/*
- * @implemented
- */
-LOGICAL
-NTAPI
-MmIsDriverVerifying(IN PDRIVER_OBJECT DriverObject)
-{
- PLDR_DATA_TABLE_ENTRY LdrEntry;
-
- /* Get the loader entry */
- LdrEntry = (PLDR_DATA_TABLE_ENTRY)DriverObject->DriverSection;
- if (!LdrEntry) return FALSE;
-
- /* Check if we're verifying or not */
- return (LdrEntry->Flags & LDRP_IMAGE_VERIFYING) ? TRUE: FALSE;
-}
-
-/*
- * @implemented
- */
-NTSTATUS
-NTAPI
-MmIsVerifierEnabled(OUT PULONG VerifierFlags)
-{
- /* Check if we've actually added anything to the list */
- if (MiVerifierDriverAddedThunkListHead.Flink)
- {
- /* We have, read the verifier level */
- *VerifierFlags = MmVerifierData.Level;
- return STATUS_SUCCESS;
- }
-
- /* Otherwise, we're disabled */
- *VerifierFlags = 0;
- return STATUS_NOT_SUPPORTED;
-}
-
-/* EOF */
Modified: trunk/reactos/ntoskrnl/mm/wset.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/wset.c?rev=416…
==============================================================================
--- trunk/reactos/ntoskrnl/mm/wset.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/mm/wset.c [iso-8859-1] Sun Jun 28 11:32:52 2009
@@ -46,16 +46,3 @@
}
return(STATUS_SUCCESS);
}
-
-/*
- * @unimplemented
- */
-ULONG
-NTAPI
-MmTrimAllSystemPagableMemory (
- IN ULONG PurgeTransitionList
- )
-{
- UNIMPLEMENTED;
- return 0;
-}
Modified: trunk/reactos/ntoskrnl/ntoskrnl-generic.rbuild
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ntoskrnl-generic.…
==============================================================================
--- trunk/reactos/ntoskrnl/ntoskrnl-generic.rbuild [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/ntoskrnl-generic.rbuild [iso-8859-1] Sun Jun 28 11:32:52 2009
@@ -361,6 +361,7 @@
</if>
<directory name="ARM3">
<file>contmem.c</file>
+ <file>drvmgmt.c</file>
<file>dynamic.c</file>
<file>hypermap.c</file>
<file>init.c</file>
@@ -372,7 +373,6 @@
<file>anonmem.c</file>
<file>balance.c</file>
<file>dbgpool.c</file>
- <file>drvlck.c</file>
<file>freelist.c</file>
<file>kmap.c</file>
<file>marea.c</file>
@@ -392,7 +392,6 @@
<file>rmap.c</file>
<file>section.c</file>
<file>sysldr.c</file>
- <file>verifier.c</file>
<file>virtual.c</file>
<file>wset.c</file>
<if property="_ELF_" value="1">
Modified: trunk/reactos/ntoskrnl/ntoskrnl.pspec
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ntoskrnl.pspec?re…
==============================================================================
--- trunk/reactos/ntoskrnl/ntoskrnl.pspec [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/ntoskrnl.pspec [iso-8859-1] Sun Jun 28 11:32:52 2009
@@ -771,9 +771,9 @@
@ stdcall MmIsRecursiveIoFault()
@ stdcall MmIsThisAnNtAsSystem()
@ stdcall MmIsVerifierEnabled(ptr)
-@ stdcall MmLockPagableDataSection(ptr)
-@ stdcall MmLockPagableImageSection(ptr) MmLockPagableDataSection
-@ stdcall MmLockPagableSectionByHandle(ptr)
+@ stdcall MmLockPagableDataSection(ptr) MmLockPageableDataSection
+@ stdcall MmLockPagableImageSection(ptr) MmLockPageableDataSection
+@ stdcall MmLockPagableSectionByHandle(ptr) MmLockPageableSectionByHandle
@ stdcall MmMapIoSpace(long long long long)
@ stdcall MmMapLockedPages(ptr long)
@ stdcall MmMapLockedPagesSpecifyCache(ptr long long ptr long long)
@@ -801,8 +801,8 @@
@ stdcall MmSetBankedSection(long long long long long long)
@ stdcall MmSizeOfMdl(ptr long)
@ extern MmSystemRangeStart
-@ stdcall MmTrimAllSystemPagableMemory(long)
-@ stdcall MmUnlockPagableImageSection(ptr)
+@ stdcall MmTrimAllSystemPagableMemory(long) MmTrimAllSystemPageableMemory
+@ stdcall MmUnlockPagableImageSection(ptr) MmUnlockPageableImageSection
@ stdcall MmUnlockPages(ptr)
@ stdcall MmUnmapIoSpace(ptr long)
@ stdcall MmUnmapLockedPages(ptr ptr)