diff --git a/xen/arch/arm/arm64/mmu/mm.c b/xen/arch/arm/arm64/mmu/mm.c index 27327b11db..c1eb13219c 100644 --- a/xen/arch/arm/arm64/mmu/mm.c +++ b/xen/arch/arm/arm64/mmu/mm.c @@ -226,6 +226,7 @@ static void __init setup_directmap_mappings(unsigned long base_mfn, (base_mfn - mfn_gb) * PAGE_SIZE; } + printk("DEBUG %s %d base_mfn=%lx nr_mfns=%lx directmap_base_pdx=%lx mfn_to_pdx=%lx\n",__func__,__LINE__,base_mfn,nr_mfns,directmap_base_pdx,(unsigned long)mfn_to_pdx(_mfn(base_mfn))); if ( base_mfn < mfn_x(directmap_mfn_start) ) panic("cannot add directmap mapping at %lx below heap start %lx\n", base_mfn, mfn_x(directmap_mfn_start)); @@ -233,6 +234,7 @@ static void __init setup_directmap_mappings(unsigned long base_mfn, rc = map_pages_to_xen((vaddr_t)__mfn_to_virt(base_mfn), _mfn(base_mfn), nr_mfns, PAGE_HYPERVISOR_RW | _PAGE_BLOCK); + printk("DEBUG %s %d base_mfn=%lx nr_mfns=%lx directmap_base_pdx=%lx\n",__func__,__LINE__,base_mfn,nr_mfns,directmap_base_pdx); if ( rc ) panic("Unable to setup the directmap mappings.\n"); } @@ -247,6 +249,7 @@ void __init setup_mm(void) init_pdx(); + printk("DEBUG %s %d\n",__func__,__LINE__); /* * We need some memory to allocate the page-tables used for the directmap * mappings. But some regions may contain memory already allocated @@ -267,19 +270,24 @@ void __init setup_mm(void) ram_start = min(ram_start, bank->start); ram_end = max(ram_end, bank_end); + printk("DEBUG %s %d start=%lx size=%lx ram_end=%lx directmap_base_pdx=%lx\n",__func__,__LINE__,bank->start,bank->size,ram_end, directmap_base_pdx); setup_directmap_mappings(PFN_DOWN(bank->start), PFN_DOWN(bank->size)); } + printk("DEBUG %s %d\n",__func__,__LINE__); total_pages += ram_size >> PAGE_SHIFT; directmap_virt_end = XENHEAP_VIRT_START + ram_end - ram_start; directmap_mfn_start = maddr_to_mfn(ram_start); directmap_mfn_end = maddr_to_mfn(ram_end); + printk("DEBUG %s %d\n",__func__,__LINE__); max_page = PFN_DOWN(ram_end); + printk("DEBUG %s %d\n",__func__,__LINE__); init_frametable(); + printk("DEBUG %s %d\n",__func__,__LINE__); init_staticmem_pages(); init_sharedmem_pages(); diff --git a/xen/arch/arm/mmu/mm.c b/xen/arch/arm/mmu/mm.c index 69617a4986..c31ef3255b 100644 --- a/xen/arch/arm/mmu/mm.c +++ b/xen/arch/arm/mmu/mm.c @@ -25,6 +25,7 @@ init_frametable_chunk(unsigned long pdx_s, unsigned long pdx_e) base_mfn = alloc_boot_pages(chunk_size >> PAGE_SHIFT, 32 << (20 - 12)); virt = (unsigned long)pdx_to_page(pdx_s); + printk("DEBUG %s %d virt=%lx base_mfn=%lx pfn_start=%lx pfn_end=%lx\n",__func__,__LINE__,(unsigned long)virt,mfn_x(base_mfn),mfn_x(pdx_to_mfn(pdx_s)),mfn_x(pdx_to_mfn(pdx_e))); rc = map_pages_to_xen(virt, base_mfn, chunk_size >> PAGE_SHIFT, PAGE_HYPERVISOR_RW | _PAGE_BLOCK); if ( rc ) @@ -64,6 +65,7 @@ void __init init_frametable(void) if ( nidx >= max_idx ) break; + printk("DEBUG %s %d start=%lx end=%lx\n",__func__,__LINE__,mfn_x(pdx_to_mfn(sidx * PDX_GROUP_COUNT)),mfn_x(pdx_to_mfn(eidx * PDX_GROUP_COUNT))); init_frametable_chunk(sidx * PDX_GROUP_COUNT, eidx * PDX_GROUP_COUNT); } diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c index c9ad6bbab6..1f5c1866c4 100644 --- a/xen/arch/arm/setup.c +++ b/xen/arch/arm/setup.c @@ -291,6 +291,7 @@ void __init init_pdx(void) bank_size = mem->bank[bank].size; bank_end = bank_start + bank_size; + printk("DEBUG %s %d start=%lx end=%lx\n",__func__,__LINE__,bank_start,bank_end); set_pdx_range(paddr_to_pfn(bank_start), paddr_to_pfn(bank_end)); }