From 574cb20678928d1fac2bbde54bd83693a9d236a5 Mon Sep 17 00:00:00 2001 From: ReactOS Portable Systems Group Date: Sun, 27 Jul 2008 05:38:51 +0000 Subject: [PATCH] - 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. svn path=/trunk/; revision=34821 --- reactos/ntoskrnl/mm/arm/stubs.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/reactos/ntoskrnl/mm/arm/stubs.c b/reactos/ntoskrnl/mm/arm/stubs.c index 7ba7cbd9bf9..d6c07a5636a 100644 --- a/reactos/ntoskrnl/mm/arm/stubs.c +++ b/reactos/ntoskrnl/mm/arm/stubs.c @@ -293,12 +293,21 @@ MmDeleteVirtualMapping(IN PEPROCESS Process, // Get the PTE // PointerPte = MiGetPteAddress(Address); - ASSERT(PointerPte->u.Hard.L2.Small.Type == SmallPte); - + 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); // // Destroy the PTE