Changeset View
Changeset View
Standalone View
Standalone View
sys/compat/linuxkpi/common/src/linux_page.c
Show First 20 Lines • Show All 152 Lines • ▼ Show 20 Lines | |||||
{ | { | ||||
if (PMAP_HAS_DMAP) { | if (PMAP_HAS_DMAP) { | ||||
unsigned long npages = 1UL << order; | unsigned long npages = 1UL << order; | ||||
unsigned long x; | unsigned long x; | ||||
for (x = 0; x != npages; x++) { | for (x = 0; x != npages; x++) { | ||||
vm_page_t pgo = page + x; | vm_page_t pgo = page + x; | ||||
vm_page_lock(pgo); | |||||
if (vm_page_unwire_noq(pgo)) | if (vm_page_unwire_noq(pgo)) | ||||
vm_page_free(pgo); | vm_page_free(pgo); | ||||
vm_page_unlock(pgo); | |||||
} | } | ||||
} else { | } else { | ||||
vm_offset_t vaddr; | vm_offset_t vaddr; | ||||
vaddr = (vm_offset_t)page_address(page); | vaddr = (vm_offset_t)page_address(page); | ||||
linux_free_kmem(vaddr, order); | linux_free_kmem(vaddr, order); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 212 Lines • Show Last 20 Lines |