Changeset View
Changeset View
Standalone View
Standalone View
lib/libkvm/kvm_private.c
Show First 20 Lines • Show All 749 Lines • ▼ Show 20 Lines | |||||
int | int | ||||
_kvm_visit_cb(kvm_t *kd, kvm_walk_pages_cb_t *cb, void *arg, u_long pa, | _kvm_visit_cb(kvm_t *kd, kvm_walk_pages_cb_t *cb, void *arg, u_long pa, | ||||
u_long kmap_vaddr, u_long dmap_vaddr, vm_prot_t prot, size_t len, | u_long kmap_vaddr, u_long dmap_vaddr, vm_prot_t prot, size_t len, | ||||
unsigned int page_size) | unsigned int page_size) | ||||
{ | { | ||||
unsigned int pgsz = page_size ? page_size : len; | unsigned int pgsz = page_size ? page_size : len; | ||||
struct kvm_page p = { | struct kvm_page p = { | ||||
.version = LIBKVM_WALK_PAGES_VERSION, | .kp_version = LIBKVM_WALK_PAGES_VERSION, | ||||
.paddr = pa, | .kp_paddr = pa, | ||||
.kmap_vaddr = kmap_vaddr, | .kp_kmap_vaddr = kmap_vaddr, | ||||
.dmap_vaddr = dmap_vaddr, | .kp_dmap_vaddr = dmap_vaddr, | ||||
.prot = prot, | .kp_prot = prot, | ||||
.offset = _kvm_pt_find(kd, pa, pgsz), | .kp_offset = _kvm_pt_find(kd, pa, pgsz), | ||||
.len = len, | .kp_len = len, | ||||
}; | }; | ||||
return cb(&p, arg); | return cb(&p, arg); | ||||
} | } |