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

From: Jason Gunthorpe
Date: Fri Mar 10 2023 - 11:01:51 EST


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-shameerali.kolothum.thodi@xxxxxxxxxx/

So "boot configration" is more like "don't change the RIDs"? Ie don't
enable SRIOV?

Jason