Lines Matching defs:gpa
440 vtd_update_mapping(void *arg, vm_paddr_t gpa, vm_paddr_t hpa, uint64_t len,
451 KASSERT(gpa + len > gpa, ("%s: invalid gpa range %#lx/%#lx", __func__,
452 gpa, len));
453 KASSERT(gpa + len <= dom->maxaddr, ("%s: gpa range %#lx/%#lx beyond "
454 "domain maxaddr %#lx", __func__, gpa, len, dom->maxaddr));
456 if (gpa & PAGE_MASK)
457 panic("vtd_create_mapping: unaligned gpa 0x%0lx", gpa);
470 * - alignment of the region starting at 'gpa' and 'hpa'
477 (gpa & (spsize - 1)) == 0 &&
489 ptpindex = (gpa >> ptpshift) & 0x1FF;
510 if ((gpa & ((1UL << ptpshift) - 1)) != 0)
511 panic("gpa 0x%lx and ptpshift %d mismatch", gpa, ptpshift);
514 * Update the 'gpa' -> 'hpa' mapping
529 vtd_create_mapping(void *arg, vm_paddr_t gpa, vm_paddr_t hpa, uint64_t len)
532 return (vtd_update_mapping(arg, gpa, hpa, len, CREATE_MAPPING));
536 vtd_remove_mapping(void *arg, vm_paddr_t gpa, uint64_t len)
539 return (vtd_update_mapping(arg, gpa, 0, len, REMOVE_MAPPING));