From: "Cédric Le Goater" <clg@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Alex Williamson" <alex.williamson@redhat.com>,
"Cédric Le Goater" <clg@redhat.com>
Subject: [PATCH v3 0/7] vfio: Improve error reporting when MMIO region mapping fails
Date: Thu, 6 Feb 2025 14:14:28 +0100 [thread overview]
Message-ID: <20250206131438.1505542-1-clg@redhat.com> (raw)
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(-)
--
2.48.1
next reply other threads:[~2025-02-06 13:15 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-06 13:14 Cédric Le Goater [this message]
2025-02-06 13:14 ` [PATCH v3 1/7] util/error: Introduce warn_report_err_once() Cédric Le Goater
2025-02-10 16:26 ` Cédric Le Goater
2025-02-11 6:53 ` Markus Armbruster
2025-02-06 13:14 ` [PATCH v3 2/7] vfio/pci: Replace "iommu_device" by "vIOMMU" Cédric Le Goater
2025-02-06 13:14 ` [PATCH v3 3/7] vfio: Rephrase comment in vfio_listener_region_add() error path Cédric Le Goater
2025-02-06 13:14 ` [PATCH v3 4/7] vfio: Introduce vfio_get_vfio_device() Cédric Le Goater
2025-02-06 13:14 ` [PATCH v3 5/7] vfio: Improve error reporting when MMIO region mapping fails Cédric Le Goater
2025-02-06 13:14 ` [PATCH v3 6/7] vfio: Remove reports of DMA mapping errors in backends Cédric Le Goater
2025-02-06 13:14 ` [PATCH v3 7/7] vfio: Remove superfluous error report in vfio_listener_region_add() Cédric Le Goater
2025-02-06 15:07 ` Harsh Prateek Bora
2025-02-10 16:01 ` [PATCH v3 0/7] vfio: Improve error reporting when MMIO region mapping fails Alex Williamson
2025-02-11 13:32 ` Cédric Le Goater
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250206131438.1505542-1-clg@redhat.com \
--to=clg@redhat.com \
--cc=alex.williamson@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).