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:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user