Author: ros-arm-bringup
Date: Sun Jul 27 00:38:51 2008
New Revision: 34821
URL: 
http://svn.reactos.org/svn/reactos?rev=34821&view=rev
Log:
- MmDeleteVirtualMapping can be called for memory that isn't mapped yet -- just ignore
this like we do on x86.
- This gets us much farther, to the point where we try to load smss.exe but can't find
it.
Modified:
    trunk/reactos/ntoskrnl/mm/arm/stubs.c
Modified: trunk/reactos/ntoskrnl/mm/arm/stubs.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/arm/stubs.c?re…
==============================================================================
--- trunk/reactos/ntoskrnl/mm/arm/stubs.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/mm/arm/stubs.c [iso-8859-1] Sun Jul 27 00:38:51 2008
@@ -293,12 +293,21 @@
     // Get the PTE
     //
     PointerPte = MiGetPteAddress(Address);
+    if (PointerPte->u.Hard.L1.Fault.Type == FaultPte)
+    {
+        //
+        // Invalid PTE
+        //
+        if (WasDirty) *WasDirty = FALSE;
+        if (Page) *Page = 0;
+        return;
+    }
+
+    //
+    // Save the PTE
+    //
+    Pte = *PointerPte;
     ASSERT(PointerPte->u.Hard.L2.Small.Type == SmallPte);
-
-    //
-    // Save the PTE
-    //
-    Pte = *PointerPte;
     //
     // Destroy the PTE