[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Xen-unstable-staging: Xen BUG at iommu_map.c:455



On 31/03/2015 22:11, Sander Eikelenboom wrote:
> Hi all,
>
> I just tested xen-unstable staging (changeset: git:0522407-dirty) 
>
> with revert of commit 1aeb1156fa43fe2cd2b5003995b20466cd19a622
> (due to an already reported but not yet resolved issue)
>
> and build with qemu xen from 
> git://xenbits.xen.org/staging/qemu-upstream-unstable.git
> (to include the pci command register patch from Jan)
>
>
> and now came across this new splat when starting an HVM with PCI passtrhough:

Wow - you are getting all the fun bugs at the moment!

Nothing has changed in the AMD IOMMU driver for a while, but the
BUG_ON() is particularly unhelpful at identifying what went wrong.

As a first pass triage, can you rerun with

diff --git a/xen/drivers/passthrough/amd/iommu_map.c
b/xen/drivers/passthrough/amd/iommu_map.c
index 495ff5c..f15c324 100644
--- a/xen/drivers/passthrough/amd/iommu_map.c
+++ b/xen/drivers/passthrough/amd/iommu_map.c
@@ -451,8 +451,9 @@ static int iommu_pde_from_gfn(struct domain *d,
unsigned long pfn,
     table = hd->arch.root_table;
     level = hd->arch.paging_mode;

-    BUG_ON( table == NULL || level < IOMMU_PAGING_MODE_LEVEL_1 ||
-            level > IOMMU_PAGING_MODE_LEVEL_6 );
+    BUG_ON(table == NULL);
+    BUG_ON(level < IOMMU_PAGING_MODE_LEVEL_1);
+    BUG_ON(level > IOMMU_PAGING_MODE_LEVEL_6);

     next_table_mfn = page_to_mfn(table);

which will help identify which of the conditions is failing.

Can you please also provide the full serial log, including iommu=debug?

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.