iommu/vt-d: Fix pointer cast warnings on 32 bit
Pointers should be casted to unsigned long to avoid "cast from pointer to integer of different size" warnings. drivers/iommu/intel-pasid.c:818:6: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] drivers/iommu/intel-pasid.c:821:9: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] drivers/iommu/intel-pasid.c:824:23: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] drivers/iommu/intel-svm.c:343:45: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] Fixes:b0d1f8741b
("iommu/vt-d: Add nested translation helper function") Fixes:56722a4398
("iommu/vt-d: Add bind guest PASID support") Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com> Link: https://lore.kernel.org/r/20200519013423.11971-1-baolu.lu@linux.intel.com Signed-off-by: Joerg Roedel <jroedel@suse.de>
This commit is contained in:
parent
e70b081c6f
commit
bfe6240dfe
@ -815,13 +815,13 @@ int intel_pasid_setup_nested(struct intel_iommu *iommu, struct device *dev,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* First level PGD is in GPA, must be supported by the second level */
|
/* First level PGD is in GPA, must be supported by the second level */
|
||||||
if ((unsigned long long)gpgd > domain->max_addr) {
|
if ((uintptr_t)gpgd > domain->max_addr) {
|
||||||
dev_err_ratelimited(dev,
|
dev_err_ratelimited(dev,
|
||||||
"Guest PGD %llx not supported, max %llx\n",
|
"Guest PGD %lx not supported, max %llx\n",
|
||||||
(unsigned long long)gpgd, domain->max_addr);
|
(uintptr_t)gpgd, domain->max_addr);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
pasid_set_flptr(pte, (u64)gpgd);
|
pasid_set_flptr(pte, (uintptr_t)gpgd);
|
||||||
|
|
||||||
ret = intel_pasid_setup_bind_data(iommu, pte, pasid_data);
|
ret = intel_pasid_setup_bind_data(iommu, pte, pasid_data);
|
||||||
if (ret)
|
if (ret)
|
||||||
|
@ -340,7 +340,8 @@ int intel_svm_bind_gpasid(struct iommu_domain *domain, struct device *dev,
|
|||||||
* call the nested mode setup function here.
|
* call the nested mode setup function here.
|
||||||
*/
|
*/
|
||||||
spin_lock(&iommu->lock);
|
spin_lock(&iommu->lock);
|
||||||
ret = intel_pasid_setup_nested(iommu, dev, (pgd_t *)data->gpgd,
|
ret = intel_pasid_setup_nested(iommu, dev,
|
||||||
|
(pgd_t *)(uintptr_t)data->gpgd,
|
||||||
data->hpasid, &data->vtd, dmar_domain,
|
data->hpasid, &data->vtd, dmar_domain,
|
||||||
data->addr_width);
|
data->addr_width);
|
||||||
spin_unlock(&iommu->lock);
|
spin_unlock(&iommu->lock);
|
||||||
|
Loading…
Reference in New Issue
Block a user