On 2023/12/22 10:30, Tian, Kevin wrote:
From: Liu, Yi L yi.l.liu@intel.com Sent: Thursday, December 21, 2023 11:40 PM
From: Lu Baolu baolu.lu@linux.intel.com
The updates of the PTEs in the nested page table will be propagated to the hardware caches on both IOMMU (IOTLB) and devices (DevTLB/ATC).
this is incorrect. the scope of this cmd is driver specific.
yes. May just say the hardware caches.
Add a new domain op cache_invalidate_user for the userspace to flush the hardware caches for a nested domain through iommufd. No wrapper for it, as it's only supposed to be used by iommufd. Then, pass in invalidation requests in form of a user data array conatining a number of invalidation data entries.
Signed-off-by: Lu Baolu baolu.lu@linux.intel.com Reviewed-by: Kevin Tian kevin.tian@intel.com Signed-off-by: Nicolin Chen nicolinc@nvidia.com Signed-off-by: Yi Liu yi.l.liu@intel.com
include/linux/iommu.h | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+)
diff --git a/include/linux/iommu.h b/include/linux/iommu.h index 6291aa7b079b..5c4a17f13761 100644 --- a/include/linux/iommu.h +++ b/include/linux/iommu.h @@ -284,6 +284,24 @@ struct iommu_user_data { size_t len; };
+/**
- struct iommu_user_data_array - iommu driver specific user space data
array
- @type: The data type of all the entries in the user buffer array
- @uptr: Pointer to the user buffer array for copy_from_user()
remove 'for copy_from_user();
- @entry_len: The fixed-width length of a entry in the array, in bytes
s/a/an/
- @entry_num: The number of total entries in the array
- A array having a @entry_num number of @entry_len sized entries, each
the first sentence is redundant.
entry is
- user space data, an uAPI defined in include/uapi/linux/iommufd.h where
@type
- is also defined as enum iommu_xyz_data_type.
I'd just say:
"The user buffer includes an array of requests with format defined in include/uapi/linux/iommufd.h"
sure.