From 0d319095f43812b14285ffd58748b0fef784801d Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Sun, 6 Jun 2010 12:42:01 +0000 Subject: [PATCH] UnmapPages(), UnmapArea(): Fixed incorrect check. All actually mapped pages would be skipped. Concerned non-x86 only, as for x86 the methods are overridden. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37031 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/system/kernel/vm/VMTranslationMap.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/system/kernel/vm/VMTranslationMap.cpp b/src/system/kernel/vm/VMTranslationMap.cpp index 365ca161ee..d450d50fd6 100644 --- a/src/system/kernel/vm/VMTranslationMap.cpp +++ b/src/system/kernel/vm/VMTranslationMap.cpp @@ -47,7 +47,7 @@ VMTranslationMap::UnmapPages(VMArea* area, addr_t base, size_t size, phys_addr_t physicalAddress; uint32 flags; if (Query(address, &physicalAddress, &flags) == B_OK - && (flags & PAGE_PRESENT) == 0) { + && (flags & PAGE_PRESENT) != 0) { vm_page* page = vm_lookup_page(physicalAddress / B_PAGE_SIZE); if (page != NULL) { DEBUG_PAGE_ACCESS_START(page); @@ -88,7 +88,7 @@ VMTranslationMap::UnmapArea(VMArea* area, bool deletingAddressSpace, phys_addr_t physicalAddress; uint32 flags; if (Query(address, &physicalAddress, &flags) == B_OK - && (flags & PAGE_PRESENT) == 0) { + && (flags & PAGE_PRESENT) != 0) { vm_page* page = vm_lookup_page(physicalAddress / B_PAGE_SIZE); if (page != NULL) { DEBUG_PAGE_ACCESS_START(page);