/openbmc/qemu/hw/virtio/ |
H A D | virtio-iommu.c | 58 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 D | vhost-vdpa.c | 262 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 D | vhost.c | 882 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 D | trace-events | 124 virtio_iommu_init_iommu_mr(char *iommu_mr) "init %s"
|
/openbmc/qemu/system/ |
H A D | memory.c | 1919 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 D | physmem.c | 415 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 D | spapr.c | 241 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 D | common.c | 602 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 D | container-base.c | 110 MEMORY_REGION(giommu->iommu_mr), &giommu->n); in vfio_container_instance_finalize()
|
/openbmc/qemu/hw/ppc/ |
H A D | spapr_iommu.c | 144 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 D | memory.h | 1766 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 D | virtio-iommu.h | 40 IOMMUMemoryRegion iommu_mr; member
|
H A D | vhost-vdpa.h | 88 IOMMUMemoryRegion *iommu_mr; member
|
/openbmc/qemu/hw/s390x/ |
H A D | s390-pci-bus.c | 536 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 D | s390-pci-inst.c | 645 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 D | vfio-container-base.h | 57 IOMMUMemoryRegion *iommu_mr; member
|
/openbmc/qemu/hw/riscv/ |
H A D | riscv-iommu.c | 2281 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 D | s390-pci-bus.h | 279 IOMMUMemoryRegion iommu_mr; member
|
/openbmc/qemu/hw/i386/ |
H A D | intel_iommu.c | 4061 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()
|