[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <780faf42-e035-4bfd-252d-8d009355bd6c@redhat.com>
Date: Tue, 7 Dec 2021 11:28:32 +0100
From: Eric Auger <eric.auger@...hat.com>
To: Sumit Gupta <sumitg@...dia.com>, eric.auger.pro@...il.com,
iommu@...ts.linux-foundation.org, linux-kernel@...r.kernel.org,
kvm@...r.kernel.org, kvmarm@...ts.cs.columbia.edu, joro@...tes.org,
will@...nel.org, robin.murphy@....com, jean-philippe@...aro.org,
zhukeqian1@...wei.com
Cc: alex.williamson@...hat.com, jacob.jun.pan@...ux.intel.com,
yi.l.liu@...el.com, kevin.tian@...el.com, ashok.raj@...el.com,
maz@...nel.org, peter.maydell@...aro.org, vivek.gautam@....com,
shameerali.kolothum.thodi@...wei.com, wangxingang5@...wei.com,
jiangkunkun@...wei.com, yuzenghui@...wei.com,
nicoleotsuka@...il.com, chenxiang66@...ilicon.com,
nicolinc@...dia.com, vdumpa@...dia.com, zhangfei.gao@...aro.org,
zhangfei.gao@...il.com, lushenming@...wei.com, vsethi@...dia.com,
Sachin Nikam <Snikam@...dia.com>,
Pritesh Raithatha <praithatha@...dia.com>
Subject: Re: [RFC v16 0/9] SMMUv3 Nested Stage Setup (IOMMU part)
Hi Sumit,
On 12/3/21 2:13 PM, Sumit Gupta wrote:
> Hi Eric,
>
>> This series brings the IOMMU part of HW nested paging support
>> in the SMMUv3.
>>
>> The SMMUv3 driver is adapted to support 2 nested stages.
>>
>> The IOMMU API is extended to convey the guest stage 1
>> configuration and the hook is implemented in the SMMUv3 driver.
>>
>> This allows the guest to own the stage 1 tables and context
>> descriptors (so-called PASID table) while the host owns the
>> stage 2 tables and main configuration structures (STE).
>>
>> This work mainly is provided for test purpose as the upper
>> layer integration is under rework and bound to be based on
>> /dev/iommu instead of VFIO tunneling. In this version we also get
>> rid of the MSI BINDING ioctl, assuming the guest enforces
>> flat mapping of host IOVAs used to bind physical MSI doorbells.
>> In the current QEMU integration this is achieved by exposing
>> RMRs to the guest, using Shameer's series [1]. This approach
>> is RFC as the IORT spec is not really meant to do that
>> (single mapping flag limitation).
>>
>> Best Regards
>>
>> Eric
>>
>> This series (Host) can be found at:
>> https://github.com/eauger/linux/tree/v5.15-rc7-nested-v16
>> This includes a rebased VFIO integration (although not meant
>> to be upstreamed)
>>
>> Guest kernel branch can be found at:
>> https://github.com/eauger/linux/tree/shameer_rmrr_v7
>> featuring [1]
>>
>> QEMU integration (still based on VFIO and exposing RMRs)
>> can be found at:
>> https://github.com/eauger/qemu/tree/v6.1.0-rmr-v2-nested_smmuv3_v10
>> (use iommu=nested-smmuv3 ARM virt option)
>>
>> Guest dependency:
>> [1] [PATCH v7 0/9] ACPI/IORT: Support for IORT RMR node
>>
>> History:
>>
>> v15 -> v16:
>> - guest RIL must support RIL
>> - additional checks in the cache invalidation hook
>> - removal of the MSI BINDING ioctl (tentative replacement
>> by RMRs)
>>
>>
>> Eric Auger (9):
>> iommu: Introduce attach/detach_pasid_table API
>> iommu: Introduce iommu_get_nesting
>> iommu/smmuv3: Allow s1 and s2 configs to coexist
>> iommu/smmuv3: Get prepared for nested stage support
>> iommu/smmuv3: Implement attach/detach_pasid_table
>> iommu/smmuv3: Allow stage 1 invalidation with unmanaged ASIDs
>> iommu/smmuv3: Implement cache_invalidate
>> iommu/smmuv3: report additional recoverable faults
>> iommu/smmuv3: Disallow nested mode in presence of HW MSI regions
> Hi Eric,
>
> I validated the reworked test patches in v16 from the given
> branches with Kernel v5.15 & Qemu v6.2. Verified them with
> NVMe PCI device assigned to Guest VM.
> Sorry, forgot to update earlier.
>
> Tested-by: Sumit Gupta <sumitg@...dia.com>
Thank you very much!
Best Regards
Eric
>
> Thanks,
> Sumit Gupta
>
Powered by blists - more mailing lists