Changeset View
Changeset View
Standalone View
Standalone View
sys/kern/kern_kcov.c
Show First 20 Lines • Show All 377 Lines • ▼ Show 20 Lines | if ((info->kvaddr = kva_alloc(info->bufsize)) == 0) | ||||
return (ENOMEM); | return (ENOMEM); | ||||
info->bufobj = vm_pager_allocate(OBJT_PHYS, 0, info->bufsize, | info->bufobj = vm_pager_allocate(OBJT_PHYS, 0, info->bufsize, | ||||
PROT_READ | PROT_WRITE, 0, curthread->td_ucred); | PROT_READ | PROT_WRITE, 0, curthread->td_ucred); | ||||
VM_OBJECT_WLOCK(info->bufobj); | VM_OBJECT_WLOCK(info->bufobj); | ||||
for (n = 0; n < pages; n++) { | for (n = 0; n < pages; n++) { | ||||
m = vm_page_grab(info->bufobj, n, | m = vm_page_grab(info->bufobj, n, | ||||
VM_ALLOC_ZERO | VM_ALLOC_WIRED); | VM_ALLOC_ZERO | VM_ALLOC_WIRED | VM_ALLOC_NOBUSY); | ||||
vm_page_valid(m); | |||||
vm_page_xunbusy(m); | |||||
pmap_qenter(info->kvaddr + n * PAGE_SIZE, &m, 1); | pmap_qenter(info->kvaddr + n * PAGE_SIZE, &m, 1); | ||||
} | } | ||||
VM_OBJECT_WUNLOCK(info->bufobj); | VM_OBJECT_WUNLOCK(info->bufobj); | ||||
info->entries = entries; | info->entries = entries; | ||||
return (0); | return (0); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 183 Lines • Show Last 20 Lines |