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

Re: [Xen-devel] xen arm64 dom0 question





On 02/09/16 12:27, Peng Fan wrote:
Hi Julien, Stefano

Hi Peng,


On My ARM64 platform, there is 6GB memory.
0x80000000 - 0xfffffff: 2GB
0x880000000 - 0x9ffffffff: 4GB

xen will alloc 1:1 mapping for Dom0 memory, so if I assign dom0_mem with a 
bigger
value, saying 2048MB or bigger. xen will alloc continus memory from higher 
address
space in the higer 4GB.

But the SD controller in my ARM64 platform has a limitation that it can only
access 32bit address space. So if Dom0 memory is at higher 4GB, SD controller
can not work as expected, because it only works when the dma address is 32bit
address.

So, Can we assign a hole in lower 32bit address space for Dom0 guest physical
memory, just as DomU? Dynamically find out a hole and size 128MB or bigger?
Or do you have any ideas?

Looking at the allocation code (allocate_memory in arch/arm/domain_build.c), Xen is trying to allocate as much memory as possible below 4GB for 32-bit domain to accommodate non-LPAE kernel.

We haven't though about devices that can only handle 32-bit address at that time. I think replacing "lowmen = is_32bit_domain(d)" by "lowmem = true" should do the job.

Note that, a proper upstream patch would require to modify the description of the function and potentially kill lowmen (or gate it with a command line parameter?).

Regards,

--
Julien Grall

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

 


Rackspace

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