[PATCH v4 0/4] User API for nested shared virtual address (SVA)

Auger Eric eric.auger at redhat.com
Tue Oct 15 08:35:20 UTC 2019


Hi,

On 10/2/19 9:42 PM, Jacob Pan wrote:
> This set consists of IOMMU APIs to support SVA in the guest, a.k.a nested
> SVA. As the complete SVA support is complex, we break down the enabling
> effort into three stages:
> 1. PCI device direct assignment
> 2. Fault handling, especially page request service support
> 3. Mediated device assignment
> 
> Each stage includes common API and vendor specific IOMMU driver changes. This
> series is the common uAPI for stage #1. It is intended to build consensus on
> the interface which all vendors reply on.
> 
> This series is extracted from the complete stage1 set which includes VT-d code.
> https://lkml.org/lkml/2019/8/15/951
> 
> Changes:
>  - Use spinlock instead of mutex to protect ioasid custom allocators. This is
>    to support callers in atomic context
>  - Added more padding to guest PASID bind data for future extensions, suggested
>    by Joerg.
> After much thinking, I did not do name change from PASID to IOASID in the uAPI,
> considering we have been using PASID in the rest of uAPIs. IOASID will remain
> used within the kernel.
> 
> For more discussions lead to this series, checkout LPC 2019 VFIO/IOMMU/PCI
> microconference materials.
> https://linuxplumbersconf.org/event/4/sessions/66/#20190909
> 
> 
> Change log:
> v4:    - minor patch regroup and fixes based on review from Jean
> v3:    - include errno.h in ioasid.h to fix compile error
>        - rebased to v5.4-rc1, no change
>  
> v2:
> 	- Addressed review comments by Jean on IOASID custom allocators, locking
> 	fix, misc control flow fix.
> 	- Fixed a compile error with missing header errno.h
> 	- Updated Jean-Philiippe's new email and updateded reviewed-by tag
> 
> Jacob Pan (2):
>   iommu/ioasid: Add custom allocators
>   iommu: Introduce guest PASID bind function
> 
> Jean-Philippe Brucker (1):
>   iommu: Add I/O ASID allocator
> 
> Yi L Liu (1):
>   iommu: Introduce cache_invalidate API
> 
>  drivers/iommu/Kconfig      |   4 +
>  drivers/iommu/Makefile     |   1 +
>  drivers/iommu/ioasid.c     | 422 +++++++++++++++++++++++++++++++++++++++++++++
>  drivers/iommu/iommu.c      |  30 ++++
>  include/linux/ioasid.h     |  76 ++++++++
>  include/linux/iommu.h      |  36 ++++
>  include/uapi/linux/iommu.h | 169 ++++++++++++++++++
>  7 files changed, 738 insertions(+)
>  create mode 100644 drivers/iommu/ioasid.c
>  create mode 100644 include/linux/ioasid.h

For the whole series,
Reviewed-by: Eric Auger <eric.auger at redhat.com>

Thanks

Eric

> 


More information about the iommu mailing list