diff -crB source.bk/vmmon-only/linux/iommu.c source.done/vmmon-only/linux/iommu.c *** source.bk/vmmon-only/linux/iommu.c 2011-11-10 12:52:39.000000000 -0300 --- source.done/vmmon-only/linux/iommu.c 2011-11-10 13:04:29.000000000 -0300 *************** *** 177,183 **** __func__, request->state ? "" : "un", request->numPages, request->startPPN); ! if (!iommu_found()) { printk(KERN_ERR "%s: IOMMU hardware does not exist.\n", __func__); status = -ENODEV; goto out; --- 177,183 ---- __func__, request->state ? "" : "un", request->numPages, request->startPPN); ! if (!iommu_present(&pci_bus_type)){ printk(KERN_ERR "%s: IOMMU hardware does not exist.\n", __func__); status = -ENODEV; goto out; *************** *** 405,418 **** mutex_lock(&passthruLock); ! if (!iommu_found()) { printk(KERN_ERR "%s: IOMMU hardware does not exist.\n", __func__); status = -ENODEV; goto exit; } if (!vmLinux->iommuDomain) { ! if (!(vmLinux->iommuDomain = iommu_domain_alloc())) { printk(KERN_ERR "%s: IOMMU domain could not be allocated.\n", __func__); status = -ENODEV; --- 405,418 ---- mutex_lock(&passthruLock); ! if (!iommu_present(&pci_bus_type)) { printk(KERN_ERR "%s: IOMMU hardware does not exist.\n", __func__); status = -ENODEV; goto exit; } if (!vmLinux->iommuDomain) { ! if (!(vmLinux->iommuDomain = iommu_domain_alloc(&pci_bus_type))) { printk(KERN_ERR "%s: IOMMU domain could not be allocated.\n", __func__); status = -ENODEV;