Hi Eric, Thanks for taking the time to review the patches!
On Wed, Feb 15, 2023 at 07:57:59PM +0100, Eric Auger 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 ../.." I will update it in V2. > > > > 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 Thanks, Mostafa