VTD_PAGE_SIZE
va = km_alloc(VTD_PAGE_SIZE, &kv_page, &kp_zero, kd);
iommu_flush_cache(iommu, va, VTD_PAGE_SIZE);
km_free(va, VTD_PAGE_SIZE, &kv_page, &kp_zero);
bytes = (uint64_t)VTD_PAGE_SIZE << am;
end = roundup(segs[i].ds_addr + segs[i].ds_len, VTD_PAGE_SIZE);
npages += (end - start) / VTD_PAGE_SIZE;
end = roundup(segs[i].ds_addr + segs[i].ds_len, VTD_PAGE_SIZE);
addr += (bus_addr_t)((uint64_t)VTD_PAGE_SIZE << am);
end = roundup(segs[i].ds_addr + segs[i].ds_len, VTD_PAGE_SIZE);
addr += (bus_addr_t)((uint64_t)VTD_PAGE_SIZE << am);
end = roundup(segs[i].ds_addr + segs[i].ds_len, VTD_PAGE_SIZE);
addr += (bus_addr_t)((uint64_t)VTD_PAGE_SIZE << am);
int len = VTD_PAGE_SIZE;
end = roundup(segs[i].ds_addr + segs[i].ds_len, VTD_PAGE_SIZE);
for (addr = start; addr < end; addr += VTD_PAGE_SIZE) {
start += VTD_PAGE_SIZE;
end = roundup(seg->ds_addr + seg->ds_len, VTD_PAGE_SIZE);
for (idx = 0; idx < alen; idx += VTD_PAGE_SIZE)
end = roundup(seg->ds_addr + seg->ds_len, VTD_PAGE_SIZE);
align = MAX(map->dm_segs[0]._ds_align, VTD_PAGE_SIZE);
end = roundup(seg->ds_addr + seg->ds_len, VTD_PAGE_SIZE);
for (idx = 0; idx < alen; idx += VTD_PAGE_SIZE) {