On Saturday 12 June 2010 19:21:42 Sheng Yang wrote: > Commit a99c47a2 "intel-iommu: errors with smaller iommu widths" replace the > dmar_domain->pgd with the first entry of page table when iommu's supported > width is smaller than dmar_domain's. But it use physical address directly > for new dmar_domain->pgd... > > This result in KVM oops with VT-d on some machines. BTW: I think this need to be queued for 2.6.35-rc as well. -- regards Yang, Sheng > > Reported-by: Allen Kay <allen.m.kay@xxxxxxxxx> > Cc: Tom Lyon <pugs@xxxxxxxxx> > Signed-off-by: Sheng Yang <sheng@xxxxxxxxxxxxxxx> > --- > drivers/pci/intel-iommu.c | 3 ++- > 1 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c > index 796828f..3bd3055 100644 > --- a/drivers/pci/intel-iommu.c > +++ b/drivers/pci/intel-iommu.c > @@ -3603,7 +3603,8 @@ static int intel_iommu_attach_device(struct > iommu_domain *domain, pte = dmar_domain->pgd; > if (dma_pte_present(pte)) { > free_pgtable_page(dmar_domain->pgd); > - dmar_domain->pgd = (struct dma_pte *)dma_pte_addr(pte); > + dmar_domain->pgd = (struct dma_pte *) > + phys_to_virt(dma_pte_addr(pte)); > } > dmar_domain->agaw--; > } -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html