qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] hw/virtio/virtio-iommu: Enforce power-of-two notify for both


From: Jean-Philippe Brucker
Subject: Re: [PATCH] hw/virtio/virtio-iommu: Enforce power-of-two notify for both MAP and UNMAP
Date: Mon, 18 Jul 2022 14:45:44 +0100

Hi Tina,

On Fri, Jul 15, 2022 at 12:09:23AM +0000, Zhang, Tina wrote:
> > +static void virtio_iommu_notify_map_unmap(IOMMUMemoryRegion *mr,
> > +                                          IOMMUTLBEvent *event,
> > +                                          hwaddr virt_start, hwaddr
> > +virt_end) {
> > +    uint64_t delta = virt_end - virt_start;
> > +
> > +    event->entry.iova = virt_start;
> > +    event->entry.addr_mask = delta;
> > +
> > +    if (delta == UINT64_MAX) {
> > +        memory_region_notify_iommu(mr, 0, *event);
> > +    }
> > +
> > +    while (virt_start != virt_end + 1) {
> > +        uint64_t mask = dma_aligned_pow2_mask(virt_start, virt_end,
> > + 64);
> > +
> > +        event->entry.addr_mask = mask;
> > +        event->entry.iova = virt_start;
> > +        memory_region_notify_iommu(mr, 0, *event);
> > +        virt_start += mask + 1;
> 
> Hi Jean, 
> 
> We also need to increase the event->translated_addr for the map request here.

Ah right, I'll fix this

Thanks,
Jean



reply via email to

[Prev in Thread] Current Thread [Next in Thread]