From: Tina Zhang <tina.zhang@intel.com>
To: Jean-Philippe Brucker <jean-philippe@linaro.org>,
Kevin Tian <kevin.tian@intel.com>,
Lu Baolu <baolu.lu@linux.intel.com>,
joro@8bytes.org, will@kernel.org, Yi Liu <yi.l.liu@intel.com>
Cc: virtualization@lists.linux-foundation.org, iommu@lists.linux.dev,
linux-kernel@vger.kernel.org, Tina Zhang <tina.zhang@intel.com>
Subject: [RFC PATCH 0/5] virtio-iommu: Add VT-d IO page table
Date: Mon, 6 Nov 2023 02:12:21 -0500 [thread overview]
Message-ID: <20231106071226.9656-1-tina.zhang@intel.com> (raw)
The proposal about virtio-iommu support page tables is being discussed in
the virtio-comment mailing list[1]. This patch-set based on Jean's
virtio-iommu/pgtables branch[2] tries to follow the proposal and add the
basic VT-d IO page table support to virtio-iommu.
On Intel platform with VT-d nested translation enabled, there are two
main benefits for enabling virtual IOMMU support VT-d IO page table:
1) Allowing vSVM (aka vSVA) usage. Virtual Shared Virtual Addressing
(vSVA) allows the virtual processor and virtual device to use the
same virtual addresses.
2) Accelerating DMA buffer map operation for vIOVA usage by removing
the context switch on DMA buffer map operation.
(Note: this patch-set doesn't include the whole patch-set for enabling
vSVM on virtio-iommu, only includes the part for vIOVA case. However,
the vSVM enabling patch-set needs to base on this patch-set.)
There are three changes in this patch-set:
1) The first patch is a bug fixing patch that tries to resolve an issue
about IOTLB invalidation request with incorrect page size.
2) The next 3 patches are about adding generic IO page table support to
VT-d driver.
3) The last one introduces the VT-d page format table to virtio-iommu
driver.
The patch-set is also available at github:
https://github.com/TinaZhangZW/linux/tree/vt-d-pgtable
The QEMU part is available here:
https://github.com/TinaZhangZW/qemu/tree/virtio-iommu/vt-d-pgtable
[1]:https://lists.oasis-open.org/archives/virtio-comment/202310/msg00018.html
[2]:https://jpbrucker.net/git/linux/log/?h=virtio-iommu/pgtables
Tina Zhang (5):
iommu/virtio-iommu: Correct the values of granule and nr_pages
iommu/vt-d: Add generic IO page table support
iommu/io-pgtable: Introduce struct vtd_cfg
iommu/vt-d: Adapt alloc_pgtable interface to be used by others
iommu/virtio-iommu: Support attaching VT-d IO pgtable
drivers/iommu/intel/Kconfig | 1 +
drivers/iommu/intel/iommu.c | 157 ++++++++++++++++++++++++++++++
drivers/iommu/intel/iommu.h | 7 ++
drivers/iommu/io-pgtable.c | 3 +
drivers/iommu/virtio-iommu.c | 27 ++++-
include/linux/io-pgtable.h | 7 ++
include/uapi/linux/virtio_iommu.h | 26 +++++
7 files changed, 226 insertions(+), 2 deletions(-)
--
2.39.3
next reply other threads:[~2023-11-06 7:14 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-06 7:12 Tina Zhang [this message]
2023-11-06 7:12 ` [RFC PATCH 1/5] iommu/virtio-iommu: Correct the values of granule and nr_pages Tina Zhang
2023-11-06 7:12 ` [RFC PATCH 2/5] iommu/vt-d: Add generic IO page table support Tina Zhang
2023-11-06 19:32 ` Jason Gunthorpe
2023-11-09 0:10 ` Zhang, Tina
2023-11-09 0:33 ` Jason Gunthorpe
2023-11-06 7:12 ` [RFC PATCH 3/5] iommu/io-pgtable: Introduce struct vtd_cfg Tina Zhang
2023-11-06 7:12 ` [RFC PATCH 4/5] iommu/vt-d: Adapt alloc_pgtable interface to be used by others Tina Zhang
2023-11-06 7:12 ` [RFC PATCH 5/5] iommu/virtio-iommu: Support attaching VT-d IO pgtable Tina Zhang
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=20231106071226.9656-1-tina.zhang@intel.com \
--to=tina.zhang@intel.com \
--cc=baolu.lu@linux.intel.com \
--cc=iommu@lists.linux.dev \
--cc=jean-philippe@linaro.org \
--cc=joro@8bytes.org \
--cc=kevin.tian@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=virtualization@lists.linux-foundation.org \
--cc=will@kernel.org \
--cc=yi.l.liu@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
all inboxes | Powered by JetHome®