|
@@ -1620,12 +1620,10 @@ uint64_t memory_region_iommu_get_min_page_size(MemoryRegion *mr)
|
|
|
return TARGET_PAGE_SIZE;
|
|
|
}
|
|
|
|
|
|
-void memory_region_iommu_replay(MemoryRegion *mr, IOMMUNotifier *n,
|
|
|
- bool is_write)
|
|
|
+void memory_region_iommu_replay(MemoryRegion *mr, IOMMUNotifier *n)
|
|
|
{
|
|
|
hwaddr addr, granularity;
|
|
|
IOMMUTLBEntry iotlb;
|
|
|
- IOMMUAccessFlags flag = is_write ? IOMMU_WO : IOMMU_RO;
|
|
|
|
|
|
/* If the IOMMU has its own replay callback, override */
|
|
|
if (mr->iommu_ops->replay) {
|
|
@@ -1636,7 +1634,7 @@ void memory_region_iommu_replay(MemoryRegion *mr, IOMMUNotifier *n,
|
|
|
granularity = memory_region_iommu_get_min_page_size(mr);
|
|
|
|
|
|
for (addr = 0; addr < memory_region_size(mr); addr += granularity) {
|
|
|
- iotlb = mr->iommu_ops->translate(mr, addr, flag);
|
|
|
+ iotlb = mr->iommu_ops->translate(mr, addr, IOMMU_NONE);
|
|
|
if (iotlb.perm != IOMMU_NONE) {
|
|
|
n->notify(n, &iotlb);
|
|
|
}
|
|
@@ -1654,7 +1652,7 @@ void memory_region_iommu_replay_all(MemoryRegion *mr)
|
|
|
IOMMUNotifier *notifier;
|
|
|
|
|
|
IOMMU_NOTIFIER_FOREACH(notifier, mr) {
|
|
|
- memory_region_iommu_replay(mr, notifier, false);
|
|
|
+ memory_region_iommu_replay(mr, notifier);
|
|
|
}
|
|
|
}
|
|
|
|