linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH RFC v3 0/4] Add set_dev_data and unset_dev_data support
@ 2023-04-23  7:40 Nicolin Chen
  2023-04-23  7:40 ` [PATCH RFC v3 1/4] iommu: Add set/unset_dev_user_data ops Nicolin Chen
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Nicolin Chen @ 2023-04-23  7:40 UTC (permalink / raw)
  To: jgg, kevin.tian
  Cc: robin.murphy, eric.auger, yi.l.liu, baolu.lu, will, joro,
	shameerali.kolothum.thodi, jean-philippe, linux-arm-kernel, iommu,
	linux-kernel

Changelog
v3:
 * Reverted the data in VFIO BIND ioctl to a set of new iommufd ioctls
 * Replaced the iommu_device_data_size array with a dev_user_data_len
   variable in the iommu_ops structure.
 * Added has_dev_data check and locking protection
 * Added selftest coverage
v2:
 https://lore.kernel.org/all/cover.1681976394.git.nicolinc@nvidia.com/
 * Integrated the uAPI into VFIO_DEVICE_BIND_IOMMUFD call
 * Renamed the previous set_rid_user to set_dev_data, to decouple from
   the PCI regime.
v1:
 https://lore.kernel.org/all/cover.1680762112.git.nicolinc@nvidia.com/

This is a pair of new uAPI/ops for user space to set an iommu specific
device data for a passthrough device. This is primarily used by SMMUv3
driver for now, to link the vSID and the pSID of a device that's behind
the SMMU. The link (lookup table) will be used to verify any ATC_INV
command from the user space for that device, and then replace the SID
field (virtual SID) with the corresponding physical SID.

This series is available on Github:
https://github.com/nicolinc/iommufd/commits/set_dev_data-rfc-v3

Thanks!
Nicolin

Nicolin Chen (4):
  iommu: Add set/unset_dev_user_data ops
  iommufd: Add IOMMUFD_CMD_DEVICE_SET_DATA and
    IOMMUFD_CMD_DEVICE_UNSET_DATA
  iommufd/selftest: Add IOMMU_TEST_OP_DEV_CHECK_DATA
  iommufd/selftests: Add coverage for IOMMU_DEVICE_SET/UNSET_DATA

 drivers/iommu/iommufd/device.c                | 81 +++++++++++++++++++
 drivers/iommu/iommufd/iommufd_private.h       |  3 +
 drivers/iommu/iommufd/iommufd_test.h          | 15 ++++
 drivers/iommu/iommufd/main.c                  |  4 +
 drivers/iommu/iommufd/selftest.c              | 42 ++++++++++
 include/linux/iommu.h                         | 13 +++
 include/uapi/linux/iommufd.h                  | 32 ++++++++
 tools/testing/selftests/iommu/iommufd.c       | 20 +++++
 tools/testing/selftests/iommu/iommufd_utils.h | 59 ++++++++++++++
 9 files changed, 269 insertions(+)

-- 
2.40.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

end of thread, other threads:[~2023-04-24 18:51 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-23  7:40 [PATCH RFC v3 0/4] Add set_dev_data and unset_dev_data support Nicolin Chen
2023-04-23  7:40 ` [PATCH RFC v3 1/4] iommu: Add set/unset_dev_user_data ops Nicolin Chen
2023-04-23  7:40 ` [PATCH RFC v3 2/4] iommufd: Add IOMMUFD_CMD_DEVICE_SET_DATA and IOMMUFD_CMD_DEVICE_UNSET_DATA Nicolin Chen
2023-04-24  2:44   ` Baolu Lu
2023-04-24 18:50     ` Nicolin Chen
2023-04-23  7:40 ` [PATCH RFC v3 3/4] iommufd/selftest: Add IOMMU_TEST_OP_DEV_CHECK_DATA Nicolin Chen
2023-04-23  7:40 ` [PATCH RFC v3 4/4] iommufd/selftests: Add coverage for IOMMU_DEVICE_SET/UNSET_DATA Nicolin Chen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).