[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH 1/7] amd-iommu: don't domain_crash() inside map/unmap_page()



Commit c210cafb "iommu: don't domain_crash() inside iommu_map/unmap_page()"
removed the implicit domain_crash() from the iommu_ops wrapper functions.
This patch does the same thing in the AMD IOMMU implementation. This is a
necessary pre-requisite for implementation of PV IOMMU.

Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
---
Cc: Suravee Suthikulpanit <suravee.suthikulpanit@xxxxxxx>
Cc: Brian Woods <brian.woods@xxxxxxx>
---
 xen/drivers/passthrough/amd/iommu_map.c | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/xen/drivers/passthrough/amd/iommu_map.c 
b/xen/drivers/passthrough/amd/iommu_map.c
index c89c54fdb6..8a10412a07 100644
--- a/xen/drivers/passthrough/amd/iommu_map.c
+++ b/xen/drivers/passthrough/amd/iommu_map.c
@@ -653,7 +653,6 @@ int amd_iommu_map_page(struct domain *d, dfn_t dfn, mfn_t 
mfn,
         spin_unlock(&hd->arch.mapping_lock);
         AMD_IOMMU_DEBUG("Root table alloc failed, dfn = %"PRI_dfn"\n",
                         dfn_x(dfn));
-        domain_crash(d);
         return rc;
     }
 
@@ -666,7 +665,6 @@ int amd_iommu_map_page(struct domain *d, dfn_t dfn, mfn_t 
mfn,
             spin_unlock(&hd->arch.mapping_lock);
             AMD_IOMMU_DEBUG("Update page mode failed dfn = %"PRI_dfn"\n",
                             dfn_x(dfn));
-            domain_crash(d);
             return -EFAULT;
         }
     }
@@ -676,7 +674,6 @@ int amd_iommu_map_page(struct domain *d, dfn_t dfn, mfn_t 
mfn,
         spin_unlock(&hd->arch.mapping_lock);
         AMD_IOMMU_DEBUG("Invalid IO pagetable entry dfn = %"PRI_dfn"\n",
                         dfn_x(dfn));
-        domain_crash(d);
         return -EFAULT;
     }
 
@@ -711,7 +708,6 @@ int amd_iommu_map_page(struct domain *d, dfn_t dfn, mfn_t 
mfn,
             AMD_IOMMU_DEBUG("Merge iommu page failed at level %d, "
                             "dfn = %"PRI_dfn" mfn = %"PRI_mfn"\n",
                             merge_level, dfn_x(dfn), mfn_x(mfn));
-            domain_crash(d);
             return -EFAULT;
         }
 
@@ -753,8 +749,6 @@ int amd_iommu_unmap_page(struct domain *d, dfn_t dfn)
             spin_unlock(&hd->arch.mapping_lock);
             AMD_IOMMU_DEBUG("Update page mode failed dfn = %"PRI_dfn"\n",
                             dfn_x(dfn));
-            if ( rc != -EADDRNOTAVAIL )
-                domain_crash(d);
             return rc;
         }
     }
@@ -764,7 +758,6 @@ int amd_iommu_unmap_page(struct domain *d, dfn_t dfn)
         spin_unlock(&hd->arch.mapping_lock);
         AMD_IOMMU_DEBUG("Invalid IO pagetable entry dfn = %"PRI_dfn"\n",
                         dfn_x(dfn));
-        domain_crash(d);
         return -EFAULT;
     }
 
-- 
2.11.0


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.