From: David Gibson <david@gibson.dropbear.id.au>
To: Eric Auger <eric.auger@redhat.com>
Cc: peter.maydell@linaro.org, aik@ozlabs.ru, qemu-devel@nongnu.org,
peterx@redhat.com, alex.williamson@redhat.com,
qemu-arm@nongnu.org, pbonzini@redhat.com,
eric.auger.pro@gmail.com
Subject: Re: [PATCH v4 0/2] Allow memory_region_register_iommu_notifier() to fail
Date: Tue, 24 Sep 2019 23:26:58 +1000 [thread overview]
Message-ID: <20190924132658.GE17405@umbus> (raw)
In-Reply-To: <20190924082517.13724-1-eric.auger@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 3012 bytes --]
On Tue, Sep 24, 2019 at 10:25:15AM +0200, Eric Auger wrote:
> This series allows the memory_region_register_iommu_notifier()
> to fail. As of now, when a MAP notifier is attempted to be
> registered along with SMMUv3 or AMD IOMMU, we exit in the IOMMU
> MR notify_flag_changed() callback.
>
> In case of VFIO assigned device hotplug, this could be handled
> more nicely directly within the VFIO code, simply rejecting
> the hotplug without exiting. This is what the series achieves
> by handling the memory_region_register_iommu_notifier() returned
> value and Error object.
>
> To propagate errors collected during vfio_listener_region_add()
> we now store the error handle inside the VFIO container instead
> of a returned value.
>
> The message now is:
> (QEMU) device_add id=hot0 driver=vfio-pci host=0000:89:00.0 bus=pcie.1
> {"error": {"class": "GenericError", "desc": "vfio 0000:89:00.0: failed
> to setup container for group 2: memory listener initialization failed:
> Region smmuv3-iommu-memory-region-0-6: device 01.00.0 requires iommu MAP
> notifier which is not currently supported"}}
>
> Best Regards
For the series
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
and ppc parts
Acked-by: David Gibson <david@gibson.dropbear.id.au>
>
> Eric
>
> This series can be found at:
> https://github.com/eauger/qemu/tree/v4.1.0_register_iommu_notifier_fail_v4
>
> History:
>
> v3 -> v4:
> - added Peter's R-b on 2d patch
> - 1st patch: restore hw_error, remove useless ret assignment, improve
> DMA host window error message, remove local mr variable
>
> v2 -> v3:
> - also pass an Error handle (suggested by Peter)
>
> v1 -> v2:
> - Intel IOMMU now handles the problem differently with machine init done
> notifier and machine hotplug allowed hook.
> - use assert(!ret)
> - message rewording in SMMUv3
>
> Follow-up of "VFIO/SMMUv3: Fail on VFIO/HW nested paging detection"
> https://patchew.org/QEMU/20190829090141.21821-1-eric.auger@redhat.com/
>
>
> Eric Auger (2):
> vfio: Turn the container error into an Error handle
> memory: allow memory_region_register_iommu_notifier() to fail
>
> exec.c | 10 +++++--
> hw/arm/smmuv3.c | 18 ++++++------
> hw/i386/amd_iommu.c | 17 +++++++-----
> hw/i386/intel_iommu.c | 8 ++++--
> hw/ppc/spapr_iommu.c | 8 ++++--
> hw/vfio/common.c | 52 +++++++++++++++++++++++------------
> hw/vfio/spapr.c | 4 ++-
> hw/virtio/vhost.c | 9 ++++--
> include/exec/memory.h | 21 ++++++++++----
> include/hw/vfio/vfio-common.h | 2 +-
> memory.c | 31 +++++++++++++--------
> 11 files changed, 120 insertions(+), 60 deletions(-)
>
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2019-09-24 14:13 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-24 8:25 [PATCH v4 0/2] Allow memory_region_register_iommu_notifier() to fail Eric Auger
2019-09-24 8:25 ` [PATCH v4 1/2] vfio: Turn the container error into an Error handle Eric Auger
2019-09-24 16:40 ` Paolo Bonzini
2019-09-24 8:25 ` [PATCH v4 2/2] memory: allow memory_region_register_iommu_notifier() to fail Eric Auger
2019-09-24 13:26 ` David Gibson [this message]
2019-09-24 21:31 ` [PATCH v4 0/2] Allow " Alex Williamson
2019-09-27 20:18 ` Paolo Bonzini
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=20190924132658.GE17405@umbus \
--to=david@gibson.dropbear.id.au \
--cc=aik@ozlabs.ru \
--cc=alex.williamson@redhat.com \
--cc=eric.auger.pro@gmail.com \
--cc=eric.auger@redhat.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.