From: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
To: <linux-kernel@vger.kernel.org>, <iommu@lists.linux.dev>,
<joro@8bytes.org>
Cc: <thomas.lendacky@amd.com>, <vasant.hegde@amd.com>,
<michael.roth@amd.com>, <jon.grimm@amd.com>,
<rientjes@google.com>,
Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Subject: [PATCH 0/9] iommu/amd: Add AMD IOMMU emulation support for SEV-SNP guest kernel
Date: Tue, 30 Apr 2024 15:24:21 +0000 [thread overview]
Message-ID: <20240430152430.4245-1-suravee.suthikulpanit@amd.com> (raw)
To boot a VM w/ x2APIC ID > 255, guest interrupt remapping emulation
is required. For SEV guest, this can be achieved using an emulated
AMD IOMMU.
In order to support emulated AMD IOMMU in SEV guest, memory pages used
by the guest IOMMU data structures must be in decrypted mode. Also GPAs
for these pages must not have the memory encryption bit set.
Testing:
- Booting Linux SEV guest w/ 512 vcpus w/ QEMU emulated amd-iommu with
qemu-system-x86_64 option: -device amd-iommu,intremap=on,xtsup=on
(emulated devices only for now).
GIT repos:
* https://github.com/AMDESE/linux-iommu/tree/iommu_next_sev-iommu-v1
Thanks,
Suravee
Suravee Suthikulpanit (9):
iommu/amd: Introduce helper functions for managing IOMMU memory
iommu/amd: Convert Device Table pointer to use struct amd_iommu_mem
iommu/amd: Convert Command Buffer pointer to use struct amd_iommu_mem
iommu/amd: Convert Completion-Wait Semaphore pointer to use struct
amd_iommu_mem
iommu/amd: Convert Event Log pointer to use struct amd_iommu_mem
iommu/amd: Convert PPR Log pointer to use the struct amd_iommu_mem
iommu/amd: Remove iommu_alloc_4k_pages() helper function
iommu/amd: Decrypt interrupt remapping table for AMD IOMMU emulation
in SEV guest
iommu/amd: Set default domain to IDENTITY_DOMAIN when running in SEV
guest
drivers/iommu/amd/amd_iommu.h | 31 +++++-
drivers/iommu/amd/amd_iommu_types.h | 28 ++++--
drivers/iommu/amd/init.c | 144 +++++++++++++++-------------
drivers/iommu/amd/iommu.c | 133 +++++++++++++++++++------
drivers/iommu/amd/ppr.c | 22 +++--
5 files changed, 246 insertions(+), 112 deletions(-)
--
2.34.1
next reply other threads:[~2024-04-30 15:25 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-30 15:24 Suravee Suthikulpanit [this message]
2024-04-30 15:24 ` [PATCH 1/9] iommu/amd: Introduce helper functions for managing IOMMU memory Suravee Suthikulpanit
2024-05-01 16:17 ` Jason Gunthorpe
2024-05-13 18:59 ` Suthikulpanit, Suravee
2024-05-13 23:13 ` Jason Gunthorpe
2024-04-30 15:24 ` [PATCH 2/9] iommu/amd: Convert Device Table pointer to use struct amd_iommu_mem Suravee Suthikulpanit
2024-04-30 15:24 ` [PATCH 3/9] iommu/amd: Convert Command Buffer " Suravee Suthikulpanit
2024-04-30 15:24 ` [PATCH 4/9] iommu/amd: Convert Completion-Wait Semaphore " Suravee Suthikulpanit
2024-04-30 15:24 ` [PATCH 5/9] iommu/amd: Convert Event Log " Suravee Suthikulpanit
2024-04-30 15:24 ` [PATCH 6/9] iommu/amd: Convert PPR Log pointer to use the " Suravee Suthikulpanit
2024-04-30 15:24 ` [PATCH 7/9] iommu/amd: Remove iommu_alloc_4k_pages() helper function Suravee Suthikulpanit
2024-04-30 15:24 ` [PATCH 8/9] iommu/amd: Decrypt interrupt remapping table for AMD IOMMU emulation in SEV guest Suravee Suthikulpanit
2024-04-30 15:24 ` [PATCH 9/9] iommu/amd: Set default domain to IDENTITY_DOMAIN when running " Suravee Suthikulpanit
2024-05-01 14:17 ` Jason Gunthorpe
2024-05-13 12:17 ` Suthikulpanit, Suravee
2024-05-13 23:10 ` Jason Gunthorpe
2024-05-13 20:05 ` [PATCH 0/9] iommu/amd: Add AMD IOMMU emulation support for SEV-SNP guest kernel Michael Kelley
2024-05-14 19:02 ` Suthikulpanit, Suravee
2024-05-14 21:34 ` Michael Kelley
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=20240430152430.4245-1-suravee.suthikulpanit@amd.com \
--to=suravee.suthikulpanit@amd.com \
--cc=iommu@lists.linux.dev \
--cc=jon.grimm@amd.com \
--cc=joro@8bytes.org \
--cc=linux-kernel@vger.kernel.org \
--cc=michael.roth@amd.com \
--cc=rientjes@google.com \
--cc=thomas.lendacky@amd.com \
--cc=vasant.hegde@amd.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