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

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



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


 


Rackspace

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