On Thu, Jul 10, 2025 at 08:11:28AM +0000, Shameerali Kolothum Thodi wrote: > > So I suggested: > > /* hardware-accelerated nested stage-1 page table support */ > > VIOMMU_CAP_NESTED_S1 = BIT_ULL(0), > > > > which it should be clear IMHO. > > > > If not, maybe go a bit further like "VIOMMU_CAP_HW_NESTED_S1"? > > I am not sure the _S1 part makes much sense in ARM case. It doesn't matter > whether the Guest SMMUv3 is configured in s1/s2 or nested for this CAP. > With the new SMMUv3 dev support, the user can pretty much specify, > > -device > arm-smmuv3,primary-bus=pcie.0,id=smmuv3.1,accel=on,stage={stage1|stage2|nested} > > And I think it will work with a host SMMUv3 nested configuration in all the > above cases. Unless I am missing something and [...] > we need to restrict its > use with stage=stage1 only.
I think we do.. The HW nesting works when we forward the s1ctxptr and make sure that "stage-1" is the last stage, in other word, the only stage. Otherwise how can we support stage2/nested in a HW nesting case? Thanks Nicolin