Home
last modified time | relevance | path

Searched refs:iommu_mr (Results 1 – 19 of 19) sorted by relevance

/openbmc/qemu/hw/virtio/
H A Dvirtio-iommu.c58 IOMMUMemoryRegion *iommu_mr; member
127 memory_region_set_enabled(MEMORY_REGION(&sdev->iommu_mr), true); in virtio_iommu_switch_address_space()
129 memory_region_set_enabled(MEMORY_REGION(&sdev->iommu_mr), false); in virtio_iommu_switch_address_space()
190 return &dev->iommu_mr; in virtio_iommu_mr()
306 IOMMUDevice *sdev = container_of(ep->iommu_mr, IOMMUDevice, iommu_mr); in virtio_iommu_detach_endpoint_from_domain()
313 ep->iommu_mr); in virtio_iommu_detach_endpoint_from_domain()
335 ep->iommu_mr = mr; in virtio_iommu_get_endpoint()
449 memory_region_init_iommu(&sdev->iommu_mr, sizeof(sdev->iommu_mr), in virtio_iommu_find_add_as()
460 MEMORY_REGION(&sdev->iommu_mr), in virtio_iommu_find_add_as()
523 trace_virtio_iommu_host_resv_regions(sdev->iommu_mr.parent_obj.name, i, in rebuild_resv_regions()
[all …]
H A Dvhost-vdpa.c262 IOMMUMemoryRegion *iommu_mr; in vhost_vdpa_iommu_region_add() local
265 iommu_mr = IOMMU_MEMORY_REGION(section->mr); in vhost_vdpa_iommu_region_add()
271 iommu_idx = memory_region_iommu_attrs_to_index(iommu_mr, in vhost_vdpa_iommu_region_add()
273 iommu->iommu_mr = iommu_mr; in vhost_vdpa_iommu_region_add()
290 memory_region_iommu_replay(iommu->iommu_mr, &iommu->n); in vhost_vdpa_iommu_region_add()
304 if (MEMORY_REGION(iommu->iommu_mr) == section->mr && in vhost_vdpa_iommu_region_del()
H A Dvhost.c882 IOMMUMemoryRegion *iommu_mr; in vhost_iommu_region_add() local
888 iommu_mr = IOMMU_MEMORY_REGION(section->mr); in vhost_iommu_region_add()
894 iommu_idx = memory_region_iommu_attrs_to_index(iommu_mr, in vhost_iommu_region_add()
H A Dtrace-events124 virtio_iommu_init_iommu_mr(char *iommu_mr) "init %s"
/openbmc/qemu/system/
H A Dmemory.c1919 struct IOMMUMemoryRegion *iommu_mr; in memory_region_init_iommu() local
1925 iommu_mr = IOMMU_MEMORY_REGION(mr); in memory_region_init_iommu()
1927 QLIST_INIT(&iommu_mr->iommu_notify); in memory_region_init_iommu()
1928 iommu_mr->iommu_notify_flags = IOMMU_NOTIFIER_NONE; in memory_region_init_iommu()
2041 static int memory_region_update_iommu_notify_flags(IOMMUMemoryRegion *iommu_mr, in memory_region_update_iommu_notify_flags() argument
2046 IOMMUMemoryRegionClass *imrc = IOMMU_MEMORY_REGION_GET_CLASS(iommu_mr); in memory_region_update_iommu_notify_flags()
2049 IOMMU_NOTIFIER_FOREACH(iommu_notifier, iommu_mr) { in memory_region_update_iommu_notify_flags()
2053 if (flags != iommu_mr->iommu_notify_flags && imrc->notify_flag_changed) { in memory_region_update_iommu_notify_flags()
2054 ret = imrc->notify_flag_changed(iommu_mr, in memory_region_update_iommu_notify_flags()
2055 iommu_mr->iommu_notify_flags, in memory_region_update_iommu_notify_flags()
[all …]
H A Dphysmem.c415 static MemoryRegionSection address_space_translate_iommu(IOMMUMemoryRegion *iommu_mr, in address_space_translate_iommu() argument
429 IOMMUMemoryRegionClass *imrc = memory_region_get_iommu_class_nocheck(iommu_mr); in address_space_translate_iommu()
434 iommu_idx = imrc->attrs_to_index(iommu_mr, attrs); in address_space_translate_iommu()
437 iotlb = imrc->translate(iommu_mr, addr, is_write ? in address_space_translate_iommu()
454 iommu_mr = memory_region_get_iommu(section->mr); in address_space_translate_iommu()
455 } while (unlikely(iommu_mr)); in address_space_translate_iommu()
497 IOMMUMemoryRegion *iommu_mr; in flatview_do_translate() local
508 iommu_mr = memory_region_get_iommu(section->mr); in flatview_do_translate()
509 if (unlikely(iommu_mr)) { in flatview_do_translate()
510 return address_space_translate_iommu(iommu_mr, xlat, in flatview_do_translate()
[all …]
/openbmc/qemu/hw/vfio/
H A Dspapr.c241 IOMMUMemoryRegion *iommu_mr = IOMMU_MEMORY_REGION(section->mr); in vfio_spapr_create_window() local
242 uint64_t pagesize = memory_region_iommu_get_min_page_size(iommu_mr), pgmask; in vfio_spapr_create_window()
259 memory_region_iommu_get_min_page_size(iommu_mr), in vfio_spapr_create_window()
394 IOMMUMemoryRegion *iommu_mr = IOMMU_MEMORY_REGION(section->mr); in vfio_spapr_container_add_section_window() local
402 if (!memory_region_iommu_get_attr(iommu_mr, IOMMU_ATTR_SPAPR_TCE_FD, in vfio_spapr_container_add_section_window()
H A Dcommon.c602 IOMMUMemoryRegion *iommu_mr = IOMMU_MEMORY_REGION(section->mr); in vfio_listener_region_add() local
613 giommu->iommu_mr = iommu_mr; in vfio_listener_region_add()
620 iommu_idx = memory_region_iommu_attrs_to_index(iommu_mr, in vfio_listener_region_add()
635 memory_region_iommu_replay(giommu->iommu_mr, &giommu->n); in vfio_listener_region_add()
733 if (MEMORY_REGION(giommu->iommu_mr) == section->mr && in vfio_listener_region_del()
1311 if (MEMORY_REGION(giommu->iommu_mr) == section->mr && in vfio_sync_iommu_dirty_bitmap()
1323 idx = memory_region_iommu_attrs_to_index(giommu->iommu_mr, in vfio_sync_iommu_dirty_bitmap()
1333 memory_region_iommu_replay(giommu->iommu_mr, &gdn.n); in vfio_sync_iommu_dirty_bitmap()
H A Dcontainer-base.c110 MEMORY_REGION(giommu->iommu_mr), &giommu->n); in vfio_container_instance_finalize()
/openbmc/qemu/hw/ppc/
H A Dspapr_iommu.c144 static void spapr_tce_replay(IOMMUMemoryRegion *iommu_mr, IOMMUNotifier *n) in spapr_tce_replay() argument
146 MemoryRegion *mr = MEMORY_REGION(iommu_mr); in spapr_tce_replay()
147 IOMMUMemoryRegionClass *imrc = IOMMU_MEMORY_REGION_GET_CLASS(iommu_mr); in spapr_tce_replay()
150 SpaprTceTable *tcet = container_of(iommu_mr, SpaprTceTable, iommu); in spapr_tce_replay()
156 granularity = memory_region_iommu_get_min_page_size(iommu_mr); in spapr_tce_replay()
159 iotlb = imrc->translate(iommu_mr, addr, IOMMU_NONE, n->iommu_idx); in spapr_tce_replay()
/openbmc/qemu/include/exec/
H A Dmemory.h1766 IOMMUMemoryRegion *iommu_mr) in memory_region_get_iommu_class_nocheck() argument
1768 return (IOMMUMemoryRegionClass *) (((Object *)iommu_mr)->class); in memory_region_get_iommu_class_nocheck()
1781 uint64_t memory_region_iommu_get_min_page_size(IOMMUMemoryRegion *iommu_mr);
1795 void memory_region_notify_iommu(IOMMUMemoryRegion *iommu_mr,
1852 void memory_region_iommu_replay(IOMMUMemoryRegion *iommu_mr, IOMMUNotifier *n);
1877 int memory_region_iommu_get_attr(IOMMUMemoryRegion *iommu_mr,
1888 int memory_region_iommu_attrs_to_index(IOMMUMemoryRegion *iommu_mr,
1897 int memory_region_iommu_num_indexes(IOMMUMemoryRegion *iommu_mr);
/openbmc/qemu/include/hw/virtio/
H A Dvirtio-iommu.h40 IOMMUMemoryRegion iommu_mr; member
H A Dvhost-vdpa.h88 IOMMUMemoryRegion *iommu_mr; member
/openbmc/qemu/hw/s390x/
H A Ds390-pci-bus.c536 S390PCIIOMMU *iommu = container_of(mr, S390PCIIOMMU, iommu_mr); in s390_translate_iommu()
719 memory_region_init_iommu(&iommu->iommu_mr, sizeof(iommu->iommu_mr), in s390_pci_iommu_enable()
723 memory_region_add_subregion(&iommu->mr, 0, MEMORY_REGION(&iommu->iommu_mr)); in s390_pci_iommu_enable()
731 memory_region_del_subregion(&iommu->mr, MEMORY_REGION(&iommu->iommu_mr)); in s390_pci_iommu_disable()
732 object_unparent(OBJECT(&iommu->iommu_mr)); in s390_pci_iommu_disable()
H A Ds390-pci-inst.c645 memory_region_notify_iommu(&iommu->iommu_mr, 0, event); in s390_pci_update_iotlb()
663 memory_region_notify_iommu(&iommu->iommu_mr, 0, event); in s390_pci_update_iotlb()
687 memory_region_notify_iommu(&iommu->iommu_mr, 0, event); in s390_pci_batch_unmap()
/openbmc/qemu/include/hw/vfio/
H A Dvfio-container-base.h57 IOMMUMemoryRegion *iommu_mr; member
/openbmc/qemu/hw/riscv/
H A Driscv-iommu.c2281 IOMMUMemoryRegion *iommu_mr, hwaddr addr, in riscv_iommu_memory_region_translate() argument
2284 RISCVIOMMUSpace *as = container_of(iommu_mr, RISCVIOMMUSpace, iova_mr); in riscv_iommu_memory_region_translate()
2317 IOMMUMemoryRegion *iommu_mr, IOMMUNotifierFlag old, in riscv_iommu_memory_region_notify() argument
2320 RISCVIOMMUSpace *as = container_of(iommu_mr, RISCVIOMMUSpace, iova_mr); in riscv_iommu_memory_region_notify()
2324 trace_riscv_iommu_notifier_add(iommu_mr->parent_obj.name); in riscv_iommu_memory_region_notify()
2327 trace_riscv_iommu_notifier_del(iommu_mr->parent_obj.name); in riscv_iommu_memory_region_notify()
2382 static int riscv_iommu_memory_region_index(IOMMUMemoryRegion *iommu_mr, in riscv_iommu_memory_region_index() argument
2388 static int riscv_iommu_memory_region_index_len(IOMMUMemoryRegion *iommu_mr) in riscv_iommu_memory_region_index_len() argument
2390 RISCVIOMMUSpace *as = container_of(iommu_mr, RISCVIOMMUSpace, iova_mr); in riscv_iommu_memory_region_index_len()
/openbmc/qemu/include/hw/s390x/
H A Ds390-pci-bus.h279 IOMMUMemoryRegion iommu_mr; member
/openbmc/qemu/hw/i386/
H A Dintel_iommu.c4061 static void vtd_iommu_replay(IOMMUMemoryRegion *iommu_mr, IOMMUNotifier *n) in vtd_iommu_replay() argument
4063 VTDAddressSpace *vtd_as = container_of(iommu_mr, VTDAddressSpace, iommu); in vtd_iommu_replay()