From: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
To: linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org
Cc: Jon.Grimm@amd.com, Wei.Huang2@amd.com
Subject: [RFC PATCH 0/7] iommu/amd: Add Generic IO Page Table Framework Support for v2 Page Table
Date: Fri, 12 Mar 2021 03:04:04 -0600 [thread overview]
Message-ID: <20210312090411.6030-1-suravee.suthikulpanit@amd.com> (raw)
This series introduces a new usage model for the v2 page table, where it
can be used to implement support for DMA-API by adopting the generic
IO page table framework.
One of the target usecases is to support nested IO page tables
where the guest uses the guest IO page table (v2) for translating
GVA to GPA, and the hypervisor uses the host I/O page table (v1) for
translating GPA to SPA. This is a pre-requisite for supporting the new
HW-assisted vIOMMU presented at the KVM Forum 2020.
https://static.sched.com/hosted_files/kvmforum2020/26/vIOMMU%20KVM%20Forum%202020.pdf
The following components are introduced in this series:
- Part 1 (patch 1-4 and 7)
Refactor the current IOMMU page table v2 code
to adopt the generic IO page table framework, and add
AMD IOMMU Guest (v2) page table management code.
- Part 2 (patch 5)
Add support for the AMD IOMMU Guest IO Protection feature (GIOV)
where requests from the I/O device without a PASID are treated as
if they have PASID of 0.
- Part 3 (patch 6)
Introduce new amd_iommu_pgtable command-line to allow users
to select the mode of operation (v1 or v2).
See AMD I/O Virtualization Technology Specification for more detail.
http://www.amd.com/system/files/TechDocs/48882_IOMMU_3.05_PUB.pdf
Thanks,
Suravee
Suravee Suthikulpanit (7):
iommu/amd: Refactor amd_iommu_domain_enable_v2
iommu/amd: Update sanity check when enable PRI/ATS
iommu/amd: Decouple the logic to enable PPR and GT
iommu/amd: Initial support for AMD IOMMU v2 page table
iommu/amd: Add support for Guest IO protection
iommu/amd: Introduce amd_iommu_pgtable command-line option
iommu/amd: Add support for using AMD IOMMU v2 page table for DMA-API
.../admin-guide/kernel-parameters.txt | 6 +
drivers/iommu/amd/Makefile | 2 +-
drivers/iommu/amd/amd_iommu_types.h | 5 +
drivers/iommu/amd/init.c | 42 ++-
drivers/iommu/amd/io_pgtable_v2.c | 239 ++++++++++++++++++
drivers/iommu/amd/iommu.c | 81 ++++--
drivers/iommu/io-pgtable.c | 1 +
include/linux/io-pgtable.h | 2 +
8 files changed, 345 insertions(+), 33 deletions(-)
create mode 100644 drivers/iommu/amd/io_pgtable_v2.c
--
2.17.1
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
next reply other threads:[~2021-03-12 8:55 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-12 9:04 Suravee Suthikulpanit [this message]
2021-03-12 9:04 ` [RFC PATCH 1/7] iommu/amd: Refactor amd_iommu_domain_enable_v2 Suravee Suthikulpanit
2021-03-12 9:04 ` [RFC PATCH 2/7] iommu/amd: Update sanity check when enable PRI/ATS Suravee Suthikulpanit
2021-03-12 9:04 ` [RFC PATCH 3/7] iommu/amd: Decouple the logic to enable PPR and GT Suravee Suthikulpanit
2021-03-12 9:04 ` [RFC PATCH 4/7] iommu/amd: Initial support for AMD IOMMU v2 page table Suravee Suthikulpanit
2021-03-18 15:28 ` Joerg Roedel
2021-03-12 9:04 ` [RFC PATCH 5/7] iommu/amd: Add support for Guest IO protection Suravee Suthikulpanit
2021-03-18 15:31 ` Joerg Roedel
2021-03-25 13:06 ` Suravee Suthikulpanit
2021-03-12 9:04 ` [RFC PATCH 6/7] iommu/amd: Introduce amd_iommu_pgtable command-line option Suravee Suthikulpanit
2021-03-18 15:33 ` Joerg Roedel
2021-03-22 4:24 ` Suravee Suthikulpanit
2021-03-12 9:04 ` [RFC PATCH 7/7] iommu/amd: Add support for using AMD IOMMU v2 page table for DMA-API Suravee Suthikulpanit
2021-03-18 15:44 ` Joerg Roedel
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=20210312090411.6030-1-suravee.suthikulpanit@amd.com \
--to=suravee.suthikulpanit@amd.com \
--cc=Jon.Grimm@amd.com \
--cc=Wei.Huang2@amd.com \
--cc=iommu@lists.linux-foundation.org \
--cc=linux-kernel@vger.kernel.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