]> Pileus Git - ~andy/linux/blobdiff - virt/kvm/iommu.c
Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi...
[~andy/linux] / virt / kvm / iommu.c
index 4a340cb230134bd7fb15b62545ff8b5245ecbfa2..72a130bc448aa97adb1ca35a2dfff09a102b717d 100644 (file)
@@ -76,7 +76,9 @@ int kvm_iommu_map_pages(struct kvm *kvm, struct kvm_memory_slot *slot)
        gfn     = slot->base_gfn;
        end_gfn = gfn + slot->npages;
 
-       flags = IOMMU_READ | IOMMU_WRITE;
+       flags = IOMMU_READ;
+       if (!(slot->flags & KVM_MEM_READONLY))
+               flags |= IOMMU_WRITE;
        if (kvm->arch.iommu_flags & KVM_IOMMU_CACHE_COHERENCY)
                flags |= IOMMU_CACHE;