Changeset View
Changeset View
Standalone View
Standalone View
head/sys/vm/vm_map.c
Show First 20 Lines • Show All 3,185 Lines • ▼ Show 20 Lines | if ((entry->protection & (VM_PROT_READ | VM_PROT_EXECUTE)) == 0 | ||||
vm_map_unlock(map); | vm_map_unlock(map); | ||||
faddr = saved_start; | faddr = saved_start; | ||||
do { | do { | ||||
/* | /* | ||||
* Simulate a fault to get the page and enter | * Simulate a fault to get the page and enter | ||||
* it into the physical map. | * it into the physical map. | ||||
*/ | */ | ||||
if ((rv = vm_fault(map, faddr, VM_PROT_NONE, | if ((rv = vm_fault(map, faddr, | ||||
VM_FAULT_WIRE)) != KERN_SUCCESS) | VM_PROT_NONE, VM_FAULT_WIRE, NULL)) != | ||||
KERN_SUCCESS) | |||||
break; | break; | ||||
} while ((faddr += PAGE_SIZE) < saved_end); | } while ((faddr += PAGE_SIZE) < saved_end); | ||||
vm_map_lock(map); | vm_map_lock(map); | ||||
vm_map_unbusy(map); | vm_map_unbusy(map); | ||||
if (last_timestamp + 1 != map->timestamp) { | if (last_timestamp + 1 != map->timestamp) { | ||||
/* | /* | ||||
* Look again for the entry because the map was | * Look again for the entry because the map was | ||||
* modified while it was unlocked. The entry | * modified while it was unlocked. The entry | ||||
▲ Show 20 Lines • Show All 1,722 Lines • Show Last 20 Lines |