From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mukesh Rathor Subject: PV domU with 255GB boot failure Date: Mon, 16 Feb 2009 20:00:41 -0800 Message-ID: <499A3669.6020605@oracle.com> Reply-To: mukesh.rathor@oracle.com Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org Hi, Trying to boot a PV 64bit guest with 255GB mem it hangs in extend_init_mapping() in init-xen.c. The hang is in the loop: /* Finally, blow away any spurious initial mappings. */ while (1) { pmd = (pmd_t *)&page[pmd_index(va)]; if (pmd_none(*pmd)) break; HYPERVISOR_update_va_mapping(va, __pte_ma(0), 0); va += PAGE_SIZE; } More details: tables_space : 0x1ff05000 __START_KERNEL_map == 0xffffffff80000000 &_text == 0xffffffff80200000 start_pfn == 0x20cf8 The va going into above loop is 0xffffffffc0cf5000. This is L3 at 511 which is NULL and so bad things happening. I'm still trying to figure where the initial PTEs are being setup, I don't see in hypervisor, my fear is libxc, or worse python :).... Could the fix be made in the loop above the above mentioned loop in the function where it's ensuring init mappings cover kernel+tables to check for pud also? /* Ensure init mappings cover kernel text/data and initial * tables. */ while (va < (__START_KERNEL_map + (start_pfn << PAGE_SHIFT) + tables_space)) { check for pud_none() <======= ???????????? pmd = (pmd_t *)&page[pmd_index(va)]; if (pmd_none(*pmd)) { pte_page = alloc_static_page(&phys); ................ Thanks a lot, Mukesh