KVM: Mapping IOMMU pages after updating memslot
authorYang Zhang <yang.z.zhang@Intel.com>
Thu, 24 Oct 2013 01:56:39 +0000 (09:56 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 28 Oct 2013 12:15:01 +0000 (13:15 +0100)
commite0230e1327fb862c9b6cde24ae62d55f9db62c9b
tree9579c57cd5b9f886fe6a8d1400d87560ec28d646
parenta294c9bbd0dd0dea415a0ee5b8ee9c07f65f5496
KVM: Mapping IOMMU pages after updating memslot

In kvm_iommu_map_pages(), we need to know the page size via call
kvm_host_page_size(). And it will check whether the target slot
is valid before return the right page size.
Currently, we will map the iommu pages when creating a new slot.
But we call kvm_iommu_map_pages() during preparing the new slot.
At that time, the new slot is not visible by domain(still in preparing).
So we cannot get the right page size from kvm_host_page_size() and
this will break the IOMMU super page logic.
The solution is to map the iommu pages after we insert the new slot
into domain.

Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
Tested-by: Patrick Lu <patrick.lu@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
virt/kvm/kvm_main.c