[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 0/9]vfio: Improve error reporting when MMIO region mapping fai
From: |
Cédric Le Goater |
Subject: |
[PATCH v2 0/9]vfio: Improve error reporting when MMIO region mapping fails |
Date: |
Thu, 30 Jan 2025 14:43:37 +0100 |
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 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 v2:
- Removed advices 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 (9):
util/error: Introduce warn_report_once_err()
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
cpu: Introduce cpu_get_phys_bits()
vfio: Check compatibility of CPU and IOMMU address space width
vfio: Remove superfluous error report in vfio_listener_region_add()
include/hw/core/cpu.h | 9 +++++
include/hw/core/sysemu-cpu-ops.h | 6 ++++
include/hw/vfio/vfio-common.h | 1 +
include/qapi/error.h | 5 +++
backends/iommufd.c | 3 --
cpu-target.c | 5 +++
hw/core/cpu-system.c | 11 ++++++
hw/vfio/common.c | 61 ++++++++++++++++++++++++++------
hw/vfio/container.c | 2 --
hw/vfio/helpers.c | 10 ++++++
hw/vfio/pci.c | 2 +-
target/i386/cpu.c | 6 ++++
util/error.c | 9 +++++
13 files changed, 113 insertions(+), 17 deletions(-)
--
2.48.1