Hi Shameer, On 10/27/25 7:40 PM, Shameer Kolothum wrote: > Hi Eric, > >> -----Original Message----- >> From: Eric Auger <[email protected]> >> Sent: 27 October 2025 18:15 >> To: Shameer Kolothum <[email protected]>; qemu- >> [email protected]; [email protected] >> Cc: [email protected]; Jason Gunthorpe <[email protected]>; Nicolin >> Chen <[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]; >> [email protected] >> Subject: Re: [PATCH v4 27/27] hw.arm/smmuv3: Add support for PASID >> enable >> >> External email: Use caution opening links or attachments >> >> >> Hi Shameer, > [..] > >>> - if (STE_S1CDMAX(ste) != 0) { >>> + /* If pasid enabled, we report SSIDSIZE = 16 */ >> why do we chose 16 and not a bigger value to avoid incompatibility? >> worth a comment > I am not sure what a good value here to support most hardware out there. > If we select a bigger value, anything less can't be supported. ah yes you're right, that's the opposite. this is aligned with sid size anyway so let's keep it as is. > >>> + if (!FIELD_EX32(s->idr[1], IDR1, SSIDSIZE) && STE_S1CDMAX(ste) != >>> + 0) { >>> qemu_log_mask(LOG_UNIMP, >>> "SMMUv3 does not support multiple context descriptors >> yet\n"); >>> goto bad_ste; >>> @@ -1962,6 +1963,10 @@ static bool >> smmu_validate_property(SMMUv3State *s, Error **errp) >>> error_setg(errp, "oas can only be set to 44 bits if accel=off"); >>> return false; >>> } >>> + if (s->pasid) { >>> + error_setg(errp, "pasid can only be enabled if accel=on"); >>> + return false; >>> + } >>> return true; >>> } >> Just skimming though the SMMU spec, I don't see any handling for STE.S1DSS >> anywhere Also I would expect some C_BAD_SUBSTREAMID likely to be >> emitted? > S1DSS is passed down to host kernel during S1 translate HWPT install. And if > anything is mis configured w.r.t CD by Guest, the host SMMUv3 will generate > the events. OK > > Do we need to check S1DSS in here?
about C_BAD_SUBSTREAMID it is likely to be returned through events by the host. I see it handled in smmuv3_record_event() so maybe that's enough with accel. Eric > > Thanks, > Shameer >
