xen-devel
RE: [Xen-devel] 2.6.32.27 dom0 + latest xen staging boot failure
On Tue, 15 Feb 2011, Kay, Allen M wrote:
> The failure occurs when dom0 tries to pin an l1 table entry because L1 table
> entry for the failed address is garbage. The memory range being pinned is in
> the range of this extra balloon driver memory not backed by real RAM. Is
> this intended?
>
The pfn in question is returned by alloc_low_page and is equal to
e820_table_end, that should fall into the range
e820_table_start-e820_table_top.
This range is allocated by find_early_table_space in the initial
pagetable mappings between 0x8000 and max_pfn_mapped, respecting the
reserved memblock regions.
Maybe we didn't reserve some ranges in there that should have been
reserved?
What happen you apply this patch?
diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
index 5e92b61..73a21db 100644
--- a/arch/x86/xen/mmu.c
+++ b/arch/x86/xen/mmu.c
@@ -1653,9 +1653,6 @@ static __init void xen_map_identity_early(pmd_t *pmd,
unsigned long max_pfn)
for (pteidx = 0; pteidx < PTRS_PER_PTE; pteidx++, pfn++) {
pte_t pte;
- if (pfn > max_pfn_mapped)
- max_pfn_mapped = pfn;
-
if (!pte_none(pte_page[pteidx]))
continue;
@@ -1713,6 +1710,8 @@ __init pgd_t *xen_setup_kernel_pagetable(pgd_t *pgd,
pud_t *l3;
pmd_t *l2;
+ max_pfn_mapped = PFN_DOWN(__pa(xen_start_info->mfn_list));
+
/* Zap identity mapping */
init_level4_pgt[0] = __pgd(0);
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|