From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753547AbdF0Tql (ORCPT ); Tue, 27 Jun 2017 15:46:41 -0400 Received: from mga04.intel.com ([192.55.52.120]:32990 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752963AbdF0Tqc (ORCPT ); Tue, 27 Jun 2017 15:46:32 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.40,271,1496127600"; d="scan'208";a="104284133" From: Jacob Pan To: iommu@lists.linux-foundation.org, LKML , Joerg Roedel , David Woodhouse Cc: "Liu, Yi L" , Lan Tianyu , "Tian, Kevin" , Raj Ashok , Alex Williamson , Jean Delvare , Jacob Pan Subject: [RFC 0/9] IOMMU driver support for shared virtual memory virtualization Date: Tue, 27 Jun 2017 12:47:54 -0700 Message-Id: <1498592883-56224-1-git-send-email-jacob.jun.pan@linux.intel.com> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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