> -----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