diff --git a/drivers/iommu/dma-iommu.c b/drivers/iommu/dma-iommu.c index d62f7c6f9a5dfeb12341e3a8fd35b3934919de35..fb9800aa1628443efaa220787bfc2897a221ffba 100644 --- a/drivers/iommu/dma-iommu.c +++ b/drivers/iommu/dma-iommu.c @@ -709,6 +709,11 @@ static int iommu_dma_init_domain(struct iommu_domain *domain, struct device *dev pr_warn("Incompatible range for DMA domain\n"); return -EFAULT; } +#if defined(CONFIG_X86) + if (boot_cpu_data.x86_vendor == X86_VENDOR_CENTAUR || + boot_cpu_data.x86_vendor == X86_VENDOR_ZHAOXIN) + return iova_reserve_iommu_regions(dev, domain); +#endif return 0; }