From: Eric Auger <eric.auger@redhat.com>
To: eric.auger.pro@gmail.com, eric.auger@redhat.com,
qemu-devel@nongnu.org, qemu-arm@nongnu.org,
peter.maydell@linaro.org, peterx@redhat.com, pbonzini@redhat.com,
alex.williamson@redhat.com
Subject: [Qemu-devel] [PATCH v4 0/5] ARM SMMUv3: Fix spurious notification errors and fail with VFIO
Date: Thu, 22 Aug 2019 19:23:45 +0200 [thread overview]
Message-ID: <20190822172350.12008-1-eric.auger@redhat.com> (raw)
As of today when a guest is assigned with a host PCI device and
an SMMUv3, VFIO calls memory_region_iommu_replay() default
implementation. This translates the whole address range and
completely stalls the execution. As VFIO/SMMUv3 integration
is not supported yet (it requires SMMUv3 HW nested paging), let's
recognize this situation and fail.
Also the series silences some spurious translation configuration
decoding errors (STE out of span or invalid STE) that may happen
on guest IOVA invalidation notifications.
Best Regards
Eric
This series can be found at:
https://github.com/eauger/qemu/tree/v4.1.0_smmu_vfio_fail_v4
History:
v3 -> v4:
- see individual patches
v2 -> v3:
- squash IOMMU_ATTR_VFIO_NESTED introduction and SMMUv3 usage
- assert when recognizing VFIO/NESTED case
- collect R-bs
v1 -> v2:
- Added "memory: Remove unused memory_region_iommu_replay_all()" &
"hw/arm/smmuv3: Log a guest error when decoding an invalid STE"
- do not attempt to implement replay Cb but rather remove the call
in case it is not needed
- explain why we do not remove other log messages on config decoding
Eric Auger (5):
memory: Remove unused memory_region_iommu_replay_all()
memory: Add IOMMU_ATTR_HW_NESTED_PAGING IOMMU memory region attribute
hw/vfio/common: Fail on VFIO/HW nested paging detection
hw/arm/smmuv3: Log a guest error when decoding an invalid STE
hw/arm/smmuv3: Remove spurious error messages on IOVA invalidations
hw/arm/smmuv3-internal.h | 1 +
hw/arm/smmuv3.c | 30 +++++++++++++++++++++++-------
hw/vfio/common.c | 10 ++++++++++
include/exec/memory.h | 18 +++++++-----------
memory.c | 9 ---------
5 files changed, 41 insertions(+), 27 deletions(-)
--
2.20.1
next reply other threads:[~2019-08-22 17:26 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-22 17:23 Eric Auger [this message]
2019-08-22 17:23 ` [Qemu-devel] [PATCH v4 1/5] memory: Remove unused memory_region_iommu_replay_all() Eric Auger
2019-08-22 17:23 ` [Qemu-devel] [PATCH v4 2/5] memory: Add IOMMU_ATTR_HW_NESTED_PAGING IOMMU memory region attribute Eric Auger
2019-08-27 16:19 ` Peter Maydell
2019-08-28 6:24 ` Auger Eric
2019-08-22 17:23 ` [Qemu-devel] [PATCH v4 3/5] hw/vfio/common: Fail on VFIO/HW nested paging detection Eric Auger
2019-08-22 17:23 ` [Qemu-devel] [PATCH v4 4/5] hw/arm/smmuv3: Log a guest error when decoding an invalid STE Eric Auger
2019-08-22 17:23 ` [Qemu-devel] [PATCH v4 5/5] hw/arm/smmuv3: Remove spurious error messages on IOVA invalidations Eric Auger
2019-08-27 16:25 ` [Qemu-devel] [PATCH v4 0/5] ARM SMMUv3: Fix spurious notification errors and fail with VFIO Peter Maydell
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=20190822172350.12008-1-eric.auger@redhat.com \
--to=eric.auger@redhat.com \
--cc=alex.williamson@redhat.com \
--cc=eric.auger.pro@gmail.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=peterx@redhat.com \
--cc=qemu-arm@nongnu.org \
--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).