To support VFIO pass-through device with SNP-enabled guest, IOMMU needs to
setup IOMMU page table with matching page size to the RMP. In order for
the IOMMU driver to setup page table appropriately, it needs to determine:
1. If an IOMMU domain is a VFIO domain (PATCH 1)
2. If an IOMMU domain belongs to an SNP-enabled guest (PATCH 2,3)
3. Appropriate page size the IOMMU domain (PATCH 4)
Please note that patch 2/4 is a preparatory patch for an upcoming series
to support SNP, which implements the call-back for the struct
amd_iommu_svm_ops.is_snp_guest().
Best Regards,
Suravee
Suravee Suthikulpanit (4):
iommu/amd: Introduce Protection-domain flag VFIO
iommu/amd: Introduce structure amd_iommu_svm_ops.is_snp_guest()
iommu: Introduce IOMMU call-back for processing struct KVM assigned to
VFIO
iommu/amd: Force SNP-enabled VFIO domain to 4K page size
drivers/iommu/amd/amd_iommu_types.h | 3 ++
drivers/iommu/amd/iommu.c | 45 +++++++++++++++++++++++++++--
drivers/iommu/iommu.c | 10 +++++++
drivers/vfio/vfio_main.c | 1 +
include/linux/amd-iommu.h | 6 ++++
include/linux/iommu.h | 4 +++
6 files changed, 67 insertions(+), 2 deletions(-)