[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v1 0/8] PRI support for VT-d
From: |
CLEMENT MATHIEU--DRIF |
Subject: |
Re: [PATCH v1 0/8] PRI support for VT-d |
Date: |
Fri, 5 Jul 2024 05:13:28 +0000 |
On 05/07/2024 05:03, Yi Liu wrote:
> Caution: External email. Do not open attachments or click links,
> unless this email comes from a known sender and you know the content
> is safe.
>
>
> 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.
Hi,
Are you talking about wait descriptors with SW = 0, IF = 0, FN = 1
(section 7.10 of VT-d)?
I'll move that to the PRI series.
>
>> 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