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

Re: Keystone Issue





On 03/06/2020 18:13, CodeWiz2280 wrote:
Hi Julien,

Hello,

In general, we avoid top post on xen-devel, instead we reply inline. I believe gmail should allow you to do it :).


The offset is already applied to the memory nodes in the device tree, meaning a direct Linux boot from uboot would have only the 36-bit addresses in the device tree (0x8_0000_0000 and 0x8_8000_0000).  Linux would start executing from a 32-bit address space however and then switch over to the aliased 36-bit addresses in the device tree as discussed below by early_paging_init().

I had to add the 32-bit memory node 0x8000_0000 in uboot in place of the 0x8_0000_0000 node otherwise Xen would detect the 32-bit processor and panic on "Unable to detect the first memory bank" in domain_build.c.

So for 32-bit Xen requires to have the first bank below 4GB. This is because you can't boot from a physical address above 32-bit.

Obviously, this check wouldn't work on your platform because all your memory will be above 4GB.

If I leave only the 36-bit addresses in the device tree and skip past the panic check in domain_build.c, then I could not get the dom0 kernel to boot at all.  I believe I would only see "Serial input to DOM0" and nothing else at that point.

Which would make sense per above.


Yes, leaving LPAE support on for the kernel is preferred.

Ok, so the solution I suggested below should work. Unfortunately, I don't have time to work on it. Although, I would be more than happy to answers questions and reviewing the patches.

Would you be willing to have a try to implement it?

Cheers,

--
Julien Grall



 


Rackspace

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