Re: [Qemu-devel] [PATCH v3 00/12] Introduce new iommu notifier framework for virt-SVA

2018-03-08 Thread Liu, Yi L
> From: Peter Xu [mailto:pet...@redhat.com]
> Sent: Wednesday, March 7, 2018 1:38 PM
> To: Liu, Yi L 
> Cc: Liu, Yi L ; qemu-devel@nongnu.org; 
> m...@redhat.com;
> da...@gibson.dropbear.id.au; pbonz...@redhat.com; alex.william...@redhat.com;
> eric.auger@gmail.com; Tian, Kevin ;
> jasow...@redhat.com
> Subject: Re: [PATCH v3 00/12] Introduce new iommu notifier framework for 
> virt-SVA
> 
> On Tue, Mar 06, 2018 at 07:45:39AM +, Liu, Yi L wrote:
> 
> [...]
> 
> > > Do you have online branch so that I can check out?
> >
> > yes, I should have pasted it. Here it is:
> > https://github.com/luxis1999/sva_notifier.git
> 
> Thanks.
> 
> >
> > > The patches are a bit scattered and it's really hard for me to
> > > reference things within it... So a complete tree to read would be
> > > nice.
> > >
> > > I roughly went over most of the patches, and the framework you
> > > introduced is still not that clear to me.  For now I feel like it
> > > can be simplified somehow, but I'll hold and speak after I read the
> > > whole tree again.
> > >
> > > Also, it'll be good too if you can always provide some status update
> > > of the kernel-counterpart it.
> >
> > Good suggestion. For this patchset, it only affects Qemu. Yeah, but
> > for the whole virt-SVA enabling, there is kernel-counterparts. I would
> > do it in the virt-SVA patchset series.
> 
> If you still want to post separately - I'm thinking whether it'll be good you 
> put the
> vfio changes into the 2nd virt-sva series, since that looks more like in that 
> category.
> Or say, we can introduce SVAOps/PASIDOps, we implement more vIOMMU
> invalidation request handling, we call it in IOMMU code, but we don't 
> implement any
> of the device (vfio) that provide that ops.
> 
> Or maybe we can just post the whole stuff altogether, since after all these 
> two series
> are still closely related IMHO (e.g., the SVAOps definition should be closely 
> related to
> how the first vfio user would like to use it).
> 
> Only my two cents, and I don't know how other people think.  It's up to you 
> after
> all. :)

Your suggestion is appreciated. My initial plan is: if the SVAOps/PASIDOps and
SVAContext proposal is accepted by reviewers. Then I can further merge the two
series. So far, still needs to work with David on the SVAContext definition. 
I'll
balance the suggestion from you when sending next version.

Thanks,
Yi Liu



Re: [Qemu-devel] [PATCH v3 00/12] Introduce new iommu notifier framework for virt-SVA

2018-03-06 Thread Peter Xu
On Tue, Mar 06, 2018 at 07:45:39AM +, Liu, Yi L wrote:

[...]

> > Do you have online branch so that I can check out?
> 
> yes, I should have pasted it. Here it is:
> https://github.com/luxis1999/sva_notifier.git

Thanks.

> 
> > The patches are a bit scattered and it's really hard for me to
> > reference things within it... So a complete tree to read would be
> > nice.
> > 
> > I roughly went over most of the patches, and the framework you
> > introduced is still not that clear to me.  For now I feel like it can
> > be simplified somehow, but I'll hold and speak after I read the whole
> > tree again.
> > 
> > Also, it'll be good too if you can always provide some status update
> > of the kernel-counterpart it.
> 
> Good suggestion. For this patchset, it only affects Qemu. Yeah, but for
> the whole virt-SVA enabling, there is kernel-counterparts. I would do
> it in the virt-SVA patchset series.

If you still want to post separately - I'm thinking whether it'll be
good you put the vfio changes into the 2nd virt-sva series, since that
looks more like in that category.  Or say, we can introduce
SVAOps/PASIDOps, we implement more vIOMMU invalidation request
handling, we call it in IOMMU code, but we don't implement any of the
device (vfio) that provide that ops.

Or maybe we can just post the whole stuff altogether, since after all
these two series are still closely related IMHO (e.g., the SVAOps
definition should be closely related to how the first vfio user would
like to use it).

Only my two cents, and I don't know how other people think.  It's up
to you after all. :)

Thanks,

-- 
Peter Xu



Re: [Qemu-devel] [PATCH v3 00/12] Introduce new iommu notifier framework for virt-SVA

2018-03-05 Thread Liu, Yi L
> From: Peter Xu [mailto:pet...@redhat.com]
> Sent: Tuesday, March 6, 2018 2:56 PM
> Subject: Re: [PATCH v3 00/12] Introduce new iommu notifier framework for 
> virt-SVA
> 
> On Thu, Mar 01, 2018 at 06:33:23PM +0800, Liu, Yi L wrote:
> > This patchset is to introduce a notifier framework for virt-SVA.
> > You may find virt-SVA design details from the link below.
> >
> > https://lists.gnu.org/archive/html/qemu-devel/2017-04/msg04925.html
> >
> > SVA is short for Shared Virtual Addressing. This is also called Shared
> > Virtual Memory in previous patchsets. However, SVM is confusing as it
> > can also be short for Secure Virtual Machine. So this patchset use
> > Shared Virtual Addressing instead of Shared Virtual Memory. And it
> > would be applied in future (SVA)related patch series as well.
> >
> > Qemu has an existing notifier framework based on MemoryRegion, which
> > are used for MAP/UNMAP. However, it is not well suited for virt-SVA.
> > Reasons are as below:
> > - virt-SVA works along with PT = 1
> > - if PT = 1 IOMMU MR are disabled so MR notifier are not registered
> > - new notifiers do not fit nicely in this framework as they need to be
> >   registered even if PT = 1
> > - need a new framework to attach the new notifiers
> > - Additional background can be got from:
> >   https://lists.gnu.org/archive/html/qemu-devel/2017-04/msg04931.html
> >
> > So a new iommu notifier framework is needed. This patchset introduces
> > a notifier framework based on IOMMUSVAContext. IOMMUSVAContext is
> > introduced to be an abstract of virt-SVA operations in Qemu.
> >
> > Patch Overview:
> > * 1 - 2: rename existing naming, the IOMMU MemoryRegion Notifier
> >  framework
> > * 3 - 4: introduce SVA notifier framework based on IOMMUSVAContext
> > * 5 - 7: introduce PCISVAOps and expose the SVA notfier framework
> >  through hw/pci layer
> > * 8 - 12: show the usage of SVA notifier in Intel vIOMMU emulator
> 
> Do you have online branch so that I can check out?

yes, I should have pasted it. Here it is:
https://github.com/luxis1999/sva_notifier.git

> The patches are a bit scattered and it's really hard for me to
> reference things within it... So a complete tree to read would be
> nice.
> 
> I roughly went over most of the patches, and the framework you
> introduced is still not that clear to me.  For now I feel like it can
> be simplified somehow, but I'll hold and speak after I read the whole
> tree again.
> 
> Also, it'll be good too if you can always provide some status update
> of the kernel-counterpart it.

Good suggestion. For this patchset, it only affects Qemu. Yeah, but for
the whole virt-SVA enabling, there is kernel-counterparts. I would do
it in the virt-SVA patchset series.

Thanks,
Yi Liu


Re: [Qemu-devel] [PATCH v3 00/12] Introduce new iommu notifier framework for virt-SVA

2018-03-05 Thread Peter Xu
On Thu, Mar 01, 2018 at 06:33:23PM +0800, Liu, Yi L wrote:
> This patchset is to introduce a notifier framework for virt-SVA.
> You may find virt-SVA design details from the link below.
> 
> https://lists.gnu.org/archive/html/qemu-devel/2017-04/msg04925.html
> 
> SVA is short for Shared Virtual Addressing. This is also called Shared
> Virtual Memory in previous patchsets. However, SVM is confusing as it
> can also be short for Secure Virtual Machine. So this patchset use
> Shared Virtual Addressing instead of Shared Virtual Memory. And it
> would be applied in future (SVA)related patch series as well.
> 
> Qemu has an existing notifier framework based on MemoryRegion, which
> are used for MAP/UNMAP. However, it is not well suited for virt-SVA.
> Reasons are as below:
> - virt-SVA works along with PT = 1
> - if PT = 1 IOMMU MR are disabled so MR notifier are not registered
> - new notifiers do not fit nicely in this framework as they need to be
>   registered even if PT = 1
> - need a new framework to attach the new notifiers
> - Additional background can be got from:
>   https://lists.gnu.org/archive/html/qemu-devel/2017-04/msg04931.html
> 
> So a new iommu notifier framework is needed. This patchset introduces
> a notifier framework based on IOMMUSVAContext. IOMMUSVAContext is
> introduced to be an abstract of virt-SVA operations in Qemu.
> 
> Patch Overview:
> * 1 - 2: rename existing naming, the IOMMU MemoryRegion Notifier
>  framework
> * 3 - 4: introduce SVA notifier framework based on IOMMUSVAContext
> * 5 - 7: introduce PCISVAOps and expose the SVA notfier framework
>  through hw/pci layer
> * 8 - 12: show the usage of SVA notifier in Intel vIOMMU emulator

Do you have online branch so that I can check out?

The patches are a bit scattered and it's really hard for me to
reference things within it... So a complete tree to read would be
nice.

I roughly went over most of the patches, and the framework you
introduced is still not that clear to me.  For now I feel like it can
be simplified somehow, but I'll hold and speak after I read the whole
tree again.

Also, it'll be good too if you can always provide some status update
of the kernel-counterpart it.

Thanks,

-- 
Peter Xu



Re: [Qemu-devel] [PATCH v3 00/12] Introduce new iommu notifier framework for virt-SVA

2018-03-05 Thread Liu, Yi L
On Thu, Mar 01, 2018 at 03:32:22PM +0200, Michael S. Tsirkin wrote:
> On Thu, Mar 01, 2018 at 06:31:50PM +0800, Liu, Yi L wrote:
> > This patchset is to introduce a notifier framework for virt-SVA.
> > You may find virt-SVA design details from the link below.
> > 
> > https://lists.gnu.org/archive/html/qemu-devel/2017-04/msg04925.html
> > 
> > SVA is short for Shared Virtual Addressing. This is also called Shared
> > Virtual Memory in previous patchsets. However, SVM is confusing as it
> > can also be short for Secure Virtual Machine. So this patchset use
> > Shared Virtual Addressing instead of Shared Virtual Memory. And it
> > would be applied in future (SVA)related patch series as well.
> 
> Just as a matter of naming, it might be a good idea to just call
> this feature "PASID support". QEMU only cares about the mechanism,
> now about how applications use it.

Thanks for the idea. Will apply it in the next version.

Regards,
Yi Liu



Re: [Qemu-devel] [PATCH v3 00/12] Introduce new iommu notifier framework for virt-SVA

2018-03-01 Thread Michael S. Tsirkin
On Thu, Mar 01, 2018 at 06:31:50PM +0800, Liu, Yi L wrote:
> This patchset is to introduce a notifier framework for virt-SVA.
> You may find virt-SVA design details from the link below.
> 
> https://lists.gnu.org/archive/html/qemu-devel/2017-04/msg04925.html
> 
> SVA is short for Shared Virtual Addressing. This is also called Shared
> Virtual Memory in previous patchsets. However, SVM is confusing as it
> can also be short for Secure Virtual Machine. So this patchset use
> Shared Virtual Addressing instead of Shared Virtual Memory. And it
> would be applied in future (SVA)related patch series as well.

Just as a matter of naming, it might be a good idea to just call
this feature "PASID support". QEMU only cares about the mechanism,
now about how applications use it.


> Qemu has an existing notifier framework based on MemoryRegion, which
> are used for MAP/UNMAP. However, it is not well suited for virt-SVA.
> Reasons are as below:
> - virt-SVA works along with PT = 1
> - if PT = 1 IOMMU MR are disabled so MR notifier are not registered
> - new notifiers do not fit nicely in this framework as they need to be
>   registered even if PT = 1
> - need a new framework to attach the new notifiers
> - Additional background can be got from:
>   https://lists.gnu.org/archive/html/qemu-devel/2017-04/msg04931.html
> 
> So a new iommu notifier framework is needed. This patchset introduces
> a notifier framework based on IOMMUSVAContext. IOMMUSVAContext is
> introduced to be an abstract of virt-SVA operations in Qemu.
> 
> Patch Overview:
> * 1 - 2: rename existing naming, the IOMMU MemoryRegion Notifier
>  framework
> * 3 - 4: introduce SVA notifier framework based on IOMMUSVAContext
> * 5 - 7: introduce PCISVAOps and expose the SVA notfier framework
>  through hw/pci layer
> * 8 - 12: show the usage of SVA notifier in Intel vIOMMU emulator
> 
> [v2->v3 changes]
> * Rephrase the cover letter
> * Follow David's suggestion, take emulated SVA capable device
>   into consideration
> * renaming IOMMUObject to be IOMMUSVAContext
> * Expose SVA nofitier registeration through hw/pci layer
> * rename the file hw/core/iommu.c to be hw/core/pasid.c
>  include/hw/core/iommu.h to be include/hw/core/pasid.h
> * use SVA instead of SVM in patchset
> * rename patchset title, previous is "Introduce new iommu notifier framework"
> 
> v2 link:
> https://lists.gnu.org/archive/html/qemu-devel/2017-11/msg04553.html
> 
> [v1->v2 changes]
> * Rephrase the cover letter
> * Re-sort the sequence of the patches
> * Split the patch to introduce IOMMUObject and AddressSpaceOps
> * Address two missed list init spotted by Auger Eric
> 
> v1 link:
> http://qemu-devel.nongnu.narkive.com/XhqBQ8wc/resend-patch-0-6-introduce-new-iommu-notifier-framework
> 
> Original patchset from Peter Xu can be found in the link below.
> 
> https://lists.gnu.org/archive/html/qemu-devel/2017-04/msg05360.html
> 
> Comments and suggestions are always welcomed, thanks.
> 
> Liu, Yi L (10):
>   vfio: rename GuestIOMMU to be GuestIOMMUMR
>   vfio/pci: add notify framework based on IOMMUSVAContext
>   hw/pci: introduce PCISVAOps to PCIDevice
>   vfio/pci: provide vfio_pci_sva_ops instance
>   vfio/pci: register sva notifier
>   hw/pci: introduce pci_device_notify_iommu()
>   intel_iommu: record assigned devices in a list
>   intel_iommu: bind guest pasid table to host
>   intel_iommu: add framework for PASID AddressSpace management
>   intel_iommu: bind device to PASID tagged AddressSpace
> 
> Peter Xu (2):
>   memory: rename existing iommu notifier to be iommu mr notifier
>   hw/core: introduce IOMMUSVAContext for virt-SVA
> 
>  hw/alpha/typhoon.c |   2 +-
>  hw/core/Makefile.objs  |   1 +
>  hw/core/pasid.c|  64 ++
>  hw/hppa/dino.c |   2 +-
>  hw/i386/amd_iommu.c|   8 +-
>  hw/i386/intel_iommu.c  | 272 
> +
>  hw/i386/intel_iommu_internal.h |  10 ++
>  hw/pci-host/ppce500.c  |   2 +-
>  hw/pci-host/prep.c |   2 +-
>  hw/pci-host/sabre.c|   2 +-
>  hw/pci/pci.c   |  85 -
>  hw/ppc/spapr_iommu.c   |   8 +-
>  hw/ppc/spapr_pci.c |   2 +-
>  hw/s390x/s390-pci-bus.c|   6 +-
>  hw/vfio/common.c   |  28 +++--
>  hw/vfio/pci.c  |  84 +
>  hw/virtio/vhost.c  |  10 +-
>  include/exec/memory.h  |  55 +
>  include/hw/core/pasid.h| 110 +
>  include/hw/i386/intel_iommu.h  |  43 ++-
>  include/hw/pci/pci.h   |  33 -
>  include/hw/pci/pci_bus.h   |   1 +
>  include/hw/vfio/vfio-common.h  |  19 ++-
>  include/hw/virtio/vhost.h  |   4 +-
>  memory.c   |  37 +++---
>  25 files changed, 774 insertions(+), 116 deletions(-)
>  create mode 100644 hw/core/pasid.c
>  create mode 100644 include/hw/core/pasid.h
> 
> -- 
> 1.9.1



[Qemu-devel] [PATCH v3 00/12] Introduce new iommu notifier framework for virt-SVA

2018-03-01 Thread Liu, Yi L
This patchset is to introduce a notifier framework for virt-SVA.
You may find virt-SVA design details from the link below.

https://lists.gnu.org/archive/html/qemu-devel/2017-04/msg04925.html

SVA is short for Shared Virtual Addressing. This is also called Shared
Virtual Memory in previous patchsets. However, SVM is confusing as it
can also be short for Secure Virtual Machine. So this patchset use
Shared Virtual Addressing instead of Shared Virtual Memory. And it
would be applied in future (SVA)related patch series as well.

Qemu has an existing notifier framework based on MemoryRegion, which
are used for MAP/UNMAP. However, it is not well suited for virt-SVA.
Reasons are as below:
- virt-SVA works along with PT = 1
- if PT = 1 IOMMU MR are disabled so MR notifier are not registered
- new notifiers do not fit nicely in this framework as they need to be
  registered even if PT = 1
- need a new framework to attach the new notifiers
- Additional background can be got from:
  https://lists.gnu.org/archive/html/qemu-devel/2017-04/msg04931.html

So a new iommu notifier framework is needed. This patchset introduces
a notifier framework based on IOMMUSVAContext. IOMMUSVAContext is
introduced to be an abstract of virt-SVA operations in Qemu.

Patch Overview:
* 1 - 2: rename existing naming, the IOMMU MemoryRegion Notifier
 framework
* 3 - 4: introduce SVA notifier framework based on IOMMUSVAContext
* 5 - 7: introduce PCISVAOps and expose the SVA notfier framework
 through hw/pci layer
* 8 - 12: show the usage of SVA notifier in Intel vIOMMU emulator

[v2->v3 changes]
* Rephrase the cover letter
* Follow David's suggestion, take emulated SVA capable device
  into consideration
* renaming IOMMUObject to be IOMMUSVAContext
* Expose SVA nofitier registeration through hw/pci layer
* rename the file hw/core/iommu.c to be hw/core/pasid.c
 include/hw/core/iommu.h to be include/hw/core/pasid.h
* use SVA instead of SVM in patchset
* rename patchset title, previous is "Introduce new iommu notifier framework"

v2 link:
https://lists.gnu.org/archive/html/qemu-devel/2017-11/msg04553.html

[v1->v2 changes]
* Rephrase the cover letter
* Re-sort the sequence of the patches
* Split the patch to introduce IOMMUObject and AddressSpaceOps
* Address two missed list init spotted by Auger Eric

v1 link:
http://qemu-devel.nongnu.narkive.com/XhqBQ8wc/resend-patch-0-6-introduce-new-iommu-notifier-framework

Original patchset from Peter Xu can be found in the link below.

https://lists.gnu.org/archive/html/qemu-devel/2017-04/msg05360.html

Comments and suggestions are always welcomed, thanks.

Liu, Yi L (10):
  vfio: rename GuestIOMMU to be GuestIOMMUMR
  vfio/pci: add notify framework based on IOMMUSVAContext
  hw/pci: introduce PCISVAOps to PCIDevice
  vfio/pci: provide vfio_pci_sva_ops instance
  vfio/pci: register sva notifier
  hw/pci: introduce pci_device_notify_iommu()
  intel_iommu: record assigned devices in a list
  intel_iommu: bind guest pasid table to host
  intel_iommu: add framework for PASID AddressSpace management
  intel_iommu: bind device to PASID tagged AddressSpace

Peter Xu (2):
  memory: rename existing iommu notifier to be iommu mr notifier
  hw/core: introduce IOMMUSVAContext for virt-SVA

 hw/alpha/typhoon.c |   2 +-
 hw/core/Makefile.objs  |   1 +
 hw/core/pasid.c|  64 ++
 hw/hppa/dino.c |   2 +-
 hw/i386/amd_iommu.c|   8 +-
 hw/i386/intel_iommu.c  | 272 +
 hw/i386/intel_iommu_internal.h |  10 ++
 hw/pci-host/ppce500.c  |   2 +-
 hw/pci-host/prep.c |   2 +-
 hw/pci-host/sabre.c|   2 +-
 hw/pci/pci.c   |  85 -
 hw/ppc/spapr_iommu.c   |   8 +-
 hw/ppc/spapr_pci.c |   2 +-
 hw/s390x/s390-pci-bus.c|   6 +-
 hw/vfio/common.c   |  28 +++--
 hw/vfio/pci.c  |  84 +
 hw/virtio/vhost.c  |  10 +-
 include/exec/memory.h  |  55 +
 include/hw/core/pasid.h| 110 +
 include/hw/i386/intel_iommu.h  |  43 ++-
 include/hw/pci/pci.h   |  33 -
 include/hw/pci/pci_bus.h   |   1 +
 include/hw/vfio/vfio-common.h  |  19 ++-
 include/hw/virtio/vhost.h  |   4 +-
 memory.c   |  37 +++---
 25 files changed, 774 insertions(+), 116 deletions(-)
 create mode 100644 hw/core/pasid.c
 create mode 100644 include/hw/core/pasid.h

-- 
1.9.1




[Qemu-devel] [PATCH v3 00/12] Introduce new iommu notifier framework for virt-SVA

2018-03-01 Thread Liu, Yi L
This patchset is to introduce a notifier framework for virt-SVA.
You may find virt-SVA design details from the link below.

https://lists.gnu.org/archive/html/qemu-devel/2017-04/msg04925.html

SVA is short for Shared Virtual Addressing. This is also called Shared
Virtual Memory in previous patchsets. However, SVM is confusing as it
can also be short for Secure Virtual Machine. So this patchset use
Shared Virtual Addressing instead of Shared Virtual Memory. And it
would be applied in future (SVA)related patch series as well.

Qemu has an existing notifier framework based on MemoryRegion, which
are used for MAP/UNMAP. However, it is not well suited for virt-SVA.
Reasons are as below:
- virt-SVA works along with PT = 1
- if PT = 1 IOMMU MR are disabled so MR notifier are not registered
- new notifiers do not fit nicely in this framework as they need to be
  registered even if PT = 1
- need a new framework to attach the new notifiers
- Additional background can be got from:
  https://lists.gnu.org/archive/html/qemu-devel/2017-04/msg04931.html

So a new iommu notifier framework is needed. This patchset introduces
a notifier framework based on IOMMUSVAContext. IOMMUSVAContext is
introduced to be an abstract of virt-SVA operations in Qemu.

Patch Overview:
* 1 - 2: rename existing naming, the IOMMU MemoryRegion Notifier
 framework
* 3 - 4: introduce SVA notifier framework based on IOMMUSVAContext
* 5 - 7: introduce PCISVAOps and expose the SVA notfier framework
 through hw/pci layer
* 8 - 12: show the usage of SVA notifier in Intel vIOMMU emulator

[v2->v3 changes]
* Rephrase the cover letter
* Follow David's suggestion, take emulated SVA capable device
  into consideration
* renaming IOMMUObject to be IOMMUSVAContext
* Expose SVA nofitier registeration through hw/pci layer
* rename the file hw/core/iommu.c to be hw/core/pasid.c
 include/hw/core/iommu.h to be include/hw/core/pasid.h
* use SVA instead of SVM in patchset
* rename patchset title, previous is "Introduce new iommu notifier framework"

v2 link:
https://lists.gnu.org/archive/html/qemu-devel/2017-11/msg04553.html

[v1->v2 changes]
* Rephrase the cover letter
* Re-sort the sequence of the patches
* Split the patch to introduce IOMMUObject and AddressSpaceOps
* Address two missed list init spotted by Auger Eric

v1 link:
http://qemu-devel.nongnu.narkive.com/XhqBQ8wc/resend-patch-0-6-introduce-new-iommu-notifier-framework

Original patchset from Peter Xu can be found in the link below.

https://lists.gnu.org/archive/html/qemu-devel/2017-04/msg05360.html

Comments and suggestions are always welcomed, thanks.

Liu, Yi L (10):
  vfio: rename GuestIOMMU to be GuestIOMMUMR
  vfio/pci: add notify framework based on IOMMUSVAContext
  hw/pci: introduce PCISVAOps to PCIDevice
  vfio/pci: provide vfio_pci_sva_ops instance
  vfio/pci: register sva notifier
  hw/pci: introduce pci_device_notify_iommu()
  intel_iommu: record assigned devices in a list
  intel_iommu: bind guest pasid table to host
  intel_iommu: add framework for PASID AddressSpace management
  intel_iommu: bind device to PASID tagged AddressSpace

Peter Xu (2):
  memory: rename existing iommu notifier to be iommu mr notifier
  hw/core: introduce IOMMUSVAContext for virt-SVA

 hw/alpha/typhoon.c |   2 +-
 hw/core/Makefile.objs  |   1 +
 hw/core/pasid.c|  64 ++
 hw/hppa/dino.c |   2 +-
 hw/i386/amd_iommu.c|   8 +-
 hw/i386/intel_iommu.c  | 272 +
 hw/i386/intel_iommu_internal.h |  10 ++
 hw/pci-host/ppce500.c  |   2 +-
 hw/pci-host/prep.c |   2 +-
 hw/pci-host/sabre.c|   2 +-
 hw/pci/pci.c   |  85 -
 hw/ppc/spapr_iommu.c   |   8 +-
 hw/ppc/spapr_pci.c |   2 +-
 hw/s390x/s390-pci-bus.c|   6 +-
 hw/vfio/common.c   |  28 +++--
 hw/vfio/pci.c  |  84 +
 hw/virtio/vhost.c  |  10 +-
 include/exec/memory.h  |  55 +
 include/hw/core/pasid.h| 110 +
 include/hw/i386/intel_iommu.h  |  43 ++-
 include/hw/pci/pci.h   |  33 -
 include/hw/pci/pci_bus.h   |   1 +
 include/hw/vfio/vfio-common.h  |  19 ++-
 include/hw/virtio/vhost.h  |   4 +-
 memory.c   |  37 +++---
 25 files changed, 774 insertions(+), 116 deletions(-)
 create mode 100644 hw/core/pasid.c
 create mode 100644 include/hw/core/pasid.h

-- 
1.9.1