From 84ea6a79e2dfbbc3787b0230e69d922964aa422f Mon Sep 17 00:00:00 2001 From: Jason Gunthorpe Date: Mon, 7 Nov 2022 22:27:34 -0400 Subject: sys/linux: fix VFIO map/unmap unmap has its own set of flags that trigger interesting behavior. map needs to take in a user_va or it will not succeed in many cases. --- sys/linux/dev_vfio.txt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'sys/linux/dev_vfio.txt') diff --git a/sys/linux/dev_vfio.txt b/sys/linux/dev_vfio.txt index b4e2525cd..db7fc6ddb 100644 --- a/sys/linux/dev_vfio.txt +++ b/sys/linux/dev_vfio.txt @@ -35,15 +35,15 @@ vfio_iommu_type1_info { vfio_iommu_type1_dma_map { argsz len[parent, int32] - flags flags[vfio_dma_flags, int32] - vaddr int64 + flags flags[vfio_map_flags, int32] + user_va ptr64[in, array[int8]] iova int64 size int64 } vfio_iommu_type1_dma_unmap { argsz len[parent, int32] - flags flags[vfio_dma_flags, int32] + flags flags[vfio_unmap_flags, int32] iova int64 size int64 data array[int8] @@ -73,4 +73,5 @@ vfio_iommu_type1_info_dma_avail { } iommu_flags = VFIO_TYPE1_IOMMU, VFIO_SPAPR_TCE_IOMMU, VFIO_TYPE1v2_IOMMU, VFIO_DMA_CC_IOMMU, VFIO_EEH, VFIO_TYPE1_NESTING_IOMMU, VFIO_SPAPR_TCE_v2_IOMMU, VFIO_NOIOMMU_IOMMU -vfio_dma_flags = VFIO_DMA_MAP_FLAG_READ, VFIO_DMA_MAP_FLAG_WRITE +vfio_map_flags = VFIO_DMA_MAP_FLAG_READ, VFIO_DMA_MAP_FLAG_WRITE +vfio_unmap_flags = VFIO_DMA_UNMAP_FLAG_GET_DIRTY_BITMAP, VFIO_DMA_UNMAP_FLAG_ALL, VFIO_DMA_UNMAP_FLAG_VADDR -- cgit mrf-deployment