public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] Make set_dev_pasid op supportting domain replacement
@ 2024-06-28  8:55 Yi Liu
  2024-06-28  8:55 ` [PATCH 1/6] iommu: Pass old domain to set_dev_pasid op Yi Liu
                   ` (8 more replies)
  0 siblings, 9 replies; 34+ messages in thread
From: Yi Liu @ 2024-06-28  8:55 UTC (permalink / raw)
  To: joro, jgg, kevin.tian, baolu.lu
  Cc: alex.williamson, robin.murphy, eric.auger, nicolinc, kvm,
	chao.p.peng, yi.l.liu, iommu

This splits the preparation works of the iommu and the Intel iommu driver
out from the iommufd pasid attach/replace series. [1]

To support domain replacement, the definition of the set_dev_pasid op
needs to be enhanced. Meanwhile, the existing set_dev_pasid callbacks
should be extended as well to suit the new definition.

pasid attach/replace is mandatory on Intel VT-d given the PASID table
locates in the physical address space hence must be managed by the kernel,
both for supporting vSVA and coming SIOV. But it's optional on ARM/AMD
which allow configuring the PASID/CD table either in host physical address
space or nested on top of an GPA address space. This series only extends
the Intel iommu driver as the minimal requirement.

This series first prepares the Intel iommu set_dev_pasid op for the new
definition, adds the missing set_dev_pasid support for nested domain, and
in the end enhances the definition of set_dev_pasid op. The ARM and AMD
set_dev_pasid callbacks is extended to fail if the caller tries to do domain
replacement to meet the new definition of set_dev_pasid op.

This series is on top of Baolu's paging domain alloc refactor, where his
code can be found at [2].

[1] https://lore.kernel.org/linux-iommu/20240412081516.31168-1-yi.l.liu@intel.com/
[2] https://github.com/LuBaolu/intel-iommu/commits/vtd-paging-domain-refactor-v1

Regards,
	Yi Liu

Lu Baolu (1):
  iommu/vt-d: Add set_dev_pasid callback for nested domain

Yi Liu (5):
  iommu: Pass old domain to set_dev_pasid op
  iommu/vt-d: Move intel_drain_pasid_prq() into
    intel_pasid_tear_down_entry()
  iommu/vt-d: Make helpers support modifying present pasid entry
  iommu/vt-d: Make intel_iommu_set_dev_pasid() to handle domain
    replacement
  iommu: Make set_dev_pasid op support domain replacement

 drivers/iommu/amd/amd_iommu.h                 |   3 +-
 drivers/iommu/amd/pasid.c                     |   6 +-
 .../iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c   |   6 +-
 drivers/iommu/intel/debugfs.c                 |   2 +
 drivers/iommu/intel/iommu.c                   | 117 ++++++++++++------
 drivers/iommu/intel/iommu.h                   |   3 +
 drivers/iommu/intel/nested.c                  |   1 +
 drivers/iommu/intel/pasid.c                   |  46 +++----
 drivers/iommu/intel/pasid.h                   |   5 +-
 drivers/iommu/intel/svm.c                     |   9 +-
 drivers/iommu/iommu.c                         |   3 +-
 include/linux/iommu.h                         |   5 +-
 12 files changed, 132 insertions(+), 74 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2024-08-16  6:04 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-28  8:55 [PATCH 0/6] Make set_dev_pasid op supportting domain replacement Yi Liu
2024-06-28  8:55 ` [PATCH 1/6] iommu: Pass old domain to set_dev_pasid op Yi Liu
2024-06-28  8:55 ` [PATCH 2/6] iommu/vt-d: Move intel_drain_pasid_prq() into intel_pasid_tear_down_entry() Yi Liu
2024-06-28  9:42   ` Baolu Lu
2024-06-28 10:51     ` Yi Liu
2024-07-10  8:25       ` Tian, Kevin
2024-06-28  8:55 ` [PATCH 3/6] iommu/vt-d: Make helpers support modifying present pasid entry Yi Liu
2024-06-28  9:52   ` Baolu Lu
2024-06-28 10:56     ` Yi Liu
2024-07-15  7:53   ` Tian, Kevin
2024-07-15  8:05     ` Yi Liu
2024-06-28  8:55 ` [PATCH 4/6] iommu/vt-d: Make intel_iommu_set_dev_pasid() to handle domain replacement Yi Liu
2024-07-15  7:58   ` Tian, Kevin
2024-06-28  8:55 ` [PATCH 5/6] iommu/vt-d: Add set_dev_pasid callback for nested domain Yi Liu
2024-06-28  8:55 ` [PATCH 6/6] iommu: Make set_dev_pasid op support domain replacement Yi Liu
2024-07-15  8:02   ` Tian, Kevin
2024-07-15  8:37     ` Yi Liu
2024-07-10  8:24 ` [PATCH 0/6] Make set_dev_pasid op supportting " Tian, Kevin
2024-07-11 18:41   ` Jason Gunthorpe
2024-07-15  8:16     ` Tian, Kevin
2024-07-15 12:19       ` Jason Gunthorpe
2024-07-15  8:23     ` Yi Liu
2024-07-15 12:19       ` Jason Gunthorpe
2024-07-16  2:07         ` Yi Liu
2024-07-11 18:37 ` Jason Gunthorpe
2024-07-15  8:11   ` Yi Liu
2024-07-15 12:16     ` Jason Gunthorpe
2024-08-15 17:49 ` Vasant Hegde
2024-08-16  1:19   ` Yi Liu
2024-08-16  2:49     ` Baolu Lu
2024-08-16  5:17       ` Vasant Hegde
2024-08-16  2:52     ` Baolu Lu
2024-08-16  6:08       ` Yi Liu
2024-08-16  5:19     ` Vasant Hegde

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox