On Thu,  6 Feb 2025 14:14:28 +0100
Cédric Le Goater <c...@redhat.com> wrote:

> MIME-Version: 1.0
> Content-Type: text/plain; charset=UTF-8
> Content-Transfer-Encoding: 8bit
> 
> Hello,
> 
> Under certain circumstances, a MMIO region of a device fails to map
> because the region is outside the supported IOVA ranges of the VM. In
> this case, PCI peer-to-peer transactions on BARs are not supported.
> This typically occurs when the IOMMU address space width is less than
> the physical address width, as can be the case on some Intel consumer
> processors or when using a vIOMMU device with default settings.
> 
> This series tries to clarify the error message reported to the user.
> 
> Thanks,
> 
> C.
> 
> Changes in v3:
> 
>  - Fixed warn_report_err_once()
>  - Improved commit logs a bit 
>  - Dropped check on compatibility of CPU and IOMMU address space
>    width. Will address later in its own series.
> 
> Changes in v2:
> 
>  - Removed advice on how to resolve the issue. Diagnostic is enough.
>  - Introduced helpers
>  - Checked device type, since this only applies to PCI
>  - Added cleanup
>  
> Cédric Le Goater (7):
>   util/error: Introduce warn_report_err_once()
>   vfio/pci: Replace "iommu_device" by "vIOMMU"
>   vfio: Rephrase comment in vfio_listener_region_add() error path
>   vfio: Introduce vfio_get_vfio_device()
>   vfio: Improve error reporting when MMIO region mapping fails
>   vfio: Remove reports of DMA mapping errors in backends
>   vfio: Remove superfluous error report in vfio_listener_region_add()
> 
>  include/hw/vfio/vfio-common.h |  1 +
>  include/qapi/error.h          | 12 +++++++++++
>  backends/iommufd.c            |  3 ---
>  hw/vfio/common.c              | 40 +++++++++++++++++++++++++----------
>  hw/vfio/container.c           |  2 --
>  hw/vfio/helpers.c             | 10 +++++++++
>  hw/vfio/pci.c                 |  2 +-
>  util/error.c                  | 11 ++++++++++
>  8 files changed, 64 insertions(+), 17 deletions(-)
> 

Reviewed-by: Alex Williamson <alex.william...@redhat.com>


Reply via email to