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, mst@redhat.com,
jean-philippe@linaro.org, imammedo@redhat.com,
peter.maydell@linaro.org, clg@redhat.com, yanghliu@redhat.com,
zhenzhong.duan@intel.com
Cc: alex.williamson@redhat.com, jasowang@redhat.com,
pbonzini@redhat.com, berrange@redhat.com
Subject: [PATCH v8 0/9] VIRTIO-IOMMU: Introduce aw-bits and granule options
Date: Thu, 7 Mar 2024 14:43:01 +0100 [thread overview]
Message-ID: <20240307134445.92296-1-eric.auger@redhat.com> (raw)
This is a respin of
[1] [PATCH v5 0/4] VIRTIO-IOMMU: Introduce an aw-bits option
(https://lore.kernel.org/all/20240215084315.863897-1-eric.auger@redhat.com/)
which now also integrates
[PATCH v6 0/3] VIRTIO-IOMMU: Set default granule to host page size
(https://lore.kernel.org/all/20240227165730.14099-1-eric.auger@redhat.com/)
The introduction of those 2 new options and their new default values
fix bugs when assigning VFIO devices protected by a virtio-iommu.
patches 1 - 4: intro of the granule property, collected reviews
- we used to set the default granule to 4k. This causes failures
when hotplugging a VFIO device on a 64kB/64kB host/guest config:
"vfio: DMA mapping failed, unable to continue". When the device
is hotplugged the granule is already frozen to 4k wheras 64k is
needed. This series introduces a new granule option which is set
by default to the host page size.
patches 5 - 9: intro of the aw-bits property, needs further review
- we used to set the input address width to 64b. This causes
failures with some assigned devices where the guest driver
tries to use the full 64b input range whereas the physical IOMMU
supports less bits (39/48 gaw for instance on VTD). New default
usually match the host HW capability.
For more details please see the cover letter of [1] and [2].
This series can be found at:
https://github.com/eauger/qemu/tree/granule_aw_bits_v8
History:
v7 -> v8:
- address Phil's comments: return earlier on bad aw-bits,
doc improvement
v6 -> v7:
- Made property static in virt and pc_q35. Fix qtest 32 limit.
Eric Auger (9):
qdev: Add a granule_mode property
virtio-iommu: Add a granule property
virtio-iommu: Change the default granule to the host page size
qemu-options.hx: Document the virtio-iommu-pci granule option
virtio-iommu: Trace domain range limits as unsigned int
virtio-iommu: Add an option to define the input range width
hw/i386/q35: Set virtio-iommu aw-bits default value to 39
hw/arm/virt: Set virtio-iommu aw-bits default value to 48
qemu-options.hx: Document the virtio-iommu-pci aw-bits option
qapi/virtio.json | 18 +++++++++++++++
include/hw/qdev-properties-system.h | 3 +++
include/hw/virtio/virtio-iommu.h | 3 +++
hw/arm/virt.c | 17 ++++++++++++++
hw/core/machine.c | 6 ++++-
hw/core/qdev-properties-system.c | 14 +++++++++++
hw/i386/pc_q35.c | 9 ++++++++
hw/virtio/virtio-iommu.c | 36 +++++++++++++++++++++++++----
tests/qtest/virtio-iommu-test.c | 2 +-
hw/virtio/trace-events | 2 +-
qemu-options.hx | 11 +++++++++
11 files changed, 114 insertions(+), 7 deletions(-)
--
2.41.0
next reply other threads:[~2024-03-07 13:56 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-07 13:43 Eric Auger [this message]
2024-03-07 13:43 ` [PATCH v8 1/9] qdev: Add a granule_mode property Eric Auger
2024-03-07 13:43 ` [PATCH v8 2/9] virtio-iommu: Add a granule property Eric Auger
2024-03-07 13:43 ` [PATCH v8 3/9] virtio-iommu: Change the default granule to the host page size Eric Auger
2024-03-07 13:43 ` [PATCH v8 4/9] qemu-options.hx: Document the virtio-iommu-pci granule option Eric Auger
2024-03-08 8:24 ` Philippe Mathieu-Daudé
2024-03-07 13:43 ` [PATCH v8 5/9] virtio-iommu: Trace domain range limits as unsigned int Eric Auger
2024-03-07 13:43 ` [PATCH v8 6/9] virtio-iommu: Add an option to define the input range width Eric Auger
2024-03-07 13:43 ` [PATCH v8 7/9] hw/i386/q35: Set virtio-iommu aw-bits default value to 39 Eric Auger
2024-03-08 3:04 ` Duan, Zhenzhong
2024-03-07 13:43 ` [PATCH v8 8/9] hw/arm/virt: Set virtio-iommu aw-bits default value to 48 Eric Auger
2024-03-07 13:43 ` [PATCH v8 9/9] qemu-options.hx: Document the virtio-iommu-pci aw-bits option Eric Auger
2024-03-08 8:25 ` Philippe Mathieu-Daudé
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=20240307134445.92296-1-eric.auger@redhat.com \
--to=eric.auger@redhat.com \
--cc=alex.williamson@redhat.com \
--cc=berrange@redhat.com \
--cc=clg@redhat.com \
--cc=eric.auger.pro@gmail.com \
--cc=imammedo@redhat.com \
--cc=jasowang@redhat.com \
--cc=jean-philippe@linaro.org \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=yanghliu@redhat.com \
--cc=zhenzhong.duan@intel.com \
/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).