On Fri, Oct 25, 2024 at 09:18:05AM +0000, Tian, Kevin wrote: > > From: Nicolin Chen <nicolinc@xxxxxxxxxx> > > Sent: Tuesday, October 22, 2024 8:20 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> > > hmm I wonder whether this series should be merged with Jason's > nesting series together and directly use vIOMMU to create nesting. > Otherwise it looks a bit weird for one series to first enable a uAPI > which is immediately replaced by another uAPI from the following > series. It has changed from my original expectation, that's for sure. I've wondered the same thing. For now I've been keeping them separate and was going to review when this is all settled down. It is troublesome because of all the branches, but if we don't have a conflict we could take the whole lot through iommufd. Jason