On Thursday 10 July 2008 17:14:42 Ben-Ami Yassour wrote: > From: Kay, Allen M <[EMAIL PROTECTED]> > > This patch includes the functions to support VT-d for passthrough > devices. > > [Ben: fixed memory pinning] > > Signed-off-by: Kay, Allen M <[EMAIL PROTECTED]> > Signed-off-by: Weidong Han <[EMAIL PROTECTED]> > Signed-off-by: Ben-Ami Yassour <[EMAIL PROTECTED]> > --- > arch/x86/kvm/Makefile | 2 +- > arch/x86/kvm/vtd.c | 176 > ++++++++++++++++++++++++++++++++++++++++++++ arch/x86/kvm/x86.c > | 10 +++ > include/asm-x86/kvm_host.h | 1 + > include/linux/kvm_host.h | 6 ++ > virt/kvm/kvm_main.c | 6 ++ > 6 files changed, 200 insertions(+), 1 deletions(-) > create mode 100644 arch/x86/kvm/vtd.c > > diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c > index 531d635..dc67d90 100644 > --- a/virt/kvm/kvm_main.c > +++ b/virt/kvm/kvm_main.c > @@ -41,6 +41,7 @@ > #include <linux/pagemap.h> > #include <linux/mman.h> > #include <linux/swap.h> > +#include <linux/intel-iommu.h> > > #include <asm/processor.h> > #include <asm/io.h> > @@ -422,6 +423,11 @@ int __kvm_set_memory_region(struct kvm *kvm, > } > > kvm_free_physmem_slot(&old, &new); > + > + /* map the pages in iommu page table */ > + if (intel_iommu_found()) > + kvm_iommu_map_pages(kvm, base_gfn, npages); > +
I don't understand why we need this along with kvm_iommu_map_memslots(). This works during the memory setup, and in kvm_iommu_map_guest() we do it again with the overlapped memory region? I think even if we need pin all pages, we still just need do it once... -- Thanks Yang, Sheng -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
