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

Re: [Xen-devel] Dom0 kernel panic when porting xen to new arm soc



On 22/06/15 12:17, Peng Fan wrote:
> I add debug log in this piece of code:
> void __init sanity_check_meminfo(void)
> 
> {
> 
> phys_addr_t memblock_limit = 0;
> int i, j, highmem = 0;
> phys_addr_t vmalloc_limit = __pa(vmalloc_min - 1) + 1;
> 
> 
> printk("vmalloc_min virt %x phys %x\n", vmalloc_min - 1,
> __pa(vmalloc_min - 1));
> printk("vmalloc_limit %x\n", vmalloc_limit);
> 
> If use 512M for Dom0, I found vmalloc_limit is 0xf800000, vmalloc_min is
> 0xef800000, This comes to a question, why __pa(vmalloc_min - 1) + will
> make vmalloc_limit only 0xf800000 which is less than 128M. the pv stub
> does some runtime fixup for virt_to_phys here.
> Since vmalloc_limit is small, then all other memory bank in my platform
> is recoginied as highmem, then arm_lowmem_limit is 0, then kernel panic:
> "
> dma_contiguous_reserve_area(size 1800000, base 00000000, limit 00000000)
> CMA: failed to reserve 32 MiB
> Memory policy: Data cache writealloc
> Kernel panic - not syncing: ERROR: Failed to allocate 0x2000 bytes below
> 0x0.
> "
> 0xffffffff - 0xef8000000 is about 264M. So I choose 256M as the Dom0
> memory size. I do not have clear idea about this, current I am trying to
> use xl to boot DomU, so just use 256M for Dom0 here.

There use to be some issue with the way how the offset between physical
and virtual address was computed.

Do you use LPAE or short page table? Can you provide the xen log when
DOM0 is using 512MB?

Regards,

-- 
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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