dva
u_long bmindex, dva, pa, pteindex, va;
dva = vm->hdr.dmapbase + pa;
if (!_kvm_visit_cb(kd, cb, arg, pa, va, dva,
dva = vm->hdr.dmapbase + pa;
if (vm->hdr.dmapend < (dva + kd->vmst->page_size))
if (!_kvm_visit_cb(kd, cb, arg, pa, va, dva,
u_long bmindex, dva, pa, pdeindex, va;
dva = vm->hdr.dmapbase + pa;
if (!_kvm_visit_cb(kd, cb, arg, pa, va, dva,
dva = vm->hdr.dmapbase + pa;
if (!_kvm_visit_cb(kd, cb, arg, pa, va, dva,
dva = vm->hdr.dmapbase + pa;
if (vm->hdr.dmapend < (dva + pgsz))
if (!_kvm_visit_cb(kd, cb, arg, pa, va, dva, prot, pgsz, 0)) {
u_long dva, pa, pteindex, va;
dva = 0; /* no direct map on this platform */
if (!_kvm_visit_cb(kd, cb, arg, pa, va, dva,
_i386_iterator_next(struct i386_iter *it, u_long *pa, u_long *va, u_long *dva,
*dva = 0;
*dva = 0;
u_long dva, pa, va;
while (_i386_iterator_next(&it, &pa, &va, &dva, &prot)) {
if (!_kvm_visit_cb(kd, cb, arg, pa, va, dva,
u_long dva, pa, va;
dva = vm->hdr.dmapbase + pa;
if (!_kvm_visit_cb(kd, cb, arg, pa, va, dva,
u_long bmindex, dva, pa, pteindex, va;
dva = vm->hdr.dmapbase + pa;
if (!_kvm_visit_cb(kd, cb, arg, pa, va, dva,
dva = vm->hdr.dmapbase + pa;
if (vm->hdr.dmapend < (dva + RISCV_PAGE_SIZE))
if (!_kvm_visit_cb(kd, cb, arg, pa, va, dva,
for (int dva = 0; dva < BP_GET_NDVAS(bp); dva++) {
DVA_GET_VDEV(&bp->blk_dva[dva]));
const dva_t *dva = &bp->blk_dva[i];
if (!dva->dva_word[0] && !dva->dva_word[1])
vdevid = DVA_GET_VDEV(dva);
offset = DVA_GET_OFFSET(dva);
if (DVA_GET_GANG(dva))
vm_offset_t va, va_next, dva;
dva = MIN((sva & ~L3C_OFFSET) +
dl3 = pmap_l2_to_l3(l2, dva);
pmap_remove_l3(pmap, dl3, dva,
#define DVA_GET_ASIZE(dva) \
BF64_GET_SB((dva)->dva_word[0], 0, SPA_ASIZEBITS, SPA_MINBLOCKSHIFT, 0)
#define DVA_SET_ASIZE(dva, x) \
BF64_SET_SB((dva)->dva_word[0], 0, SPA_ASIZEBITS, \
#define DVA_GET_GRID(dva) BF64_GET((dva)->dva_word[0], 24, 8)
#define DVA_SET_GRID(dva, x) BF64_SET((dva)->dva_word[0], 24, 8, x)
#define DVA_GET_VDEV(dva) BF64_GET((dva)->dva_word[0], 32, 32)
#define DVA_SET_VDEV(dva, x) BF64_SET((dva)->dva_word[0], 32, 32, x)
#define DVA_GET_OFFSET(dva) \
BF64_GET_SB((dva)->dva_word[1], 0, 63, SPA_MINBLOCKSHIFT, 0)
#define DVA_SET_OFFSET(dva, x) \
BF64_SET_SB((dva)->dva_word[1], 0, 63, SPA_MINBLOCKSHIFT, 0, x)
#define DVA_GET_GANG(dva) BF64_GET((dva)->dva_word[1], 63, 1)
#define DVA_SET_GANG(dva, x) BF64_SET((dva)->dva_word[1], 63, 1, x)
#define DVA_IS_VALID(dva) (DVA_GET_ASIZE(dva) != 0)
#define DVA_IS_EMPTY(dva) ((dva)->dva_word[0] == 0ULL && \
(dva)->dva_word[1] == 0ULL)
const dva_t *dva = BP_IDENTITY(bp);
ZIO_SET_CHECKSUM(zcp, DVA_GET_VDEV(dva), DVA_GET_OFFSET(dva), txg, 0);
vm_offset_t sva, dva;
dva = copy_page_dst_va;
mmu_booke_kenter(dva, VM_PAGE_TO_PHYS(dm));
memcpy((caddr_t)dva, (caddr_t)sva, PAGE_SIZE);
mmu_booke_kremove(dva);
vm_offset_t sva, dva;
dva = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(dm));
memcpy((caddr_t)dva, (caddr_t)sva, PAGE_SIZE);
dva_t *dva;
dva = BP_IDENTITY(bp);
DVA_SET_VDEV(dva, 0);
DVA_SET_OFFSET(dva, off);
DVA_SET_ASIZE(dva, size);