RE: [PATCH v1 01/14] iommu: Add iommu_get_unmanaged_domain helper

From: Shameerali Kolothum Thodi
Date: Fri Mar 10 2023 - 11:11:12 EST




> -----Original Message-----
> From: Jason Gunthorpe [mailto:jgg@xxxxxxxxxx]
> Sent: 10 March 2023 15:57
> To: Shameerali Kolothum Thodi <shameerali.kolothum.thodi@xxxxxxxxxx>
> Cc: Eric Auger <eric.auger@xxxxxxxxxx>; Nicolin Chen
> <nicolinc@xxxxxxxxxx>; robin.murphy@xxxxxxx; will@xxxxxxxxxx;
> kevin.tian@xxxxxxxxx; baolu.lu@xxxxxxxxxxxxxxx; joro@xxxxxxxxxx;
> jean-philippe@xxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx;
> iommu@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH v1 01/14] iommu: Add iommu_get_unmanaged_domain
> helper
>
> On Fri, Mar 10, 2023 at 03:44:02PM +0000, Shameerali Kolothum Thodi
> wrote:
> >
> >
> > > -----Original Message-----
> > > From: Jason Gunthorpe [mailto:jgg@xxxxxxxxxx]
> > > Sent: 10 March 2023 15:33
> > > To: Eric Auger <eric.auger@xxxxxxxxxx>
> > > Cc: Nicolin Chen <nicolinc@xxxxxxxxxx>; robin.murphy@xxxxxxx;
> > > will@xxxxxxxxxx; kevin.tian@xxxxxxxxx; baolu.lu@xxxxxxxxxxxxxxx;
> > > joro@xxxxxxxxxx; Shameerali Kolothum Thodi
> > > <shameerali.kolothum.thodi@xxxxxxxxxx>; jean-philippe@xxxxxxxxxx;
> > > linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; iommu@xxxxxxxxxxxxxxx;
> > > linux-kernel@xxxxxxxxxxxxxxx
> > > Subject: Re: [PATCH v1 01/14] iommu: Add
> iommu_get_unmanaged_domain
> > > helper
> > >
> > > On Fri, Mar 10, 2023 at 11:14:59AM +0100, Eric Auger wrote:
> > > > Hi Nicolin,
> > > >
> > > > On 3/9/23 11:53, Nicolin Chen wrote:
> > > > > The nature of ITS virtualization on ARM is done via hypercalls,
> > > > > so kernel handles all IOVA mappings for the MSI doorbell in
> > > > > iommu_dma_prepare_msi() and iommu_dma_compose_msi_msg().
> The
> > > current
> > > > > virtualization solution with a 2-stage nested translation setup
> > > > > is to do 1:1 IOVA mappings at stage-1
> > > > Note that if we still intend to use that trick there is a known
> > > > issue at kernel side that needs to be fixed.
> > > >
> > > > ARM DEN 0049E.b IORT specification mandates that when RMRs are
> > > > present, the OS must preserve PCIe configuration performed by the
> > > > boot FW.
> > >
> > > This limitation doesn't seem necessary for this MSI stuff?
> > >
> > > What is it for?
> >
> > That is to make sure the Stream Ids specified in RMR are still valid
> > and is not being reassigned by OS. The kernel checks for
> > this(iort_rmr_has_dev()),
> >
> https://lore.kernel.org/linux-arm-kernel/20220420164836.1181-5-shameer
> > ali.kolothum.thodi@xxxxxxxxxx/
>
> So "boot configration" is more like "don't change the RIDs"? Ie don't enable
> SRIOV?

Yes. Don't think it will work with SR-IOV if you can't guarantee the RMR specified
SID.

Thanks,
Shameer