Re: [Qemu-devel] [PATCH for-2.11] vfio: Fix vfio-kvm group registration

2017-12-05 Thread Liu, Yi L
On Tue, Dec 05, 2017 at 08:12:58PM -0700, Alex Williamson wrote: > On Wed, 6 Dec 2017 10:44:43 +0800 > "Liu, Yi L" <yi.l@linux.intel.com> wrote: > > > On Tue, Dec 05, 2017 at 02:09:07PM -0700, Alex Williamson wrote: > > > Commit 8c37faa475f3 ("vfio

Re: [Qemu-devel] [PATCH for-2.11] vfio: Fix vfio-kvm group registration

2017-12-05 Thread Liu, Yi L
On Tue, Dec 05, 2017 at 02:09:07PM -0700, Alex Williamson wrote: > Commit 8c37faa475f3 ("vfio-pci, ppc64/spapr: Reorder group-to-container > attaching") moved registration of groups with the vfio-kvm device from > vfio_get_group() to vfio_connect_container(), but it missed the case > where a group

Re: [Qemu-devel] [PATCH v1 2/2] intel-iommu: Extend address width to 48 bits

2017-12-01 Thread Liu, Yi L
On Tue, Nov 14, 2017 at 06:13:50PM -0500, prasad.singamse...@oracle.com wrote: > From: Prasad Singamsetty > > The current implementation of Intel IOMMU code only supports 39 bits > iova address width. This patch provides a new parameter (x-aw-bits) > for

Re: [Qemu-devel] [PATCH v1 1/2] intel-iommu: Redefine macros to enable supporting 48 bit address width

2017-12-01 Thread Liu, Yi L
On Tue, Nov 14, 2017 at 06:13:49PM -0500, prasad.singamse...@oracle.com wrote: > From: Prasad Singamsetty > > The current implementation of Intel IOMMU code only supports 39 bits > host/iova address width so number of macros use hard coded values based > on that.

Re: [Qemu-devel] [PATCH v1 2/2] intel-iommu: Extend address width to 48 bits

2017-11-30 Thread Liu, Yi L
On Thu, Nov 30, 2017 at 05:11:55PM +0800, Peter Xu wrote: > On Thu, Nov 30, 2017 at 01:22:38PM +0800, Liu, Yi L wrote: > > On Tue, Nov 14, 2017 at 06:13:50PM -0500, prasad.singamse...@oracle.com > > wrote: > > > From: Prasad Singamsetty <prasad.singamse...@oracle.co

Re: [Qemu-devel] [PATCH v1 2/2] intel-iommu: Extend address width to 48 bits

2017-11-29 Thread Liu, Yi L
On Tue, Nov 14, 2017 at 06:13:50PM -0500, prasad.singamse...@oracle.com wrote: > From: Prasad Singamsetty > > The current implementation of Intel IOMMU code only supports 39 bits > iova address width. This patch provides a new parameter (x-aw-bits) > for

Re: [Qemu-devel] [PATCH] vfio/common: init giommu_list and hostwin_list of vfio container

2017-11-29 Thread Liu, Yi L
On Wed, Nov 29, 2017 at 08:41:04AM -0700, Alex Williamson wrote: > On Wed, 22 Nov 2017 15:58:02 +0800 > "Liu, Yi L" <yi.l@linux.intel.com> wrote: > > > The init of giommu_list and hostwin_list is missed during container > > initialization. &g

[Qemu-devel] [PATCH v2 2/7] vfio: rename GuestIOMMU to be GuestIOMMUMR

2017-11-24 Thread Liu, Yi L
Rename GuestIOMMU to GuestIOMMUMR as the existing GuestIOMMU is for MemoryRegion related notifiers. Signed-off-by: Liu, Yi L <yi.l@linux.intel.com> --- hw/vfio/common.c | 15 --- include/hw/vfio/vfio-common.h | 8 2 files changed, 12 insertions(

[Qemu-devel] [PATCH v2 6/7] vfio/pci: add notify framework based on IOMMUObject

2017-11-24 Thread Liu, Yi L
. If there is IOMMUObject behind the device AddressSpace(a.ka vIOMMU exposed). The VFIOGuestIOMMUObject instance would be allocated and inserted to the VFIOContainer.giommu_object_list. Signed-off-by: Liu, Yi L <yi.l@linux.intel.com> --- hw/vfio/common.c | 1 + hw/vfio/pci.c

[Qemu-devel] [PATCH v2 5/7] intel_iommu: provide AddressSpaceOps.iommu_get instance

2017-11-24 Thread Liu, Yi L
From: Peter Xu <pet...@redhat.com> Provide AddressSpaceOps.iommu_get() in Intel IOMMU emulator. Signed-off-by: Peter Xu <pet...@redhat.com> Signed-off-by: Liu, Yi L <yi.l@linux.intel.com> --- hw/i386/intel_iommu.c | 8 include/hw/i386/intel_iommu.h | 2 +

[Qemu-devel] [PATCH v2 4/7] memory: introduce AddressSpaceOps

2017-11-24 Thread Liu, Yi L
he new IOMMUObject introduced in this patchset. The first AddressSpaceOps added here is iommu_get(). Return an IOMMUObject behind the AddressSpace. Signed-off-by: Peter Xu <pet...@redhat.com> Signed-off-by: Liu, Yi L <yi.l@linux.intel.com> --- include/exec/memory.h | 22 ++

[Qemu-devel] [PATCH v2 3/7] hw/core: introduce IOMMUObject

2017-11-24 Thread Liu, Yi L
other than MAP/UNMAP, and it can also be used to detect if vIOMMU is exposed to guest. Signed-off-by: Peter Xu <pet...@redhat.com> Signed-off-by: Liu, Yi L <yi.l@linux.intel.com> --- hw/core/Makefile.objs | 1 + hw/core/iommu.c | 64

[Qemu-devel] [PATCH v2 7/7] vfio/pci: register vfio_iommu_bind_pasidtbl_notify notifier

2017-11-24 Thread Liu, Yi L
include: * notifier for guest pasid table binding * notifier for guest iommu tlb invalidation Both of the two notifiers would be include in future virt-SVM patchset. In virt-SVM patchset, this notifier would be fulfilled. Signed-off-by: Liu, Yi L <yi.l@linux.intel.com> --- hw/vfio/pci.

[Qemu-devel] [PATCH v2 0/7] Introduce new iommu notifier framework

2017-11-24 Thread Liu, Yi L
MMUObject and AddressSpaceOps * Address two missed list init spotted by Auger Eric Liu, Yi L (3): vfio: rename GuestIOMMU to be GuestIOMMUMR vfio/pci: add notify framework based on IOMMUObject vfio/pci: register vfio_iommu_bind_pasidtbl_notify notifier Peter Xu (4): memory: rename existing iommu

[Qemu-devel] [PATCH v2 1/7] memory: rename existing iommu notifier to be iommu mr notifier

2017-11-24 Thread Liu, Yi L
tifier definitions. * all the notifier types from IOMMU_NOTIFIER_* prefix into IOMMU_MR_EVENT_* to better show its usage (for memory regions). * rename IOMMUNotifier to IOMMUMRNotifier * rename iommu_notifier to iommu_mr_notifier Signed-off-by: Peter Xu <pet...@redhat.com> Signed-off-by: Liu

[Qemu-devel] [PATCH] vfio/common: init giommu_list and hostwin_list of vfio container

2017-11-22 Thread Liu, Yi L
The init of giommu_list and hostwin_list is missed during container initialization. Signed-off-by: Liu, Yi L <yi.l@linux.intel.com> --- hw/vfio/common.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hw/vfio/common.c b/hw/vfio/common.c index 7b2924c..14c5940 100644 --- a/h

Re: [Qemu-devel] [RESEND PATCH 2/6] memory: introduce AddressSpaceOps and IOMMUObject

2017-11-16 Thread Liu, Yi L
Hi David, On Tue, Nov 14, 2017 at 11:59:34AM +1100, David Gibson wrote: > On Mon, Nov 13, 2017 at 04:28:45PM +0800, Peter Xu wrote: > > On Mon, Nov 13, 2017 at 04:56:01PM +1100, David Gibson wrote: > > > On Fri, Nov 03, 2017 at 08:01:52PM +0800, Liu, Yi L wrote: > >

Re: [Qemu-devel] [RESEND PATCH 2/6] memory: introduce AddressSpaceOps and IOMMUObject

2017-11-14 Thread Liu, Yi L
Hi Eric, On Tue, Nov 14, 2017 at 10:52:54PM +0100, Auger Eric wrote: > Hi Yi L, > > On 14/11/2017 14:59, Liu, Yi L wrote: > > On Tue, Nov 14, 2017 at 09:53:07AM +0100, Auger Eric wrote: > > Hi Eric, > > > >> Hi Yi L, > >> > >> On 13/11/2

Re: [Qemu-devel] [RESEND PATCH 5/6] vfio/pci: add notify framework based on IOMMUObject

2017-11-14 Thread Liu, Yi L
Hi Eric, On Tue, Nov 14, 2017 at 11:23:03AM +0100, Auger Eric wrote: > Hi Yi L, > > On 03/11/2017 13:01, Liu, Yi L wrote: > > This patch introduce a notify framework for IOMMUObject.iommu_notifiers. > > Introduce VFIOGuestIOMMUObject is to link VFIO Container and th

Re: [Qemu-devel] [RESEND PATCH 2/6] memory: introduce AddressSpaceOps and IOMMUObject

2017-11-14 Thread Liu, Yi L
Hi Eric, On Tue, Nov 14, 2017 at 11:21:59AM +0100, Auger Eric wrote: > Hi Yi L, > > On 03/11/2017 13:01, Liu, Yi L wrote: > > From: Peter Xu <pet...@redhat.com> > > > > AddressSpaceOps is similar to MemoryRegionOps, it's just for address > &

Re: [Qemu-devel] [RESEND PATCH 2/6] memory: introduce AddressSpaceOps and IOMMUObject

2017-11-14 Thread Liu, Yi L
On Tue, Nov 14, 2017 at 09:53:07AM +0100, Auger Eric wrote: Hi Eric, > Hi Yi L, > > On 13/11/2017 10:58, Liu, Yi L wrote: > > On Mon, Nov 13, 2017 at 04:56:01PM +1100, David Gibson wrote: > >> On Fri, Nov 03, 2017 at 08:01:52PM +0800, Liu, Yi L wrote: > >>&g

Re: [Qemu-devel] [RESEND PATCH 2/6] memory: introduce AddressSpaceOps and IOMMUObject

2017-11-13 Thread Liu, Yi L
On Mon, Nov 13, 2017 at 04:56:01PM +1100, David Gibson wrote: > On Fri, Nov 03, 2017 at 08:01:52PM +0800, Liu, Yi L wrote: > > From: Peter Xu <pet...@redhat.com> > > > > AddressSpaceOps is similar to MemoryRegionOps, it's just for address > > sp

[Qemu-devel] [RESEND PATCH 6/6] vfio/pci: register vfio_iommu_bind_pasidtbl_notify notifier

2017-11-03 Thread Liu, Yi L
include: * notifier for guest pasid table binding * notifier for guest iommu tlb invalidation Both of the two notifiers would be include in future virt-SVM patchset. In virt-SVM patchset, this notifier would be fulfilled. Signed-off-by: Liu, Yi L <yi.l@linux.intel.com> --- hw/vfio/pci.

[Qemu-devel] [RESEND PATCH 5/6] vfio/pci: add notify framework based on IOMMUObject

2017-11-03 Thread Liu, Yi L
. If there is IOMMUObject behind the device AddressSpace(a.ka vIOMMU exposed). The VFIOGuestIOMMUObject instance would be allocated and inserted to the VFIOContainer.giommu_object_list. Signed-off-by: Liu, Yi L <yi.l@linux.intel.com> --- hw/vfio/pci.c

[Qemu-devel] [RESEND PATCH 4/6] vfio: rename GuestIOMMU to be GuestIOMMUMR

2017-11-03 Thread Liu, Yi L
Rename GuestIOMMU to GuestIOMMUMR as the existing GuestIOMMU is for MemoryRegion related notifiers. Signed-off-by: Liu, Yi L <yi.l@linux.intel.com> --- hw/vfio/common.c | 15 --- include/hw/vfio/vfio-common.h | 8 2 files changed, 12 insertions(

[Qemu-devel] [RESEND PATCH 2/6] memory: introduce AddressSpaceOps and IOMMUObject

2017-11-03 Thread Liu, Yi L
which is similar to MemoryRegionOps. The difference is IOMMUObjectOps is not relied on MemoryRegion. Signed-off-by: Peter Xu <pet...@redhat.com> Signed-off-by: Liu, Yi L <yi.l@linux.intel.com> --- hw/core/Makefile.objs | 1 + hw/core/io

[Qemu-devel] [RESEND PATCH 0/6] Introduce new iommu notifier framework

2017-11-03 Thread Liu, Yi L
sed on IOMMUObject and also provide an example of the newly introduced notifier framework. The notifier framework introduced here is going to be used in my virt-SVM patchset. For virt-SVM design details, you may refer to svm RFC patch. https://lists.gnu.org/archive/html/qemu-devel/2017-04/msg04925.

[Qemu-devel] [RESEND PATCH 1/6] memory: rename existing iommu notifier to be iommu mr notifier

2017-11-03 Thread Liu, Yi L
tifier definitions. * all the notifier types from IOMMU_NOTIFIER_* prefix into IOMMU_MR_EVENT_* to better show its usage (for memory regions). * rename IOMMUNotifier to IOMMUMRNotifier * rename iommu_notifier to iommu_mr_notifier Signed-off-by: Peter Xu <pet...@redhat.com> Signed-off-by: Liu

[Qemu-devel] [RESEND PATCH 3/6] intel_iommu: provide AddressSpaceOps.iommu_get instance

2017-11-03 Thread Liu, Yi L
From: Peter Xu <pet...@redhat.com> Provide AddressSpaceOps.iommu_get() in Intel IOMMU emulator. Signed-off-by: Peter Xu <pet...@redhat.com> Signed-off-by: Liu, Yi L <yi.l@linux.intel.com> --- hw/i386/intel_iommu.c | 7 +++ include/hw/i386/intel_iommu.h | 2 ++

[Qemu-devel] [PATCH 3/6] intel_iommu: provide AddressSpaceOps.iommu_get instance

2017-10-30 Thread Liu, Yi L
From: Peter Xu <pet...@redhat.com> Provide AddressSpaceOps.iommu_get() in Intel IOMMU emulator. Signed-off-by: Peter Xu <pet...@redhat.com> Signed-off-by: Liu, Yi L <yi.l@linux.intel.com> --- hw/i386/intel_iommu.c | 7 +++ include/hw/i386/intel_iommu.h | 2 ++

[Qemu-devel] [PATCH 5/6] vfio/pci: add notify framework based on IOMMUObject

2017-10-30 Thread Liu, Yi L
. If there is IOMMUObject behind the device AddressSpace(a.ka vIOMMU exposed). The VFIOGuestIOMMUObject instance would be allocated and inserted to the VFIOContainer.giommu_object_list. Signed-off-by: Liu, Yi L <yi.l@linux.intel.com> --- hw/vfio/pci.c

[Qemu-devel] [PATCH 2/6] memory: introduce AddressSpaceOps and IOMMUObject

2017-10-30 Thread Liu, Yi L
which is similar to MemoryRegionOps. The difference is IOMMUObjectOps is not relied on MemoryRegion. Signed-off-by: Peter Xu <pet...@redhat.com> Signed-off-by: Liu, Yi L <yi.l@linux.intel.com> --- hw/core/Makefile.objs | 1 + hw/core/io

[Qemu-devel] [PATCH 6/6] vfio/pci: register vfio_iommu_bind_pasidtbl_notify notifier

2017-10-30 Thread Liu, Yi L
include: * notifier for guest pasid table binding * notifier for guest iommu tlb invalidation Both of the two notifiers would be include in future virt-SVM patchset. In virt-SVM patchset, this notifier would be fulfilled. Signed-off-by: Liu, Yi L <yi.l@linux.intel.com> --- hw/vfio/pci.

[Qemu-devel] [PATCH 0/6] Introduce new iommu notifier framework

2017-10-30 Thread Liu, Yi L
uced here is going to be used in my virt-SVM patchset. For virt-SVM design details, you may refer to svm RFC patch. https://lists.gnu.org/archive/html/qemu-devel/2017-04/msg04925.html Liu, Yi L (3): vfio: rename GuestIOMMU to be GuestIOMMUMR vfio/pci: add notify framework based on IOMMUObject

[Qemu-devel] [PATCH 1/6] memory: rename existing iommu notifier to be iommu mr notifier

2017-10-30 Thread Liu, Yi L
tifier definitions. * all the notifier types from IOMMU_NOTIFIER_* prefix into IOMMU_MR_EVENT_* to better show its usage (for memory regions). * rename IOMMUNotifier to IOMMUMRNotifier * rename iommu_notifier to iommu_mr_notifier Signed-off-by: Peter Xu <pet...@redhat.com> Signed-off-by: Liu

[Qemu-devel] [PATCH 4/6] vfio: rename GuestIOMMU to be GuestIOMMUMR

2017-10-30 Thread Liu, Yi L
Rename GuestIOMMU to GuestIOMMUMR as the existing GuestIOMMU is for MemoryRegion related notifiers. Signed-off-by: Liu, Yi L <yi.l@linux.intel.com> --- hw/vfio/common.c | 15 --- include/hw/vfio/vfio-common.h | 8 2 files changed, 12 insertions(

Re: [Qemu-devel] [RFC PATCH 7/8] VFIO: Add new IOCTL for IOMMU TLB invalidate propagation

2017-07-19 Thread Liu, Yi L
On Mon, Jul 17, 2017 at 04:45:15PM -0600, Alex Williamson wrote: > On Mon, 17 Jul 2017 10:58:41 + > "Liu, Yi L" <yi.l@intel.com> wrote: > > > Hi Alex, > > > > Pls refer to the response inline. > > > > > -Original Message

Re: [Qemu-devel] [RFC PATCH 7/8] VFIO: Add new IOCTL for IOMMU TLB invalidate propagation

2017-07-17 Thread Liu, Yi L
Hi Alex, Pls refer to the response inline. > -Original Message- > From: kvm-ow...@vger.kernel.org [mailto:kvm-ow...@vger.kernel.org] On Behalf > Of Alex Williamson > Sent: Saturday, July 15, 2017 2:16 AM > To: Liu, Yi L <yi.l@intel.com> > Cc: Jean-Philippe Bru

Re: [Qemu-devel] [RFC PATCH 7/8] VFIO: Add new IOCTL for IOMMU TLB invalidate propagation

2017-07-14 Thread Liu, Yi L
[mailto:alex.william...@redhat.com] > Sent: Thursday, July 6, 2017 1:28 AM > To: Jean-Philippe Brucker <jean-philippe.bruc...@arm.com> > Cc: Tian, Kevin <kevin.t...@intel.com>; Liu, Yi L <yi.l@linux.intel.com>; > Lan, > Tianyu <tianyu@intel.com&g

Re: [Qemu-devel] [RFC PATCH 7/8] VFIO: Add new IOCTL for IOMMU TLB invalidate propagation

2017-07-04 Thread Liu, Yi L
Hi Jean, On Mon, Jul 03, 2017 at 12:52:52PM +0100, Jean-Philippe Brucker wrote: > Hi Yi, > > On 02/07/17 11:06, Liu, Yi L wrote: > > On Fri, May 12, 2017 at 01:11:02PM +0100, Jean-Philippe Brucker wrote: > > > > Hi Jean, > > > > As we've got a

Re: [Qemu-devel] [RFC PATCH 7/8] VFIO: Add new IOCTL for IOMMU TLB invalidate propagation

2017-07-03 Thread Liu, Yi L
ch on the data parsing. If we move the scope,flags,pasid,vaddr,size fields to vfio_iommu_tlb_invalidate, then both kernel space vfio and user space vfio needs to do much parsing. So I may prefer the way above. If you've got any other idea, pls feel free to post it. It's welcomed. Thanks, Yi L > Hi

Re: [Qemu-devel] [RFC PATCH 6/8] memory: introduce AddressSpaceOps

2017-06-08 Thread Liu, Yi L
Hi David, I added some update on your question. See if it make any sense. > -Original Message- > From: David Gibson [mailto:da...@gibson.dropbear.id.au] > Sent: Friday, May 26, 2017 1:30 PM > To: Peter Xu > On Thu, May 25, 2017 at 03:24:30PM +0800, Peter Xu wrote:

Re: [Qemu-devel] [RFC PATCH 8/8] iommu: introduce hw/core/iommu

2017-06-07 Thread Liu, Yi L
Hi Peter, Some updates on it. > -Original Message- > From: Peter Xu [mailto:pet...@redhat.com] > Sent: Thursday, April 27, 2017 5:34 PM > To: qemu-devel@nongnu.org > Cc: Lan, Tianyu <tianyu@intel.com>; Paolo Bonzini <pbonz...@redhat.com>; > Tian, Kevin &

Re: [Qemu-devel] [PATCH v4 08/10] intel_iommu: support passthrough (PT)

2017-05-25 Thread Liu, Yi L
On Fri, May 19, 2017 at 11:19:47AM +0800, Peter Xu wrote: Reviewed-by: Liu, Yi L <yi.l@linux.intel.com> Regards, Yi L > Hardware support for VT-d device passthrough. Although current Linux can > live with iommu=pt even without this, but this is faster than when using > softw

Re: [Qemu-devel] [RFC PATCH 1/8] iommu: Introduce bind_pasid_table API function

2017-05-23 Thread Liu, Yi L
On Fri, Apr 28, 2017 at 01:51:42PM +0100, Jean-Philippe Brucker wrote: > On 28/04/17 10:04, Liu, Yi L wrote: Hi Jean, Sorry for the delay response. Still have some follow-up comments on per-device or per-group. Pls refer to comments inline. > > On Wed, Apr 26, 2017 at 05:56:45PM +0

Re: [Qemu-devel] [RFC PATCH 09/20] Memory: introduce iommu_ops->record_device

2017-05-19 Thread Liu, Yi L
On Fri, May 19, 2017 at 09:07:49AM +, Tian, Kevin wrote: > > From: Liu, Yi L [mailto:yi.l@linux.intel.com] > > Sent: Friday, May 19, 2017 1:24 PM > > > > Hi Alex, > > > > What's your opinion with Tianyu's question? Is it accepatable > > to use

Re: [Qemu-devel] [RFC PATCH 09/20] Memory: introduce iommu_ops->record_device

2017-05-18 Thread Liu, Yi L
Hi Alex, What's your opinion with Tianyu's question? Is it accepatable to use VFIO API in intel_iommu emulator? Thanks, Yi L On Fri, Apr 28, 2017 at 02:46:16PM +0800, Lan Tianyu wrote: > On 2017年04月26日 18:06, Liu, Yi L wrote: > > With vIOMMU exposed to guest, vIOMMU emulator ne

Re: [Qemu-devel] [RFC PATCH 5/8] VFIO: Add new IOTCL for PASID Table bind propagation

2017-05-18 Thread Liu, Yi L
On Fri, May 12, 2017 at 03:58:51PM -0600, Alex Williamson wrote: > On Wed, 26 Apr 2017 18:12:02 +0800 > "Liu, Yi L" <yi.l@intel.com> wrote: > > > From: "Liu, Yi L" <yi.l@linux.intel.com> > > > > This patch adds VFIO_IOMMU_S

Re: [Qemu-devel] [RFC PATCH 4/8] iommu/vt-d: Add iommu do invalidate function

2017-05-18 Thread Liu, Yi L
On Fri, May 12, 2017 at 03:59:18PM -0600, Alex Williamson wrote: > On Wed, 26 Apr 2017 18:12:01 +0800 > "Liu, Yi L" <yi.l@intel.com> wrote: > > > From: Jacob Pan <jacob.jun@linux.intel.com> > > > > This patch adds Intel VT-d specific

Re: [Qemu-devel] [RFC PATCH 3/8] iommu: Introduce iommu do invalidate API function

2017-05-18 Thread Liu, Yi L
On Fri, May 12, 2017 at 03:59:24PM -0600, Alex Williamson wrote: > On Wed, 26 Apr 2017 18:12:00 +0800 > "Liu, Yi L" <yi.l@intel.com> wrote: > Hi Alex, Pls refer to the open I mentioned in this email, I need your comments on it to prepare the formal patchset fo

Re: [Qemu-devel] [RFC PATCH 1/8] iommu: Introduce bind_pasid_table API function

2017-05-15 Thread Liu, Yi L
On Fri, May 12, 2017 at 03:59:14PM -0600, Alex Williamson wrote: > On Wed, 26 Apr 2017 18:11:58 +0800 > "Liu, Yi L" <yi.l@intel.com> wrote: > > > From: Jacob Pan <jacob.jun@linux.intel.com> > > > > Virtual IOMMU was proposed to

Re: [Qemu-devel] [RFC PATCH 7/8] VFIO: Add new IOCTL for IOMMU TLB invalidate propagation

2017-05-15 Thread Liu, Yi L
On Fri, May 12, 2017 at 03:58:43PM -0600, Alex Williamson wrote: > On Wed, 26 Apr 2017 18:12:04 +0800 > "Liu, Yi L" <yi.l@intel.com> wrote: > > > From: "Liu, Yi L" <yi.l@linux.intel.com> > > > > This patch adds VFIO_IOMMU_TLB_IN

Re: [Qemu-devel] [RFC PATCH 7/8] VFIO: Add new IOCTL for IOMMU TLB invalidate propagation

2017-05-15 Thread Liu, Yi L
On Fri, May 12, 2017 at 01:11:02PM +0100, Jean-Philippe Brucker wrote: > Hi Yi, > > On 26/04/17 11:12, Liu, Yi L wrote: > > From: "Liu, Yi L" <yi.l@linux.intel.com> > > > > This patch adds VFIO_IOMMU_TLB_INVALIDATE to propagate IOMMU TL

Re: [Qemu-devel] [RFC PATCH 6/8] VFIO: do pasid table binding

2017-05-12 Thread Liu, Yi L
On Tue, May 09, 2017 at 03:55:20PM +0800, Xiao Guangrong wrote: > > > On 04/26/2017 06:12 PM, Liu, Yi L wrote: > >From: "Liu, Yi L" <yi.l@linux.intel.com> > > > >This patch adds IOCTL processing in vfio_iommu_type1 for > >VFIO_IOMMU_SVM_BI

Re: [Qemu-devel] [RFC PATCH 5/8] VFIO: Add new IOTCL for PASID Table bind propagation

2017-05-12 Thread Liu, Yi L
On Wed, Apr 26, 2017 at 06:12:02PM +0800, Liu, Yi L wrote: > From: "Liu, Yi L" <yi.l@linux.intel.com> Hi Alex, In this patchset, I'm trying to add two new IOCTL cmd for Shared Virtual Memory virtualization. One for binding guest PASID Table and one for iommu tlb invalidat

Re: [Qemu-devel] [RFC PATCH 03/20] intel_iommu: add "svm" option

2017-05-09 Thread Liu, Yi L
On Mon, May 08, 2017 at 07:20:34PM +0800, Peter Xu wrote: > On Mon, May 08, 2017 at 10:38:09AM +0000, Liu, Yi L wrote: > > On Thu, 27 Apr 2017 18:53:17 +0800 > > Peter Xu <pet...@redhat.com> wrote: > > > > > On Wed, Apr 26, 2017 at 06:06:33PM +0800, Liu, Yi L w

Re: [Qemu-devel] [RFC PATCH 03/20] intel_iommu: add "svm" option

2017-05-08 Thread Liu, Yi L
On Thu, 27 Apr 2017 18:53:17 +0800 Peter Xu <pet...@redhat.com> wrote: > On Wed, Apr 26, 2017 at 06:06:33PM +0800, Liu, Yi L wrote: > > Expose "Shared Virtual Memory" to guest by using "svm" option. > > Also use "svm" to expose SVM related capabi

Re: [Qemu-devel] [RFC PATCH 6/8] memory: introduce AddressSpaceOps

2017-05-08 Thread Liu, Yi L
On Mon, May 08, 2017 at 03:32:17PM +0800, Peter Xu wrote: > On Mon, May 08, 2017 at 04:07:44PM +1000, David Gibson wrote: > > On Mon, May 08, 2017 at 01:48:14PM +0800, Peter Xu wrote: > > > On Mon, May 01, 2017 at 02:58:22PM +1000, David Gibson wrote: > > > > On Thu, Apr 27, 2017 at 05:34:18PM

Re: [Qemu-devel] [RFC PATCH 0/8] Shared Virtual Memory virtualization for VT-d

2017-05-08 Thread Liu, Yi L
Be free to let me know if you want more detail. Thanks, Yi L > > Thanks! > > On 04/26/2017 06:11 PM, Liu, Yi L wrote: > >Hi, > > > >This patchset introduces SVM virtualization for intel_iommu in > >IOMMU/VFIO. The total SVM virtualization for intel_iomm

Re: [Qemu-devel] [RFC PATCH 8/8] iommu: introduce hw/core/iommu

2017-04-28 Thread Liu, Yi L
On Thu, Apr 27, 2017 at 05:34:20PM +0800, Peter Xu wrote: > Time to consider a common stuff for IOMMU. Let's start from an common > IOMMU object (which should be inlayed in custom IOMMU implementations) > and a notifier mechanism. > > Let VT-d IOMMU be the first user. > > An example to use this

Re: [Qemu-devel] [RFC PATCH 02/20] intel_iommu: exposed extended-context mode to guest

2017-04-28 Thread Liu, Yi L
On Fri, Apr 28, 2017 at 02:00:15PM +0800, Lan Tianyu wrote: > On 2017年04月27日 18:32, Peter Xu wrote: > > On Wed, Apr 26, 2017 at 06:06:32PM +0800, Liu, Yi L wrote: > >> VT-d implementations reporting PASID or PRS fields as "Set", must also > >> report ecap.ECS a

Re: [Qemu-devel] [RFC PATCH 02/20] intel_iommu: exposed extended-context mode to guest

2017-04-28 Thread Liu, Yi L
On Thu, Apr 27, 2017 at 06:32:21PM +0800, Peter Xu wrote: > On Wed, Apr 26, 2017 at 06:06:32PM +0800, Liu, Yi L wrote: > > VT-d implementations reporting PASID or PRS fields as "Set", must also > > report ecap.ECS as "Set". Extended-Context is required for SVM. &

Re: [Qemu-devel] [RFC PATCH 1/8] iommu: Introduce bind_pasid_table API function

2017-04-28 Thread Liu, Yi L
On Wed, Apr 26, 2017 at 05:56:45PM +0100, Jean-Philippe Brucker wrote: > Hi Yi, Jacob, > > On 26/04/17 11:11, Liu, Yi L wrote: > > From: Jacob Pan <jacob.jun@linux.intel.com> > > > > Virtual IOMMU was proposed to support Shared Virtual Memory (SVM) use

Re: [Qemu-devel] [RFC PATCH 1/8] iommu: Introduce bind_pasid_table API function

2017-04-28 Thread Liu, Yi L
On Thu, Apr 27, 2017 at 11:12:45AM +0100, Jean-Philippe Brucker wrote: > On 27/04/17 07:36, Liu, Yi L wrote: > > On Wed, Apr 26, 2017 at 05:56:45PM +0100, Jean-Philippe Brucker wrote: > >> Hi Yi, Jacob, > >> > >> On 26/04/17 11:11, Liu, Yi L wro

Re: [Qemu-devel] [RFC PATCH 12/20] Memory: Add func to fire pasidt_bind notifier

2017-04-27 Thread Liu, Yi L
On Thu, Apr 27, 2017 at 02:14:27PM +0800, Peter Xu wrote: > On Thu, Apr 27, 2017 at 10:37:19AM +0800, Liu, Yi L wrote: > > On Wed, Apr 26, 2017 at 03:50:16PM +0200, Paolo Bonzini wrote: > > > > > > > > > On 26/04/2017 12:06, Liu, Yi L wrote: > > >

Re: [Qemu-devel] [RFC PATCH 1/8] iommu: Introduce bind_pasid_table API function

2017-04-27 Thread Liu, Yi L
On Wed, Apr 26, 2017 at 05:56:45PM +0100, Jean-Philippe Brucker wrote: > Hi Yi, Jacob, > > On 26/04/17 11:11, Liu, Yi L wrote: > > From: Jacob Pan <jacob.jun@linux.intel.com> > > > > Virtual IOMMU was proposed to support Shared Virtual Memory (SVM) use

Re: [Qemu-devel] [RFC PATCH 5/8] VFIO: Add new IOTCL for PASID Table bind propagation

2017-04-27 Thread Liu, Yi L
On Wed, Apr 26, 2017 at 05:56:50PM +0100, Jean-Philippe Brucker wrote: > On 26/04/17 11:12, Liu, Yi L wrote: > > From: "Liu, Yi L" <yi.l@linux.intel.com> > > > > This patch adds VFIO_IOMMU_SVM_BIND_TASK for potential PASID table > > binding reque

Re: [Qemu-devel] [RFC PATCH 12/20] Memory: Add func to fire pasidt_bind notifier

2017-04-26 Thread Liu, Yi L
On Wed, Apr 26, 2017 at 03:50:16PM +0200, Paolo Bonzini wrote: > > > On 26/04/2017 12:06, Liu, Yi L wrote: > > +void memory_region_notify_iommu_svm_bind(MemoryRegion *mr, > > + void *data) > > +{ > > +

[Qemu-devel] [RFC PATCH 8/8] VFIO: do IOMMU TLB invalidation from guest

2017-04-26 Thread Liu, Yi L
From: "Liu, Yi L" <yi.l@linux.intel.com> This patch adds support for VFIO_IOMMU_TLB_INVALIDATE cmd in vfio_iommu_type1. For SVM virtualization on VT-d, for VFIO_IOMMU_TLB_INVALIDATE, it calls iommu_ops->do_invalidate() to submit the guest iommu cache invalidation to

[Qemu-devel] [RFC PATCH 4/8] iommu/vt-d: Add iommu do invalidate function

2017-04-26 Thread Liu, Yi L
s down all descriptors from the guest to the physical IOMMU. The assumption is that guest to host device ID mapping should be resolved prior to calling IOMMU driver. Based on the device handle, host IOMMU driver can replace certain fields before submit to the invalidation queue. Signed-off-by: Liu

[Qemu-devel] [RFC PATCH 2/8] iommu/vt-d: add bind_pasid_table function

2017-04-26 Thread Liu, Yi L
ed-off-by: Jacob Pan <jacob.jun@linux.intel.com> Signed-off-by: Liu, Yi L <yi.l@linux.intel.com> --- drivers/iommu/intel-iommu.c | 103 ++ include/linux/dma_remapping.h | 1 + 2 files changed, 104 insertions(+) diff --git a/drivers/iom

[Qemu-devel] [RFC PATCH 5/8] VFIO: Add new IOTCL for PASID Table bind propagation

2017-04-26 Thread Liu, Yi L
From: "Liu, Yi L" <yi.l@linux.intel.com> This patch adds VFIO_IOMMU_SVM_BIND_TASK for potential PASID table binding requests. On VT-d, this IOCTL cmd would be used to link the guest PASID page table to host. While for other vendors, it may also be used to support other

[Qemu-devel] [RFC PATCH 20/20] intel_iommu: propagate Ext-Device-TLB invalidate to host

2017-04-26 Thread Liu, Yi L
in pIOMMU. In future maybe PASID needs to be replaced. Signed-off-by: Liu, Yi L <yi.l@linux.intel.com> --- hw/i386/intel_iommu.c | 43 ++ hw/i386/intel_iommu_internal.h | 7 +++ 2 files changed, 50 insertions(+) diff --git a/h

[Qemu-devel] [RFC PATCH 0/8] Shared Virtual Memory virtualization for VT-d

2017-04-26 Thread Liu, Yi L
do invalidate function Liu, Yi L (5): iommu: Introduce iommu do invalidate API function VFIO: Add new IOTCL for PASID Table bind propagation VFIO: do pasid table binding VFIO: Add new IOCTL for IOMMU TLB invalidate propagation VFIO: do IOMMU TLB invalidation from guest drivers/iommu/

[Qemu-devel] [RFC PATCH 13/20] IOMMU: add pasid_table_info for guest pasid table

2017-04-26 Thread Liu, Yi L
This patch adds iommu.h to define some generic definition for IOMMU. Here defines "struct pasid_table_info" for guest pasid table bind. Signed-off-by: Liu, Yi L <yi.l@linux.intel.com> --- linux-headers/linux/iommu.h | 30 ++ 1 file change

[Qemu-devel] [RFC PATCH 7/8] VFIO: Add new IOCTL for IOMMU TLB invalidate propagation

2017-04-26 Thread Liu, Yi L
From: "Liu, Yi L" <yi.l@linux.intel.com> This patch adds VFIO_IOMMU_TLB_INVALIDATE to propagate IOMMU TLB invalidate request from guest to host. In the case of SVM virtualization on VT-d, host IOMMU driver has no knowledge of caching structure updates unless the guest invalid

[Qemu-devel] [RFC PATCH 18/20] intel_iommu: propagate Extended-IOTLB invalidate to host

2017-04-26 Thread Liu, Yi L
. In future PASID may also need to be replaced. Signed-off-by: Liu, Yi L <yi.l@linux.intel.com> --- hw/i386/intel_iommu.c | 126 + hw/i386/intel_iommu_internal.h | 33 +++ 2 files changed, 159 insertions(+) diff --git a/hw/i386/intel_iom

[Qemu-devel] [RFC PATCH 6/8] VFIO: do pasid table binding

2017-04-26 Thread Liu, Yi L
From: "Liu, Yi L" <yi.l@linux.intel.com> This patch adds IOCTL processing in vfio_iommu_type1 for VFIO_IOMMU_SVM_BIND_TASK. Binds the PASID table bind by calling iommu_ops->bind_pasid_table to link the whole PASID table to pIOMMU. For VT-d, it is linking the guest PASID t

[Qemu-devel] [RFC PATCH 10/20] VFIO: notify vIOMMU emulator when device is assigned

2017-04-26 Thread Liu, Yi L
With vIOMMU exposed to guest, notify vIOMMU emulator to record information of this assigned device. This patch adds iommu_ops->record_device to record the host bus/slot/function for this device. In future, it can be extended to other info which is needed. Signed-off-by: Liu, Yi L &l

[Qemu-devel] [RFC PATCH 3/8] iommu: Introduce iommu do invalidate API function

2017-04-26 Thread Liu, Yi L
From: "Liu, Yi L" <yi.l@linux.intel.com> When a SVM capable device is assigned to a guest, the first level page tables are owned by the guest and the guest PASID table pointer is linked to the device context entry of the physical IOMMU. Host IOMMU driver has no knowledge of c

[Qemu-devel] [RFC PATCH 16/20] VFIO: Add notifier for propagating IOMMU TLB invalidate

2017-04-26 Thread Liu, Yi L
ary to introduce this new notifier to meet the SVM virtualization requirement. Further detail would be included in the patch below: "intel_iommu: propagate Extended-IOTLB invalidate to host" Signed-off-by: Liu, Yi L <yi.l@linux.intel.com> --- hw/vfio/pci.c

[Qemu-devel] [RFC PATCH 09/20] Memory: introduce iommu_ops->record_device

2017-04-26 Thread Liu, Yi L
ify vIOMMU emulator to record necessary information about the assigned device. Signed-off-by: Liu, Yi L <yi.l@linux.intel.com> --- include/exec/memory.h | 11 +++ memory.c | 12 2 files changed, 23 insertions(+) diff --git a/include/exec/memory.h b/inc

[Qemu-devel] [RFC PATCH 19/20] intel_iommu: propagate PASID-Cache invalidate to host

2017-04-26 Thread Liu, Yi L
submitting to pIOMMU. e.g. guest domain ID must be replaced with the real domain ID in host. In future PASID may need to be replaced. Signed-off-by: Liu, Yi L <yi.l@linux.intel.com> --- hw/i386/intel_iommu.c | 56 ++ hw/i386/intel_iommu_internal.

[Qemu-devel] [RFC PATCH 1/8] iommu: Introduce bind_pasid_table API function

2017-04-26 Thread Liu, Yi L
Signed-off-by: Jacob Pan <jacob.jun@linux.intel.com> Signed-off-by: Liu, Yi L <yi.l@linux.intel.com> --- drivers/iommu/iommu.c | 19 +++ include/linux/iommu.h | 31 +++ 2 files changed, 50 insertions(+) diff --git a/drivers/iommu/iommu.c

[Qemu-devel] [RFC PATCH 15/20] intel_iommu: link whole guest pasid table to host

2017-04-26 Thread Liu, Yi L
tor should capture it, then link the whole guest PASID table to host and enable nested mode for the assigned device. Signed-off-by: Liu, Yi L <yi.l@linux.intel.com> --- hw/i386/intel_iommu.c | 121 +++-- hw/i386/intel_iommu_internal.h | 11

[Qemu-devel] [RFC PATCH 03/20] intel_iommu: add "svm" option

2017-04-26 Thread Liu, Yi L
Expose "Shared Virtual Memory" to guest by using "svm" option. Also use "svm" to expose SVM related capabilities to guest. e.g. "-device intel-iommu, svm=on" Signed-off-by: Liu, Yi L <yi.l@linux.intel.com> --- hw/i386/intel_iommu.c |

[Qemu-devel] [RFC PATCH 17/20] Memory: Add func to fire TLB invalidate notifier

2017-04-26 Thread Liu, Yi L
This patch adds a separate function to fire IOMMU TLB invalidate notifier. Signed-off-by: Liu, Yi L <yi.l@linux.intel.com> --- include/exec/memory.h | 9 + memory.c | 18 ++ 2 files changed, 27 insertions(+) diff --git a/include/exec/memory.h b/i

[Qemu-devel] [RFC PATCH 12/20] Memory: Add func to fire pasidt_bind notifier

2017-04-26 Thread Liu, Yi L
-off-by: Liu, Yi L <yi.l@linux.intel.com> --- include/exec/memory.h | 11 +++ memory.c | 21 + 2 files changed, 32 insertions(+) diff --git a/include/exec/memory.h b/include/exec/memory.h index 49087ef..3b8f487 100644 --- a/include/exec/memory.h

[Qemu-devel] [RFC PATCH 11/20] intel_iommu: provide iommu_ops->record_device

2017-04-26 Thread Liu, Yi L
This patch provides iommu_ops->record_device implementation for intel_iommu. It records the host sid in the IntelIOMMUNotifierNode for further virtualization usage. e.g. guest sid -> host sid translation during propagating 1st level cache invalidation from guest to host. Signed-off-by: Liu

[Qemu-devel] [RFC PATCH 04/20] Memory: modify parameter in IOMMUNotifier func

2017-04-26 Thread Liu, Yi L
This patch modifies parameter of IOMMUNotifier, use "void *data" instead of "IOMMUTLBEntry*". This is to extend it to support notifiers other than MAP/UNMAP. Signed-off-by: Liu, Yi L <yi.l@linux.intel.com> --- hw/vfio/common.c | 3 ++- hw/virtio/vhost.c

[Qemu-devel] [RFC PATCH 14/20] intel_iommu: add FOR_EACH_ASSIGN_DEVICE macro

2017-04-26 Thread Liu, Yi L
Add FOR_EACH_ASSIGN_DEVICE. It would be used to loop all assigned devices when processing guest pasid table linking and iommu cache invalidate propagation. Signed-off-by: Liu, Yi L <yi.l@linux.intel.com> --- hw/i386/intel_iommu.c | 32 h

[Qemu-devel] [RFC PATCH 08/20] Memory: add notifier flag check in memory_replay()

2017-04-26 Thread Liu, Yi L
-by: Liu, Yi L <yi.l@linux.intel.com> --- memory.c | 8 1 file changed, 8 insertions(+) diff --git a/memory.c b/memory.c index 9c253cc..0728e62 100644 --- a/memory.c +++ b/memory.c @@ -1630,6 +1630,14 @@ void memory_region_iommu_replay(MemoryRegion *mr, IOMMUNotifier *n, hwadd

[Qemu-devel] [RFC PATCH 07/20] VFIO: check notifier flag in region_del()

2017-04-26 Thread Liu, Yi L
d notifier is needed. The newly added pasid table bind notifier would be unregistered in the vfio_disconnect_container(). The link below would direct you to Peter's dynamic switch patch. https://www.mail-archive.com/qemu-devel@nongnu.org/msg62.html Signed-off-by: Liu, Yi L <yi.l@li

[Qemu-devel] [RFC PATCH 02/20] intel_iommu: exposed extended-context mode to guest

2017-04-26 Thread Liu, Yi L
y SVM capable device. Signed-off-by: Liu, Yi L <yi.l@linux.intel.com> --- hw/i386/intel_iommu.c | 131 +++-- hw/i386/intel_iommu_internal.h | 9 +++ include/hw/i386/intel_iommu.h | 2 +- 3 files changed, 97 insertions(+), 45 deletion

[Qemu-devel] [RFC PATCH 06/20] VFIO: add new notifier for binding PASID table

2017-04-26 Thread Liu, Yi L
ion_add would not be triggered. While for the newly added notifier, it requires to be registered once virtual intel_iommu is exposed to guest. Signed-off-by: Liu, Yi L <yi.l@linux.intel.com> --- hw/vfio/common.c | 37 +++--- hw/vfio/pci.c

[Qemu-devel] [RFC PATCH 05/20] VFIO: add new IOCTL for svm bind tasks

2017-04-26 Thread Liu, Yi L
ace driver, VFIO_SVM_BIND_PGTABLE is added to support page table bind from guest. https://patchwork.kernel.org/patch/9594231/ Signed-off-by: Liu, Yi L <yi.l@linux.intel.com> --- linux-headers/linux/vfio.h | 18 ++ 1 file changed, 18 insertions(+) diff --git a/linux-head

[Qemu-devel] [RFC PATCH 01/20] intel_iommu: add "ecs" option

2017-04-26 Thread Liu, Yi L
Report ecap.ECS=1 to guest by "-deivce intel-iommu, ecs=on" in QEMU Cmd Signed-off-by: Liu, Yi L <yi.l@linux.intel.com> --- hw/i386/intel_iommu.c | 5 + hw/i386/intel_iommu_internal.h | 1 + include/hw/i386/intel_iommu.h | 1 + 3 files changed, 7 insertions(+)

[Qemu-devel] [RFC PATCH 00/20] Qemu: Extend intel_iommu emulator to support Shared Virtual Memory

2017-04-26 Thread Liu, Yi L
proposed invalidate request VIRTIO_IOMMU_T_INVALIDATE. So it may be preferred to have opaque part when doing the iommu tlb invalidate propagation in SVM virtualization. http://www.spinics.net/lists/kvm/msg147993.html Best Wishes, Yi L Liu, Yi L (20): intel_iommu: add "ecs" option

Re: [Qemu-devel] [PATCH v2 7/7] intel_iommu: support passthrough (PT)

2017-04-20 Thread Liu, Yi L
> -Original Message- > From: Peter Xu [mailto:pet...@redhat.com] > Sent: Thursday, April 20, 2017 1:40 PM > To: Liu, Yi L <yi.l@intel.com> > Cc: Lan, Tianyu <tianyu@intel.com>; qemu-devel@nongnu.org; Michael S . > Tsirkin <m...@redhat.com&

Re: [Qemu-devel] [PATCH v2 7/7] intel_iommu: support passthrough (PT)

2017-04-19 Thread Liu, Yi L
> -Original Message- > From: Peter Xu [mailto:pet...@redhat.com] > Sent: Thursday, April 20, 2017 11:04 AM > To: Lan, Tianyu <tianyu@intel.com> > Cc: Liu, Yi L <yi.l@intel.com>; qemu-devel@nongnu.org; Michael S . Tsirkin > <m...@redhat.com>; Jaso

<    1   2   3   4   5   6   7   >