hi Mostafa, On 2/5/23 10:43, Mostafa Saleh wrote: > In preparation for adding stage-2 support. Add it's configuration. replace "support. Add it's " by "support, add a S2 config struct, composed of the following fields and embedded in the main TransCfg ../.."
> > They are added as SMMUS2Cfg in SMMUTransCfg, SMMUS2Cfg hold configs > parsed from STE: > -tsz: Input range > -sl0: start level of translation > -affd: AF fault disable > -granule_sz: Granule page shift > -vmid: VMID > -vttb: PA of translation table > > They will be used in the next patches in stage-2 address translation. > > No functional change intended. > > Signed-off-by: Mostafa Saleh <smost...@google.com> > --- > include/hw/arm/smmu-common.h | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/include/hw/arm/smmu-common.h b/include/hw/arm/smmu-common.h > index c5683af07d..45f74d0e93 100644 > --- a/include/hw/arm/smmu-common.h > +++ b/include/hw/arm/smmu-common.h > @@ -60,6 +60,16 @@ typedef struct SMMUTLBEntry { > uint8_t granule; > } SMMUTLBEntry; > > +typedef struct SMMUS2Cfg { > + uint8_t tsz; /* Input range */ > + uint8_t sl0; /* Start level of translation */ > + bool affd; /* AF Fault Disable */ > + uint8_t granule_sz; /* Granule page shift */ > + uint16_t vmid; /* Virtual machine ID */ > + uint64_t vttb; /* PA of translation table */ > +} SMMUS2Cfg; > + > + > /* > * Generic structure populated by derived SMMU devices > * after decoding the configuration information and used as > @@ -79,6 +89,7 @@ typedef struct SMMUTransCfg { > SMMUTransTableInfo tt[2]; > uint32_t iotlb_hits; /* counts IOTLB hits for this asid */ > uint32_t iotlb_misses; /* counts IOTLB misses for this asid */ > + struct SMMUS2Cfg s2cfg; > } SMMUTransCfg; > > typedef struct SMMUDevice { Eric