WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] Crash on boot with 2.6.37-rc8-git3

To: M A Young <m.a.young@xxxxxxxxxxxx>
Subject: Re: [Xen-devel] Crash on boot with 2.6.37-rc8-git3
From: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Mon, 24 Jan 2011 19:04:04 +0000
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Delivery-date: Mon, 24 Jan 2011 11:03:57 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <alpine.LFD.2.02.1101212024460.7991@xxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <alpine.LFD.2.02.1101072034080.9613@xxxxxxxxxxxxxxx> <20110107212359.GA22976@xxxxxxxxxxxx> <alpine.LFD.2.02.1101080007020.8723@xxxxxxxxxxxxxxx> <20110110184225.GB9837@xxxxxxxxxxxx> <alpine.LFD.2.02.1101180027120.16611@xxxxxxxxxxxxxxx> <alpine.LFD.2.02.1101192249200.30335@xxxxxxxxxxxxxxx> <20110120192434.GA10001@xxxxxxxxxxxx> <alpine.LFD.2.02.1101202223370.13928@xxxxxxxxxxxxxxx> <20110121152751.GA4156@xxxxxxxxxxxx> <alpine.LFD.2.02.1101212024460.7991@xxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Alpine 2.00 (DEB 1167 2008-08-23)
I have a work-in-progress patch that fixes a booting issue on one of my
testboxes. Could you please give it a try, passing dom0_mem=700M to the
Xen command line?



diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c
index 947f42a..ebc0221 100644
--- a/arch/x86/mm/init.c
+++ b/arch/x86/mm/init.c
@@ -291,10 +291,23 @@ unsigned long __init_refok init_memory_mapping(unsigned 
long start,
                 * located on different 2M pages. cleanup_highmap(), however,
                 * can only consider _end when it runs, so destroy any
                 * mappings beyond _brk_end here.
+                * Be careful not to go over _end.
                 */
                pud = pud_offset(pgd_offset_k(_brk_end), _brk_end);
                pmd = pmd_offset(pud, _brk_end - 1);
-               while (++pmd <= pmd_offset(pud, (unsigned long)_end - 1))
+               while (++pmd < pmd_offset(pud, (unsigned long)_end - 1))
+                       pmd_clear(pmd);
+               if (((unsigned long)_end) & ~PMD_MASK) {
+                       pte_t *pte;
+                       unsigned long addr;
+                       for (addr = ((unsigned long)_end) & PMD_MASK;
+                                       addr < ((unsigned long)_end);
+                                       addr += PAGE_SIZE) {
+                               pte = pte_offset_map(pmd, addr);
+                               pte_clear(&init_mm, addr, pte);
+                               pte_unmap(pte);
+                       }
+               } else
                        pmd_clear(pmd);
        }
 #endif

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel