On Fri, Oct 16, 2020 at 11:12:35AM +0200, Auger Eric wrote:
> > +static gboolean virtio_iommu_remap(gpointer key, gpointer value, gpointer
> > data)
> > +{
> > + VirtIOIOMMUMapping *mapping = (VirtIOIOMMUMapping *) value;
> > + VirtIOIOMMUInterval *interval = (VirtIOIOMMUInterval *) key;
> > + IOMMUMemoryRegion *mr = (IOMMUMemoryRegion *) data;
> > +
> > + trace_virtio_iommu_remap(mr->parent_obj.name, interval->low,
> > interval->high,
> > + mapping->phys_addr);
> > + virtio_iommu_notify_unmap(mr, interval->low, interval->high);
> > + virtio_iommu_notify_map(mr, interval->low, interval->high,
> > + mapping->phys_addr);
> I don't get the preliminary unmap with the same data. Why isn't the map
> sufficient to replay?
>
> The default implementation only notifies for valid entries.
Yes it should be enough, I'll remove the unmap
Thanks,
Jean