xen/arm: smmuv1: Set privileged attr to 'default'
authorRahul Singh <rahul.singh@arm.com>
Fri, 25 Jun 2021 16:37:27 +0000 (17:37 +0100)
committerStefano Stabellini <sstabellini@kernel.org>
Fri, 25 Jun 2021 21:54:17 +0000 (14:54 -0700)
Backport commit e19898077cfb642fe151ba22981e795c74d9e114
"iommu/arm-smmu: Set privileged attribute to 'default' instead of
'unprivileged'"

Original commit message:
    Currently the driver sets all the device transactions privileges
    to UNPRIVILEGED, but there are cases where the iommu masters wants
    to isolate privileged supervisor and unprivileged user.
    So don't override the privileged setting to unprivileged, instead
    set it to default as incoming and let it be controlled by the
    pagetable settings.

Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Sricharan R <sricharan@codeaurora.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Rahul Singh <rahul.singh@arm.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
Tested-by: Stefano Stabellini <sstabellini@kernel.org>
xen/drivers/passthrough/arm/smmu.c

index 05c2d238b3ed334cb781ab416dd9876946e77f10..da2cd457d7b9b632bd42dff290c8b01aab7d70c1 100644 (file)
@@ -1567,7 +1567,7 @@ static int arm_smmu_domain_add_master(struct arm_smmu_domain *smmu_domain,
                        continue;
 
                s2cr[idx].type = type ;
-               s2cr[idx].privcfg = S2CR_PRIVCFG_UNPRIV;
+               s2cr[idx].privcfg = S2CR_PRIVCFG_DEFAULT;
                s2cr[idx].cbndx = cbndx;
                arm_smmu_write_s2cr(smmu, idx);
        }