> -Original Message-
> From: Tian, Kevin
> Sent: 14 August 2020 07:53
> To: Paul Durrant ; xen-devel@lists.xenproject.org
> Cc: Durrant, Paul ; Jan Beulich
> Subject: RE: [EXTERNAL] [PATCH v4 06/14] iommu: flush I/O TLB if iommu_map()
> or iommu_unmap() fail
>
> From: Paul Durrant
> Sent: Tuesday, August 4, 2020 9:42 PM
>
> From: Paul Durrant
>
> This patch adds a full I/O TLB flush to the error paths of iommu_map() and
> iommu_unmap().
>
> Without this change callers need constructs such as:
>
> rc = iommu_map/unmap(...)
> err = iommu_flush(...)
>
On 04.08.2020 15:42, Paul Durrant wrote:
> --- a/xen/drivers/passthrough/iommu.c
> +++ b/xen/drivers/passthrough/iommu.c
> @@ -274,6 +274,10 @@ int iommu_map(struct domain *d, dfn_t dfn, mfn_t mfn,
> break;
> }
>
> +/* Something went wrong so flush everything and clear flush fla
> -Original Message-
> From: Jan Beulich
> Sent: 05 August 2020 17:06
> To: Paul Durrant
> Cc: xen-devel@lists.xenproject.org; Paul Durrant
> Subject: Re: [PATCH v4 06/14] iommu: flush I/O TLB if iommu_map() or
> iommu_unmap() fail
>
> On 04.08.2020 15:42, P
On 04.08.2020 15:42, Paul Durrant wrote:
> From: Paul Durrant
>
> This patch adds a full I/O TLB flush to the error paths of iommu_map() and
> iommu_unmap().
>
> Without this change callers need constructs such as:
>
> rc = iommu_map/unmap(...)
> err = iommu_flush(...)
> if ( !rc )
> rc = err
From: Paul Durrant
This patch adds a full I/O TLB flush to the error paths of iommu_map() and
iommu_unmap().
Without this change callers need constructs such as:
rc = iommu_map/unmap(...)
err = iommu_flush(...)
if ( !rc )
rc = err;
With this change, it can be simplified to:
rc = iommu_map/u