[PATCH v8 0/8] virtio-iommu: VFIO integration

Bharat Bhushan posted 8 patches 5 years, 8 months ago
Test docker-mingw@fedora passed
Test docker-quick@centos7 passed
Test checkpatch passed
Test FreeBSD passed
Test asan passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200318101159.8767-1-bbhushan2@marvell.com
Maintainers: "Michael S. Tsirkin" <mst@redhat.com>, Alex Williamson <alex.williamson@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Eric Auger <eric.auger@redhat.com>
There is a newer version of this series
include/exec/memory.h            |  20 ++++
include/hw/virtio/virtio-iommu.h |   2 +
hw/vfio/common.c                 |   5 +-
hw/virtio/virtio-iommu.c         | 192 ++++++++++++++++++++++++++++++-
memory.c                         |  10 ++
hw/virtio/trace-events           |   5 +
6 files changed, 231 insertions(+), 3 deletions(-)
[PATCH v8 0/8] virtio-iommu: VFIO integration
Posted by Bharat Bhushan 5 years, 8 months ago
This patch series integrates VFIO with virtio-iommu.
This is only applicable for PCI pass-through with virtio-iommu.

This series is available at:
https://github.com/bharat-bhushan-devel/qemu.git virtio-iommu-vfio-integration-v8

This is tested with assigning more than one pci devices to Virtual Machine.

This series is based on:
  - virtio-iommu device emulation by Eric Augur.
    [v16,00/10] VIRTIO-IOMMU device
    https://github.com/eauger/qemu/tree/v4.2-virtio-iommu-v16

  - Linux 5.6.0-rc4

v7->v8:
  - Set page size mask as per host
    This fixes issue with 64K host/guest 
  - Device list from IOMMUDevice directly removed VirtioIOMMUNotifierNode
  - Add missing iep->viommu init on post-load

v6->v7:
  - corrected email-address

v5->v6:
  - Rebase to v16 version from Eric
  - Tested with upstream Linux
  - Added a patch from Eric/Myself on removing mmio-region error print in vfio

v4->v5:
 - Rebase to v9 version from Eric
 - PCIe device hotplug fix
 - Added Patch 1/5 from Eric previous series (Eric somehow dropped in
   last version.
 - Patch "Translate the MSI doorbell in kvm_arch_fixup_msi_route"
   already integrated with vsmmu3

v3->v4:
 - Rebase to v4 version from Eric
 - Fixes from Eric with DPDK in VM
 - Logical division in multiple patches

v2->v3:
 - This series is based on "[RFC v3 0/8] VIRTIO-IOMMU device"
   Which is based on top of v2.10-rc0 that
 - Fixed issue with two PCI devices
 - Addressed review comments

v1->v2:
  - Added trace events
  - removed vSMMU3 link in patch description

Bharat Bhushan (8):
  hw/vfio/common: Remove error print on mmio region translation by
    viommu
  memory: Add interface to set iommu page size mask
  vfio: set iommu page size as per host supported page size
  virtio-iommu: set supported page size mask
  virtio-iommu: Add iommu notifier for map/unmap
  virtio-iommu: Call iommu notifier for attach/detach
  virtio-iommu: add iommu replay
  virtio-iommu: add iommu notifier memory-region

 include/exec/memory.h            |  20 ++++
 include/hw/virtio/virtio-iommu.h |   2 +
 hw/vfio/common.c                 |   5 +-
 hw/virtio/virtio-iommu.c         | 192 ++++++++++++++++++++++++++++++-
 memory.c                         |  10 ++
 hw/virtio/trace-events           |   5 +
 6 files changed, 231 insertions(+), 3 deletions(-)

-- 
2.17.1


Re: [PATCH v8 0/8] virtio-iommu: VFIO integration
Posted by Auger Eric 5 years, 8 months ago
Hi Bharat

On 3/18/20 11:11 AM, Bharat Bhushan wrote:
> This patch series integrates VFIO with virtio-iommu.
> This is only applicable for PCI pass-through with virtio-iommu.
> 
> This series is available at:
> https://github.com/bharat-bhushan-devel/qemu.git virtio-iommu-vfio-integration-v8
> 
> This is tested with assigning more than one pci devices to Virtual Machine.
> 
> This series is based on:
>   - virtio-iommu device emulation by Eric Augur.
Auger ;-)
>     [v16,00/10] VIRTIO-IOMMU device
>     https://github.com/eauger/qemu/tree/v4.2-virtio-iommu-v16
This is now upstream so no need to put that ref anymore

Thanks

Eric
> 
>   - Linux 5.6.0-rc4
> 
> v7->v8:
>   - Set page size mask as per host
>     This fixes issue with 64K host/guest 
>   - Device list from IOMMUDevice directly removed VirtioIOMMUNotifierNode
>   - Add missing iep->viommu init on post-load
> 
> v6->v7:
>   - corrected email-address
> 
> v5->v6:
>   - Rebase to v16 version from Eric
>   - Tested with upstream Linux
>   - Added a patch from Eric/Myself on removing mmio-region error print in vfio
> 
> v4->v5:
>  - Rebase to v9 version from Eric
>  - PCIe device hotplug fix
>  - Added Patch 1/5 from Eric previous series (Eric somehow dropped in
>    last version.
>  - Patch "Translate the MSI doorbell in kvm_arch_fixup_msi_route"
>    already integrated with vsmmu3
> 
> v3->v4:
>  - Rebase to v4 version from Eric
>  - Fixes from Eric with DPDK in VM
>  - Logical division in multiple patches
> 
> v2->v3:
>  - This series is based on "[RFC v3 0/8] VIRTIO-IOMMU device"
>    Which is based on top of v2.10-rc0 that
>  - Fixed issue with two PCI devices
>  - Addressed review comments
> 
> v1->v2:
>   - Added trace events
>   - removed vSMMU3 link in patch description
> 
> Bharat Bhushan (8):
>   hw/vfio/common: Remove error print on mmio region translation by
>     viommu
>   memory: Add interface to set iommu page size mask
>   vfio: set iommu page size as per host supported page size
>   virtio-iommu: set supported page size mask
>   virtio-iommu: Add iommu notifier for map/unmap
>   virtio-iommu: Call iommu notifier for attach/detach
>   virtio-iommu: add iommu replay
>   virtio-iommu: add iommu notifier memory-region
> 
>  include/exec/memory.h            |  20 ++++
>  include/hw/virtio/virtio-iommu.h |   2 +
>  hw/vfio/common.c                 |   5 +-
>  hw/virtio/virtio-iommu.c         | 192 ++++++++++++++++++++++++++++++-
>  memory.c                         |  10 ++
>  hw/virtio/trace-events           |   5 +
>  6 files changed, 231 insertions(+), 3 deletions(-)
>