Changeset View
Changeset View
Standalone View
Standalone View
sys/vm/phys_pager.c
Show First 20 Lines • Show All 174 Lines • ▼ Show 20 Lines | |||||
static int | static int | ||||
default_phys_pager_getpages(vm_object_t object, vm_page_t *m, int count, | default_phys_pager_getpages(vm_object_t object, vm_page_t *m, int count, | ||||
int *rbehind, int *rahead) | int *rbehind, int *rahead) | ||||
{ | { | ||||
int i; | int i; | ||||
for (i = 0; i < count; i++) { | for (i = 0; i < count; i++) { | ||||
if (vm_page_none_valid(m[i])) { | if (vm_page_none_valid(m[i])) { | ||||
if ((m[i]->flags & PG_ZERO) == 0) | |||||
pmap_zero_page(m[i]); | pmap_zero_page(m[i]); | ||||
vm_page_valid(m[i]); | vm_page_valid(m[i]); | ||||
} | } | ||||
KASSERT(vm_page_all_valid(m[i]), | KASSERT(vm_page_all_valid(m[i]), | ||||
("phys_pager_getpages: partially valid page %p", m[i])); | ("phys_pager_getpages: partially valid page %p", m[i])); | ||||
KASSERT(m[i]->dirty == 0, | KASSERT(m[i]->dirty == 0, | ||||
("phys_pager_getpages: dirty page %p", m[i])); | ("phys_pager_getpages: dirty page %p", m[i])); | ||||
} | } | ||||
if (rbehind) | if (rbehind) | ||||
▲ Show 20 Lines • Show All 117 Lines • Show Last 20 Lines |