qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v2 3/3] s390x/pci: add iommu replay callback


From: Cornelia Huck
Subject: Re: [Qemu-devel] [PATCH v2 3/3] s390x/pci: add iommu replay callback
Date: Tue, 5 Sep 2017 11:28:22 +0200

On Fri,  1 Sep 2017 06:22:58 +0200
Yi Min Zhao <address@hidden> wrote:

> Let's introduce iommu replay callback for s390 pci iommu memory region.
> Currently we don't need any dma mapping replay. So let it return
> directly. This implementation will avoid meaningless loops calling
> translation callback.
> 
> Reviewed-by: Pierre Morel <address@hidden>
> Reviewed-by: Halil Pasic <address@hidden>
> Signed-off-by: Yi Min Zhao <address@hidden>
> ---
>  hw/s390x/s390-pci-bus.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c
> index bd8a3e1e1c..69f45e3715 100644
> --- a/hw/s390x/s390-pci-bus.c
> +++ b/hw/s390x/s390-pci-bus.c
> @@ -397,6 +397,16 @@ static IOMMUTLBEntry 
> s390_translate_iommu(IOMMUMemoryRegion *mr, hwaddr addr,
>      return ret;
>  }
>  
> +static void s390_pci_iommu_replay(IOMMUMemoryRegion *iommu,
> +                                  IOMMUNotifier *notifier)
> +{
> +    /* It's impossible to plug a pci device on s390x that already has iommu
> +     * mappings which need to be replayed, that is due to the "one iommu per
> +     * zpci device" construct. So we don't need iommu replay currently.

I must say that 'currently' still throws me off. Does this refer to
vfio? If yes, reword to something like 'Should we support migration of
vfio-pci devices in the future, we need to revisit this.'?

> +     */
> +    return;
> +}
> +
>  static S390PCIIOMMU *s390_pci_get_iommu(S390pciState *s, PCIBus *bus,
>                                          int devfn)
>  {
> @@ -1045,6 +1055,7 @@ static void 
> s390_iommu_memory_region_class_init(ObjectClass *klass, void *data)
>      IOMMUMemoryRegionClass *imrc = IOMMU_MEMORY_REGION_CLASS(klass);
>  
>      imrc->translate = s390_translate_iommu;
> +    imrc->replay = s390_pci_iommu_replay;
>  }
>  
>  static const TypeInfo s390_iommu_memory_region_info = {




reply via email to

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