> From: Nicolin Chen <nicolinc@xxxxxxxxxx> > Sent: Saturday, October 26, 2024 7:50 AM > > Add a new driver-type for ARM SMMUv3 to enum iommu_viommu_type. > Implement > an arm_vsmmu_alloc() with its viommu op > arm_vsmmu_domain_alloc_nested(), > to replace arm_smmu_domain_alloc_nesting(). As an initial step, copy the > VMID from s2_parent. A later cleanup series is required to move the VMID > allocation out of the stage-2 domain allocation routine to this. > > After that, replace nested_domain->s2_parent with nested_domain->vsmmu. > > Note that the validatting conditions for a nested_domain allocation are > moved from arm_vsmmu_domain_alloc_nested to arm_vsmmu_alloc, since > there > is no point in creating a vIOMMU (vsmmu) from the beginning if it would > not support a nested_domain. > > Signed-off-by: Nicolin Chen <nicolinc@xxxxxxxxxx> Reviewed-by: Kevin Tian <kevin.tian@xxxxxxxxx>