aboutsummaryrefslogtreecommitdiffstats
path: root/virt
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-10-15 01:23:49 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-10-15 01:23:49 -0400
commit23971bdffff5f7c904131dfb41c186711dc2c418 (patch)
tree0cd5e379932a72af47dba17f8958908e7dd029cd /virt
parentc0fa2373f8cfed90437d8d7b17e0b1a84009a10a (diff)
parent09b5269a1b3d47525d7c25efeb16f5407ef82ea2 (diff)
Merge tag 'iommu-updates-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu
Pull IOMMU updates from Joerg Roedel: "This pull-request includes: - change in the IOMMU-API to convert the former iommu_domain_capable function to just iommu_capable - various fixes in handling RMRR ranges for the VT-d driver (one fix requires a device driver core change which was acked by Greg KH) - the AMD IOMMU driver now assigns and deassigns complete alias groups to fix issues with devices using the wrong PCI request-id - MMU-401 support for the ARM SMMU driver - multi-master IOMMU group support for the ARM SMMU driver - various other small fixes all over the place" * tag 'iommu-updates-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (41 commits) iommu/vt-d: Work around broken RMRR firmware entries iommu/vt-d: Store bus information in RMRR PCI device path iommu/vt-d: Only remove domain when device is removed driver core: Add BUS_NOTIFY_REMOVED_DEVICE event iommu/amd: Fix devid mapping for ivrs_ioapic override iommu/irq_remapping: Fix the regression of hpet irq remapping iommu: Fix bus notifier breakage iommu/amd: Split init_iommu_group() from iommu_init_device() iommu: Rework iommu_group_get_for_pci_dev() iommu: Make of_device_id array const amd_iommu: do not dereference a NULL pointer address. iommu/omap: Remove omap_iommu unused owner field iommu: Remove iommu_domain_has_cap() API function IB/usnic: Convert to use new iommu_capable() API function vfio: Convert to use new iommu_capable() API function kvm: iommu: Convert to use new iommu_capable() API function iommu/tegra: Convert to iommu_capable() API function iommu/msm: Convert to iommu_capable() API function iommu/vt-d: Convert to iommu_capable() API function iommu/fsl: Convert to iommu_capable() API function ...
Diffstat (limited to 'virt')
-rw-r--r--virt/kvm/iommu.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/virt/kvm/iommu.c b/virt/kvm/iommu.c
index e723bb91aa34..e51d9f9b995f 100644
--- a/virt/kvm/iommu.c
+++ b/virt/kvm/iommu.c
@@ -191,8 +191,7 @@ int kvm_assign_device(struct kvm *kvm,
191 return r; 191 return r;
192 } 192 }
193 193
194 noncoherent = !iommu_domain_has_cap(kvm->arch.iommu_domain, 194 noncoherent = !iommu_capable(&pci_bus_type, IOMMU_CAP_CACHE_COHERENCY);
195 IOMMU_CAP_CACHE_COHERENCY);
196 195
197 /* Check if need to update IOMMU page table for guest memory */ 196 /* Check if need to update IOMMU page table for guest memory */
198 if (noncoherent != kvm->arch.iommu_noncoherent) { 197 if (noncoherent != kvm->arch.iommu_noncoherent) {
@@ -254,8 +253,7 @@ int kvm_iommu_map_guest(struct kvm *kvm)
254 } 253 }
255 254
256 if (!allow_unsafe_assigned_interrupts && 255 if (!allow_unsafe_assigned_interrupts &&
257 !iommu_domain_has_cap(kvm->arch.iommu_domain, 256 !iommu_capable(&pci_bus_type, IOMMU_CAP_INTR_REMAP)) {
258 IOMMU_CAP_INTR_REMAP)) {
259 printk(KERN_WARNING "%s: No interrupt remapping support," 257 printk(KERN_WARNING "%s: No interrupt remapping support,"
260 " disallowing device assignment." 258 " disallowing device assignment."
261 " Re-enble with \"allow_unsafe_assigned_interrupts=1\"" 259 " Re-enble with \"allow_unsafe_assigned_interrupts=1\""