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

Re: [Xen-devel] Xen-unstable PVHdom0: Assertion 'IS_ALIGNED(dfn_x(dfn), (1ul << page_order))' failed at iommu.c:324



On Fri, Feb 08, 2019 at 05:15:22PM +0100, Sander Eikelenboom wrote:
> On 08/02/2019 16:10, Roger Pau Monné wrote:
> > On Fri, Jan 25, 2019 at 07:44:40PM +0100, Sander Eikelenboom wrote:
> >> On 25/01/2019 15:38, Roger Pau Monné wrote:
> >>> On Thu, Jan 24, 2019 at 01:04:31PM +0100, Roger Pau Monné wrote:
> >>> Sorry, fixing that error took longer than expected, and requires
> >>> modifying quite a lot of code, so I'm not sure whether it's something
> >>> to consider for 4.12, I have to think about it.
> >>
> >> I understand, especially since PVH dom0 is marked as experimental.
> >>
> >>> In the meantime, can you please test the following branch:
> >>>
> >>> git://xenbits.xen.org/people/royger/xen.git iommu-fixes-v2
> >>>
> >>> I've been able to successfully create a PVH guest from a PVH dom0 on
> >>> AMD hardware using this branch.
> >>
> >> On the other hand, with a quick test I can confirm that booting a PVH 
> >> guest from a PVH dom0 now works for me as well ! 
> >> (and booting this build as PV dom0, with my normal PVH/HVM mix of guests 
> >> still works, no regressions for me so far)
> 
> 
>  
> > Sorry for bothering you again, but could you give the following branch
> > a test:
> 
> No problem, happy to keep testing until it works and is in good enough shape 
> to get committed.
> 
> And fortunately you asked, because unfortunately it doesn't boot as pvhdom0, 
> serial log is attached.

Thanks!

Can you try with the following debug patch on top? This should print a
message before hitting the assert, hopefully giving us more
information.

Roger.

---8<---
diff --git a/xen/arch/x86/mm/p2m-pt.c b/xen/arch/x86/mm/p2m-pt.c
index 5ad7a36269..bf647e7d26 100644
--- a/xen/arch/x86/mm/p2m-pt.c
+++ b/xen/arch/x86/mm/p2m-pt.c
@@ -648,8 +648,13 @@ p2m_pt_set_entry(struct p2m_domain *p2m, gfn_t gfn_, mfn_t 
mfn,
                    !rangeset_overlaps_range(mmio_ro_ranges, mfn_x(mfn),
                                             mfn_x(mfn) + PFN_DOWN(MB(2))));
         else
+        {
+            if ( !mfn_valid(mfn) && (!mfn_eq(mfn, INVALID_MFN) ||
+                                     !p2m_allows_invalid_mfn(p2mt)) )
+                printk("mfn: %#lx type: %d\n", mfn_x(mfn), p2mt);
             ASSERT(mfn_valid(mfn) || (mfn_eq(mfn, INVALID_MFN) &&
                                       p2m_allows_invalid_mfn(p2mt)));
+        }
         l2e_content = mfn_valid(mfn) || p2m_allows_invalid_mfn(p2mt)
             ? p2m_l2e_from_pfn(mfn_x(mfn),
                                p2m_type_to_flags(p2m, p2mt, mfn, 1))


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

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