Message ID | 1401987808-23596-4-git-send-email-a.motakis@virtualopensystems.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, Jun 05, 2014 at 06:03:11PM +0100, Antonios Motakis wrote: > The ARM SMMU supports the IOMMU_NOEXEC protection flag. Add the > corresponding IOMMU capability. > > Signed-off-by: Antonios Motakis <a.motakis@virtualopensystems.com> > --- > drivers/iommu/arm-smmu.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c > index d5a2200..15ab2af 100644 > --- a/drivers/iommu/arm-smmu.c > +++ b/drivers/iommu/arm-smmu.c > @@ -1544,6 +1544,8 @@ static int arm_smmu_domain_has_cap(struct iommu_domain *domain, > if (smmu_domain->root_cfg.smmu->features & ARM_SMMU_FEAT_COHERENT_WALK) > caps |= IOMMU_CAP_CACHE_COHERENCY; > > + caps |= IOMMU_CAP_NOEXEC; > + Just initialise caps to IOMMU_CAP_NOEXEC. Will
On Mon, 2014-06-16 at 16:04 +0100, Will Deacon wrote: > On Thu, Jun 05, 2014 at 06:03:11PM +0100, Antonios Motakis wrote: > > The ARM SMMU supports the IOMMU_NOEXEC protection flag. Add the > > corresponding IOMMU capability. > > > > Signed-off-by: Antonios Motakis <a.motakis@virtualopensystems.com> > > --- > > drivers/iommu/arm-smmu.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c > > index d5a2200..15ab2af 100644 > > --- a/drivers/iommu/arm-smmu.c > > +++ b/drivers/iommu/arm-smmu.c > > @@ -1544,6 +1544,8 @@ static int arm_smmu_domain_has_cap(struct iommu_domain *domain, > > if (smmu_domain->root_cfg.smmu->features & ARM_SMMU_FEAT_COHERENT_WALK) > > caps |= IOMMU_CAP_CACHE_COHERENCY; > > > > + caps |= IOMMU_CAP_NOEXEC; > > + > > Just initialise caps to IOMMU_CAP_NOEXEC. No, it shouldn't be a bitmap in the first place. Thanks, Alex
On Mon, Jun 16, 2014 at 04:25:28PM +0100, Alex Williamson wrote: > On Mon, 2014-06-16 at 16:04 +0100, Will Deacon wrote: > > On Thu, Jun 05, 2014 at 06:03:11PM +0100, Antonios Motakis wrote: > > > The ARM SMMU supports the IOMMU_NOEXEC protection flag. Add the > > > corresponding IOMMU capability. > > > > > > Signed-off-by: Antonios Motakis <a.motakis@virtualopensystems.com> > > > --- > > > drivers/iommu/arm-smmu.c | 2 ++ > > > 1 file changed, 2 insertions(+) > > > > > > diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c > > > index d5a2200..15ab2af 100644 > > > --- a/drivers/iommu/arm-smmu.c > > > +++ b/drivers/iommu/arm-smmu.c > > > @@ -1544,6 +1544,8 @@ static int arm_smmu_domain_has_cap(struct iommu_domain *domain, > > > if (smmu_domain->root_cfg.smmu->features & ARM_SMMU_FEAT_COHERENT_WALK) > > > caps |= IOMMU_CAP_CACHE_COHERENCY; > > > > > > + caps |= IOMMU_CAP_NOEXEC; > > > + > > > > Just initialise caps to IOMMU_CAP_NOEXEC. > > No, it shouldn't be a bitmap in the first place. Thanks, Ah, ok. I probably led Antonios down the garden path with the ARM SMMU driver then. Apologies! Will
diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c index d5a2200..15ab2af 100644 --- a/drivers/iommu/arm-smmu.c +++ b/drivers/iommu/arm-smmu.c @@ -1544,6 +1544,8 @@ static int arm_smmu_domain_has_cap(struct iommu_domain *domain, if (smmu_domain->root_cfg.smmu->features & ARM_SMMU_FEAT_COHERENT_WALK) caps |= IOMMU_CAP_CACHE_COHERENCY; + caps |= IOMMU_CAP_NOEXEC; + return !!(cap & caps); }
The ARM SMMU supports the IOMMU_NOEXEC protection flag. Add the corresponding IOMMU capability. Signed-off-by: Antonios Motakis <a.motakis@virtualopensystems.com> --- drivers/iommu/arm-smmu.c | 2 ++ 1 file changed, 2 insertions(+)