Author: bonefish Date: 2010-06-06 14:42:01 +0200 (Sun, 06 Jun 2010) New Revision: 37031 Changeset: http://dev.haiku-os.org/changeset/37031/haiku Modified: haiku/trunk/src/system/kernel/vm/VMTranslationMap.cpp Log: UnmapPages(), UnmapArea(): Fixed incorrect check. All actually mapped pages would be skipped. Concerned non-x86 only, as for x86 the methods are overridden. Modified: haiku/trunk/src/system/kernel/vm/VMTranslationMap.cpp =================================================================== --- haiku/trunk/src/system/kernel/vm/VMTranslationMap.cpp 2010-06-06 12:11:43 UTC (rev 37030) +++ haiku/trunk/src/system/kernel/vm/VMTranslationMap.cpp 2010-06-06 12:42:01 UTC (rev 37031) @@ -47,7 +47,7 @@ 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 @@ 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);