| Subject | Re: [PATCH v14 06/13] iommu/smmuv3: Allow stage 1 invalidation with unmanaged ASIDs | From | Zenghui Yu <> | Date | Tue, 30 Mar 2021 17:17:57 +0800 |
| |
On 2021/2/24 4:56, Eric Auger wrote: > @@ -1936,7 +1950,12 @@ static void arm_smmu_tlb_inv_range_domain(unsigned long iova, size_t size, > }, > }; > > - if (smmu_domain->stage == ARM_SMMU_DOMAIN_S1) { > + if (ext_asid >= 0) { /* guest stage 1 invalidation */ > + cmd.opcode = smmu_domain->smmu->features & ARM_SMMU_FEAT_E2H ? > + CMDQ_OP_TLBI_EL2_VA : CMDQ_OP_TLBI_NH_VA;
If I understand it correctly, the true nested mode effectively gives us a *NS-EL1* StreamWorld. We should therefore use CMDQ_OP_TLBI_NH_VA to invalidate the stage-1 NS-EL1 entries, no matter E2H is selected or not.
|