[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <27a474c325fc46a092c2e11854baaccc@huawei.com>
Date: Thu, 1 Apr 2021 12:38:16 +0000
From: Shameerali Kolothum Thodi <shameerali.kolothum.thodi@...wei.com>
To: Auger Eric <eric.auger@...hat.com>,
yuzenghui <yuzenghui@...wei.com>
CC: "eric.auger.pro@...il.com" <eric.auger.pro@...il.com>,
"iommu@...ts.linux-foundation.org" <iommu@...ts.linux-foundation.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"kvm@...r.kernel.org" <kvm@...r.kernel.org>,
"kvmarm@...ts.cs.columbia.edu" <kvmarm@...ts.cs.columbia.edu>,
"will@...nel.org" <will@...nel.org>,
"maz@...nel.org" <maz@...nel.org>,
"robin.murphy@....com" <robin.murphy@....com>,
"joro@...tes.org" <joro@...tes.org>,
"alex.williamson@...hat.com" <alex.williamson@...hat.com>,
"tn@...ihalf.com" <tn@...ihalf.com>,
zhukeqian <zhukeqian1@...wei.com>,
"jacob.jun.pan@...ux.intel.com" <jacob.jun.pan@...ux.intel.com>,
"yi.l.liu@...el.com" <yi.l.liu@...el.com>,
wangxingang <wangxingang5@...wei.com>,
jiangkunkun <jiangkunkun@...wei.com>,
"jean-philippe@...aro.org" <jean-philippe@...aro.org>,
"zhangfei.gao@...aro.org" <zhangfei.gao@...aro.org>,
"zhangfei.gao@...il.com" <zhangfei.gao@...il.com>,
"vivek.gautam@....com" <vivek.gautam@....com>,
"nicoleotsuka@...il.com" <nicoleotsuka@...il.com>,
lushenming <lushenming@...wei.com>,
"vsethi@...dia.com" <vsethi@...dia.com>,
"Wanghaibin (D)" <wanghaibin.wang@...wei.com>
Subject: RE: [PATCH v14 13/13] iommu/smmuv3: Accept configs with more than one
context descriptor
> -----Original Message-----
> From: Auger Eric [mailto:eric.auger@...hat.com]
> Sent: 01 April 2021 12:49
> To: yuzenghui <yuzenghui@...wei.com>
> Cc: eric.auger.pro@...il.com; iommu@...ts.linux-foundation.org;
> linux-kernel@...r.kernel.org; kvm@...r.kernel.org;
> kvmarm@...ts.cs.columbia.edu; will@...nel.org; maz@...nel.org;
> robin.murphy@....com; joro@...tes.org; alex.williamson@...hat.com;
> tn@...ihalf.com; zhukeqian <zhukeqian1@...wei.com>;
> jacob.jun.pan@...ux.intel.com; yi.l.liu@...el.com; wangxingang
> <wangxingang5@...wei.com>; jiangkunkun <jiangkunkun@...wei.com>;
> jean-philippe@...aro.org; zhangfei.gao@...aro.org; zhangfei.gao@...il.com;
> vivek.gautam@....com; Shameerali Kolothum Thodi
> <shameerali.kolothum.thodi@...wei.com>; nicoleotsuka@...il.com;
> lushenming <lushenming@...wei.com>; vsethi@...dia.com; Wanghaibin (D)
> <wanghaibin.wang@...wei.com>
> Subject: Re: [PATCH v14 13/13] iommu/smmuv3: Accept configs with more than
> one context descriptor
>
> Hi Zenghui,
>
> On 3/30/21 11:23 AM, Zenghui Yu wrote:
> > Hi Eric,
> >
> > On 2021/2/24 4:56, Eric Auger wrote:
> >> In preparation for vSVA, let's accept userspace provided configs
> >> with more than one CD. We check the max CD against the host iommu
> >> capability and also the format (linear versus 2 level).
> >>
> >> Signed-off-by: Eric Auger <eric.auger@...hat.com>
> >> Signed-off-by: Shameer Kolothum
> <shameerali.kolothum.thodi@...wei.com>
> >> ---
> >> drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 13 ++++++++-----
> >> 1 file changed, 8 insertions(+), 5 deletions(-)
> >>
> >> diff --git a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
> >> b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
> >> index 332d31c0680f..ab74a0289893 100644
> >> --- a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
> >> +++ b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
> >> @@ -3038,14 +3038,17 @@ static int
> arm_smmu_attach_pasid_table(struct
> >> iommu_domain *domain,
> >> if (smmu_domain->s1_cfg.set)
> >> goto out;
> >> - /*
> >> - * we currently support a single CD so s1fmt and s1dss
> >> - * fields are also ignored
> >> - */
> >> - if (cfg->pasid_bits)
> >> + list_for_each_entry(master, &smmu_domain->devices,
> >> domain_head) {
> >> + if (cfg->pasid_bits > master->ssid_bits)
> >> + goto out;
> >> + }
> >> + if (cfg->vendor_data.smmuv3.s1fmt ==
> >> STRTAB_STE_0_S1FMT_64K_L2 &&
> >> + !(smmu->features &
> ARM_SMMU_FEAT_2_LVL_CDTAB))
> >> goto out;
> >> smmu_domain->s1_cfg.cdcfg.cdtab_dma = cfg->base_ptr;
> >> + smmu_domain->s1_cfg.s1cdmax = cfg->pasid_bits;
> >> + smmu_domain->s1_cfg.s1fmt =
> cfg->vendor_data.smmuv3.s1fmt;
> >
> > And what about the SIDSS field?
> >
> I added this patch upon Shameer's request, to be more vSVA friendly.
> Hower this series does not really target multiple CD support. At the
> moment the driver only supports STRTAB_STE_1_S1DSS_SSID0 (0x2) I think.
> At this moment maybe I can only check the s1dss field is 0x2. Or simply
> removes this patch?
>
> Thoughts?
Right. This was useful for vSVA tests. But yes, to properly support multiple CDs
we need to pass the S1DSS from Qemu. And that requires further changes.
So I think it's better to remove this patch and reject S1CDMAX != 0 cases.
Thanks,
Shameer
>
> Eric
Powered by blists - more mailing lists