[ros-diffs] [ros-arm-bringup] 34821: - 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.
ros-arm-bringup at svn.reactos.org
ros-arm-bringup at svn.reactos.org
Sun Jul 27 07:38:51 CEST 2008
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?rev=34821&r1=34820&r2=34821&view=diff
==============================================================================
--- 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
More information about the Ros-diffs
mailing list