Lines Matching refs:iotlb
429 IOMMUTLBEntry iotlb; in address_space_translate_iommu() local
435 iotlb = imrc->translate(iommu_mr, addr, is_write ? in address_space_translate_iommu()
438 if (!(iotlb.perm & (1 << is_write))) { in address_space_translate_iommu()
442 addr = ((iotlb.translated_addr & ~iotlb.addr_mask) in address_space_translate_iommu()
443 | (addr & iotlb.addr_mask)); in address_space_translate_iommu()
444 page_mask &= iotlb.addr_mask; in address_space_translate_iommu()
445 *plen_out = MIN(*plen_out, (addr | iotlb.addr_mask) - addr + 1); in address_space_translate_iommu()
446 *target_as = iotlb.target_as; in address_space_translate_iommu()
449 address_space_to_dispatch(iotlb.target_as), addr, xlat, in address_space_translate_iommu()
588 static void tcg_iommu_unmap_notify(IOMMUNotifier *n, IOMMUTLBEntry *iotlb) in tcg_iommu_unmap_notify() argument
680 IOMMUTLBEntry iotlb; in address_space_translate_for_iotlb() local
700 iotlb = imrc->translate(iommu_mr, addr, IOMMU_NONE, iommu_idx); in address_space_translate_for_iotlb()
701 addr = ((iotlb.translated_addr & ~iotlb.addr_mask) in address_space_translate_for_iotlb()
702 | (addr & iotlb.addr_mask)); in address_space_translate_for_iotlb()
707 if (!(iotlb.perm & IOMMU_RO)) { in address_space_translate_for_iotlb()
710 if (!(iotlb.perm & IOMMU_WO)) { in address_space_translate_for_iotlb()
718 d = flatview_to_dispatch(address_space_to_flatview(iotlb.target_as)); in address_space_translate_for_iotlb()