[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-users] ARM: Xen on Vexpress
On 06/11/2014 04:10 PM, Ian Campbell wrote: > On Wed, 2014-06-11 at 16:02 +0100, Jeenu Viswambharan wrote: >>>> Xen is now launching DOM0. But next issue I'm now facing is that >>>> Linux refusing to run when loaded at 0xa0008000 - it panics and >>>> complains about failing to allocate memory in >>>> mm/memblock.c:memblock_alloc_base(). FWIW, I've built the kernel >>>> v3.14 with vexpress_defconfig and enabled Xen and highmem support. >>>> The kernel however is happy to boot when loaded at 0x80008000 >>>> (without Xen). The same with Xen though, the kernel reports >>>> 'uncompression error'. >>>> >>>> It's little to do with Xen, but are there any other options required >>>> to be enabled in the DOM0 Kernel to run from 0xa0008000? >>> >>> Your kernel needs to be relocatable. I'm not 100% which option that is >>> (perhaps CONFIG_ARM_PATCH_PHYS_VIRT) but if you build a multiplatform >>> kernel (CONFIG_ARCH_MULTIPLATFORM) it certainly will be. >> >> Just found out that both of the configs are enabled in my build, and >> I've no idea what's going on. >> >> Like I said, when loaded at 0xa0008000, the kernel didn't boot neither >> on bare metal nor Xen. But at 0x80008000, the kernel was happy to boot >> bare metal but not with Xen. Does Xen care where the kernel is, as long >> as the kernel is happy to execute from wherever it's loaded? > > The kernel wants to be loaded within 128M of the start of RAM. Does > 0xa0008000 meet that? What is loading the kernel there -- I don't think > Xen will (it knows about the 128MB thing). How much RAM does your > vexpress have? Is 0xa0008000 even in RAM on a vexpress? I thought it had > up to 1GB at 0x60000000-0xa0000000. The versatile express memory range starts at 0x8000000. So the address gave by Jeenu looks ok to me. > And just to be clear we are talking about the load address of the kernel > within the dom0 IPA space, aren't we? Not the host address where the > kernel is loaded to be passed to Xen (it doesn't matter what that is > really). I remembered to had a similar issue on the Arndale a while a go. Linux is unable to allocate memory because either: 1) Linux is considering your memory is part of highmem 2) virt-phys is again bogus? I think we can safely ignore the latter one as Xen 4.4 has a workaround to avoid it (see commit 6c21cb3 which as been revered on upstream). For the former one, Linux is checking the memory in sanity_check_meminfo (arch/arm/mm/mmu.c). You might want to check if you have in your log message such as "Ignoring RAM"/"Truncating RAM". Regards, -- Julien Grall _______________________________________________ Xen-users mailing list Xen-users@xxxxxxxxxxxxx http://lists.xen.org/xen-users
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |