[PATCH 8/9] iommu/arm-smmu: Introduce a default fault handler
Andreas Herrmann
andreas.herrmann at calxeda.com
Thu Sep 26 18:36:20 EDT 2013
And register the default handler for domains that are created during
device isolation.
Signed-off-by: Andreas Herrmann <andreas.herrmann at calxeda.com>
---
drivers/iommu/arm-smmu.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c
index 48f3bfb..380c2a0 100644
--- a/drivers/iommu/arm-smmu.c
+++ b/drivers/iommu/arm-smmu.c
@@ -1816,6 +1816,13 @@ static int arm_smmu_device_cfg_probe(struct arm_smmu_device *smmu)
return 0;
}
+static int arm_smmu_context_fault_handler(struct iommu_domain *domain,
+ struct device *dev, unsigned long iova, int flags, void *arg)
+{
+ dev_warn(dev, "context fault: iova=0x%08lx, flags=0x%x\n", iova, flags);
+ return 0;
+}
+
extern struct platform_device *of_find_device_by_node(struct device_node *np);
static int arm_smmu_isolate_devices(void)
@@ -1859,6 +1866,9 @@ static int arm_smmu_isolate_devices(void)
goto out;
}
+ iommu_set_fault_handler(mapping->domain,
+ arm_smmu_context_fault_handler, dev);
+
ret = arm_iommu_attach_device(dev, mapping);
if (ret < 0) {
dev_info(dev, "arm_iommu_attach_device failed\n");
--
1.7.9.5
More information about the linux-arm-kernel
mailing list