Messages in this thread |  | | From | Jacob Pan <> | Subject | [RFC 0/9] IOMMU driver support for shared virtual memory virtualization | Date | Tue, 27 Jun 2017 12:47:54 -0700 |
| |
Shared virtual memory (SVM) space between devices and applications can reduce programming complexity and enhance security. To enable SVM in the guest, i.e. share guest application address space with physical device DMA address, IOMMU driver must provide some new functionalities.
The complete guest SVM support also involves changes in QEMU and VFIO, which has been posted earlier. https://www.spinics.net/lists/kvm/msg148798.html
This is the IOMMU portion follow up of the more complete series of the kernel changes to support SVM. Please refer to the link below for more details. https://www.spinics.net/lists/kvm/msg148819.html
Generic APIs are introduced in addition to Intel VT-d specific changes, the goal is to have common interfaces across IOMMU and device types for both VFIO and other in-kernel users.
At the top level, three new IOMMU interfaces are introduced: - bind PASID table - passdown invalidation - per device IOMMU fault notification
The additional patches are Intel VT-d specific, which either implements or replaces existing private interfaces with the generic ones.
Thanks,
Jacob
Jacob Pan (8): iommu: Introduce bind_pasid_table API function iommu/vt-d: add bind_pasid_table function iommu/vt-d: Add iommu do invalidate function iommu: Introduce fault notifier API iommu/vt-d: track device with pasid table bond to a guest iommu/dmar: notify unrecoverable faults iommu/intel-svm: notify page request to guest iommu/intel-svm: replace dev ops with generic fault notifier
Liu, Yi L (1): iommu: Introduce iommu do invalidate API function
drivers/iommu/dmar.c | 38 ++++++++- drivers/iommu/intel-iommu.c | 177 +++++++++++++++++++++++++++++++++++++----- drivers/iommu/intel-svm.c | 102 +++++++++++++++++++++--- drivers/iommu/iommu.c | 77 ++++++++++++++++++ include/linux/dma_remapping.h | 1 + include/linux/intel-iommu.h | 30 ++++++- include/linux/intel-svm.h | 20 +---- include/linux/iommu.h | 59 ++++++++++++++ include/uapi/linux/iommu.h | 85 ++++++++++++++++++++ 9 files changed, 540 insertions(+), 49 deletions(-) create mode 100644 include/uapi/linux/iommu.h
-- 2.7.4
|  |