diff --git a/drivers/iommu/dma-iommu.c b/drivers/iommu/dma-iommu.c index 0d1352b7a7a10666ba82392c57eaf1754fdb0c6b..f8a705b44bab44067ab2a76423d696ff4712c0d9 100644 --- a/drivers/iommu/dma-iommu.c +++ b/drivers/iommu/dma-iommu.c @@ -470,6 +470,12 @@ static int iommu_dma_init_domain(struct iommu_domain *domain, dma_addr_t base, 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; }