From: Jacob Pan <jacob.jun.pan@linux.intel.com> To: iommu@lists.linux-foundation.org, LKML <linux-kernel@vger.kernel.org>, Joerg Roedel <joro@8bytes.org>, David Woodhouse <dwmw2@infradead.org> Cc: "Liu, Yi L" <yi.l.liu@intel.com>, Lan Tianyu <tianyu.lan@intel.com>, "Tian, Kevin" <kevin.tian@intel.com>, Raj Ashok <ashok.raj@intel.com>, Alex Williamson <alex.williamson@redhat.com>, Jean Delvare <khali@linux-fr.org>, Jacob Pan <jacob.jun.pan@linux.intel.com> Subject: [RFC 0/9] IOMMU driver support for shared virtual memory virtualization Date: Tue, 27 Jun 2017 12:47:54 -0700 [thread overview] Message-ID: <1498592883-56224-1-git-send-email-jacob.jun.pan@linux.intel.com> (raw) 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
WARNING: multiple messages have this Message-ID (diff)
From: Jacob Pan <jacob.jun.pan-VuQAYsv1563Yd54FQh9/CA@public.gmane.org> To: iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, LKML <linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>, Joerg Roedel <joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>, David Woodhouse <dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org> Cc: Lan Tianyu <tianyu.lan-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>, "Tian, Kevin" <kevin.tian-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>, Jean Delvare <khali-PUYAD+kWke1g9hUCZPvPmw@public.gmane.org> Subject: [RFC 0/9] IOMMU driver support for shared virtual memory virtualization Date: Tue, 27 Jun 2017 12:47:54 -0700 [thread overview] Message-ID: <1498592883-56224-1-git-send-email-jacob.jun.pan@linux.intel.com> (raw) 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
next reply other threads:[~2017-06-27 19:46 UTC|newest] Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-06-27 19:47 Jacob Pan [this message] 2017-06-27 19:47 ` [RFC 0/9] IOMMU driver support for shared virtual memory virtualization Jacob Pan 2017-06-27 19:47 ` [PATCH 1/9] iommu: Introduce bind_pasid_table API function Jacob Pan 2017-06-28 9:57 ` Joerg Roedel 2017-06-28 9:57 ` Joerg Roedel 2017-06-27 19:47 ` [PATCH 2/9] iommu/vt-d: add bind_pasid_table function Jacob Pan 2017-06-27 19:47 ` Jacob Pan 2017-06-28 10:02 ` Joerg Roedel 2017-06-28 10:02 ` Joerg Roedel 2017-07-05 7:38 ` Tian, Kevin 2017-07-05 7:38 ` Tian, Kevin 2017-06-27 19:47 ` [PATCH 3/9] iommu: Introduce iommu do invalidate API function Jacob Pan 2017-06-28 10:08 ` Joerg Roedel 2017-06-28 16:09 ` Jacob Pan 2017-06-28 16:09 ` Jacob Pan 2017-06-28 17:07 ` Jean-Philippe Brucker 2017-06-28 17:07 ` Jean-Philippe Brucker 2017-07-05 7:57 ` Tian, Kevin 2017-07-05 7:57 ` Tian, Kevin 2017-07-05 12:42 ` Jean-Philippe Brucker 2017-07-05 12:42 ` Jean-Philippe Brucker 2017-07-26 9:02 ` Joerg Roedel 2017-07-26 9:02 ` Joerg Roedel 2017-06-27 19:47 ` [PATCH 4/9] iommu/vt-d: Add iommu do invalidate function Jacob Pan 2017-06-27 19:47 ` [PATCH 5/9] iommu: Introduce fault notifier API Jacob Pan 2017-06-28 10:16 ` Joerg Roedel 2017-06-28 10:16 ` Joerg Roedel 2017-06-28 16:16 ` Jacob Pan 2017-06-28 16:16 ` Jacob Pan 2017-06-27 19:48 ` [PATCH 6/9] iommu/vt-d: track device with pasid table bond to a guest Jacob Pan 2017-06-27 19:48 ` [PATCH 7/9] iommu/dmar: notify unrecoverable faults Jacob Pan 2017-06-27 19:48 ` [PATCH 8/9] iommu/intel-svm: notify page request to guest Jacob Pan 2017-06-27 19:48 ` [PATCH 9/9] iommu/intel-svm: replace dev ops with generic fault notifier Jacob Pan 2017-08-16 9:44 ` [RFC 0/9] IOMMU driver support for shared virtual memory virtualization Joerg Roedel 2017-08-16 9:44 ` Joerg Roedel 2017-08-16 15:14 ` Jacob Pan 2017-08-16 15:14 ` Jacob Pan 2017-08-16 16:23 ` Joerg Roedel
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1498592883-56224-1-git-send-email-jacob.jun.pan@linux.intel.com \ --to=jacob.jun.pan@linux.intel.com \ --cc=alex.williamson@redhat.com \ --cc=ashok.raj@intel.com \ --cc=dwmw2@infradead.org \ --cc=iommu@lists.linux-foundation.org \ --cc=joro@8bytes.org \ --cc=kevin.tian@intel.com \ --cc=khali@linux-fr.org \ --cc=linux-kernel@vger.kernel.org \ --cc=tianyu.lan@intel.com \ --cc=yi.l.liu@intel.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.