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
This commit is contained in:
Ingo Weinhold
2010-06-06 12:42:01 +00:00
parent a478859f51
commit 0d319095f4
+2 -2
View File
@@ -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);