> -----Original Message-----
> From: Nicolin Chen <[email protected]>
> Sent: 20 November 2025 22:10
> To: Shameer Kolothum <[email protected]>
> Cc: [email protected]; [email protected];
> [email protected]; [email protected]; Jason Gunthorpe
> <[email protected]>; [email protected]; [email protected]; Nathan
> Chen <[email protected]>; Matt Ochs <[email protected]>;
> [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; [email protected]; [email protected];
> Krishnakant Jaju <[email protected]>
> Subject: Re: [PATCH v6 33/33] hw/arm/smmuv3-accel: Add support for PASID
> enable
> 
> On Thu, Nov 20, 2025 at 01:22:13PM +0000, Shameer Kolothum wrote:
> > +++ b/hw/arm/smmuv3-accel.c
> > @@ -67,6 +67,12 @@ smmuv3_accel_check_hw_compatible(SMMUv3State
> *s,
> >          error_setg(errp, "Host SMMUv3 SIDSIZE not compatible");
> >          return false;
> >      }
> > +    /* If user enables PASID support(pasid=on), QEMU sets SSIDSIZE to 16 */
> > +    if (FIELD_EX32(info->idr[1], IDR1, SSIDSIZE) <
> > +                FIELD_EX32(s->idr[1], IDR1, SSIDSIZE)) {
> > +        error_setg(errp, "Host SMMUv3 SSIDSIZE not compatible");
> > +        return false;
> > +    }
> 
> I think we can print the values: host vs VM. And at SIDSIZE above
> as well.
> 
> > @@ -2084,6 +2090,7 @@ static const Property smmuv3_properties[] = {
> >      DEFINE_PROP_BOOL("ril", SMMUv3State, ril, true),
> >      DEFINE_PROP_BOOL("ats", SMMUv3State, ats, false),
> >      DEFINE_PROP_UINT8("oas", SMMUv3State, oas, 44),
> > +    DEFINE_PROP_BOOL("pasid", SMMUv3State, pasid, false),
> >  };
> 
> Instead of doing a boolean "pasid", perhaps ssidsize and sidsize
> should be configurable. Then, user can follow the not-compatible
> print to set correct SSIDSIZE and SIDSIZE.

Do we really need that? Currently both are set to 16 which means 64K
values are supported. I think we can make it configurable when any
usecase  with >64K requirement comes up.
 
Thanks,
Shameer

Reply via email to