On 2024/5/30 20:24, CLEMENT MATHIEU--DRIF wrote:
This series belongs to a list of series that add SVM support for VT-d.

Here we focus on the implementation of PRI support in the IOMMU and on a 
PCI-level
API for PRI to be used by virtual devices.

This work is based on the VT-d specification version 4.1 (March 2023).
Here is a link to a GitHub repository where you can find the following elements 
:
     - Qemu with all the patches for SVM
         - ATS
         - PRI
         - Device IOTLB invalidations
         - Requests with already translated addresses
     - A demo device
     - A simple driver for the demo device
     - A userspace program (for testing and demonstration purposes)

I didn't see the drain PRQ related logics in this series. Please consider
adding it in next version. It's needed when repurposing a PASID.

https://github.com/BullSequana/Qemu-in-guest-SVM-demo

Clément Mathieu--Drif (8):
   pcie: add a helper to declare the PRI capability for a pcie device
   pcie: helper functions to check to check if PRI is enabled
   pcie: add a way to get the outstanding page request allocation (pri)
     from the config space.
   pci: declare structures and IOMMU operation for PRI
   pci: add a PCI-level API for PRI
   intel_iommu: declare PRI constants and structures
   intel_iommu: declare registers for PRI
   intel_iommu: add PRI operations support

  hw/i386/intel_iommu.c          | 302 +++++++++++++++++++++++++++++++++
  hw/i386/intel_iommu_internal.h |  54 +++++-
  hw/pci/pci.c                   |  37 ++++
  hw/pci/pcie.c                  |  42 +++++
  include/exec/memory.h          |  65 +++++++
  include/hw/pci/pci.h           |  45 +++++
  include/hw/pci/pci_bus.h       |   1 +
  include/hw/pci/pcie.h          |   7 +-
  include/hw/pci/pcie_regs.h     |   4 +
  system/memory.c                |  49 ++++++
  10 files changed, 604 insertions(+), 2 deletions(-)


--
Regards,
Yi Liu

Reply via email to