From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony Liguori Subject: Re: [PATCH] KVM: PCIPT: VT-d: fix guest unmap Date: Tue, 17 Jun 2008 16:29:52 -0500 Message-ID: <48582CD0.5060109@codemonkey.ws> References: <1213729526-10410-1-git-send-email-benami@il.ibm.com> <1213729526-10410-2-git-send-email-benami@il.ibm.com> <1213729526-10410-3-git-send-email-benami@il.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: amit.shah@qumranet.com, weidong.han@intel.com, muli@il.ibm.com, raharper@us.ibm.com, kvm@vger.kernel.org To: benami@il.ibm.com Return-path: Received: from yw-out-2324.google.com ([74.125.46.31]:49977 "EHLO yw-out-2324.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756020AbYFQVaP (ORCPT ); Tue, 17 Jun 2008 17:30:15 -0400 Received: by yw-out-2324.google.com with SMTP id 9so3533088ywe.1 for ; Tue, 17 Jun 2008 14:30:10 -0700 (PDT) In-Reply-To: <1213729526-10410-3-git-send-email-benami@il.ibm.com> Sender: kvm-owner@vger.kernel.org List-ID: I think the current VT-d code needs some reworking. We should build the table as the shadow page table gets built. We should suppress iotlb flushes unless the table is actually being updated. Regards, Anthony Liguori benami@il.ibm.com wrote: > From: Han Weidong > > Signed-off-by: Ben-Ami Yassour > --- > arch/x86/kvm/vtd.c | 2 +- > drivers/pci/intel-iommu.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/x86/kvm/vtd.c b/arch/x86/kvm/vtd.c > index c2d9192..be775cd 100644 > --- a/arch/x86/kvm/vtd.c > +++ b/arch/x86/kvm/vtd.c > @@ -157,7 +157,7 @@ int kvm_iommu_unmap_guest(struct kvm *kvm) > struct kvm_pci_pt_dev_list *entry; > struct pci_dev *pdev = NULL; > > - if (kvm->arch.domain) > + if (!kvm->arch.domain) > return 0; > > list_for_each_entry(entry, &kvm->arch.pci_pt_dev_head, list) { > diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c > index d927a13..930874f 100644 > --- a/drivers/pci/intel-iommu.c > +++ b/drivers/pci/intel-iommu.c > @@ -2483,7 +2483,7 @@ EXPORT_SYMBOL_GPL(kvm_intel_iommu_page_mapping); > > void kvm_intel_iommu_detach_dev(struct dmar_domain *domain, u8 bus, u8 devfn) > { > - kvm_intel_iommu_detach_dev(domain, bus, devfn); > + detach_domain_for_dev(domain, bus, devfn); > } > EXPORT_SYMBOL_GPL(kvm_intel_iommu_detach_dev); > >