Lines Matching defs:gpa
515 vtd_update_mapping(void *arg, vm_paddr_t gpa, vm_paddr_t hpa, uint64_t len,
526 KASSERT(gpa + len > gpa, ("%s: invalid gpa range %#lx/%#lx", __func__,
527 gpa, len));
528 KASSERT(gpa + len <= dom->maxaddr, ("%s: gpa range %#lx/%#lx beyond "
529 "domain maxaddr %#lx", __func__, gpa, len, dom->maxaddr));
531 if (gpa & PAGE_MASK)
532 panic("vtd_create_mapping: unaligned gpa 0x%0lx", gpa);
545 * - alignment of the region starting at 'gpa' and 'hpa'
552 (gpa & (spsize - 1)) == 0 &&
564 ptpindex = (gpa >> ptpshift) & 0x1FF;
585 if ((gpa & ((1UL << ptpshift) - 1)) != 0)
586 panic("gpa 0x%lx and ptpshift %d mismatch", gpa, ptpshift);
589 * Update the 'gpa' -> 'hpa' mapping
604 vtd_create_mapping(void *arg, vm_paddr_t gpa, vm_paddr_t hpa, uint64_t len)
607 return (vtd_update_mapping(arg, gpa, hpa, len, CREATE_MAPPING));
611 vtd_remove_mapping(void *arg, vm_paddr_t gpa, uint64_t len)
614 return (vtd_update_mapping(arg, gpa, 0, len, REMOVE_MAPPING));